Android 使用user.getUid的firebase数据
大家好,当我登录时,如何将数据发送到firebase希望看到与其他帐户不同的信息现在我看到了我发送的保存数据。这是一个代码: 这是我的活动类别活动Android 使用user.getUid的firebase数据,android,Android,大家好,当我登录时,如何将数据发送到firebase希望看到与其他帐户不同的信息现在我看到了我发送的保存数据。这是一个代码: 这是我的活动类别活动 public class Activity_category extends Activity { class Layout{ Layout(){ textView2= (TextView)findViewById(R.id.textView2); listview1=(
public class Activity_category extends Activity {
class Layout{
Layout(){
textView2= (TextView)findViewById(R.id.textView2);
listview1=(RecyclerView)findViewById(R.id.listview1);
registerForContextMenu(listview1);
}
TextView textView2;
RecyclerView listview1;
}
class Events{
Events(){
firebaseDatabase = FirebaseDatabase.getInstance();
myRef = FirebaseDatabase.getInstance().getReference("User_Details");
l.listview1.setLayoutManager(new LinearLayoutManager(Activity_category.this));
Toast.makeText(Activity_category.this, "Wait ! Fetching List...", Toast.LENGTH_SHORT).show();
// l.listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// @Override
// public void onItemClick(AdapterView<?> adapterView, View view, int i, long id) {
// }
// });
}
}
Layout l;
Events e;
FirebaseDatabase firebaseDatabase;
DatabaseReference myRef;
FirebaseRecyclerAdapter<showdataitems, ShowDataViewHolder> mFirebaseAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
l = new Layout(); e = new Events();
}
public Activity_category() {
// Required empty public constructor
}
@Override
public void onStart() {
super.onStart();
//Log.d("LOGGED", "IN onStart ");
mFirebaseAdapter = new FirebaseRecyclerAdapter<showdataitems, ShowDataViewHolder>(showdataitems.class, R.layout.category, ShowDataViewHolder.class, myRef) {
public void populateViewHolder(final ShowDataViewHolder viewHolder, showdataitems model, final int position) {
viewHolder.Image_URL(model.getImage_URL());
viewHolder.Image_Title(model.getImage_Title());
//OnClick Item
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(Activity_category.this);
builder.setMessage("Do you want to Delete this data ?").setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int selectedItems = position;
mFirebaseAdapter.getRef(selectedItems).removeValue();
mFirebaseAdapter.notifyItemRemoved(selectedItems);
l.listview1.invalidate();
onStart();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog dialog = builder.create();
dialog.setTitle("Confirm");
dialog.show();
}
});
}
};
l.listview1.setAdapter(mFirebaseAdapter);
}
//View Holder For Recycler View
public static class ShowDataViewHolder extends RecyclerView.ViewHolder {
private final TextView text1;
private final ImageView imageView3;
public ShowDataViewHolder(final View itemView) {
super(itemView);
imageView3 = (ImageView) itemView.findViewById(R.id.imageView3);
text1 = (TextView) itemView.findViewById(R.id.text1);
}
private void Image_Title(String title) {
text1.setText(title);
}
private void Image_URL(String title) {
// image_url.setImageResource(R.drawable.loading);
Glide.with(itemView.getContext())
.load(title)
.crossFade()
.placeholder(R.drawable.newmenu1)
.thumbnail(0.1f)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView3);
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()){
case 1:
break;
}
return super.onContextItemSelected(item);
}
公共类活动\u类别扩展活动{
班级布局{
布局(){
textView2=(TextView)findViewById(R.id.textView2);
listview1=(RecyclerView)findViewById(R.id.listview1);
registerForContextMenu(listview1);
}
文本视图文本视图2;
RecyclerView列表视图1;
}
班级活动{
事件(){
firebaseDatabase=firebaseDatabase.getInstance();
myRef=FirebaseDatabase.getInstance().getReference(“用户详细信息”);
l、 listview1.setLayoutManager(新的LinearLayoutManager(Activity_category.this));
Toast.makeText(Activity_category.this,“Wait!Fetching List…”,Toast.LENGTH_SHORT.show();
//l.listview1.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
//@覆盖
//public void onItemClick(AdapterView AdapterView、View视图、int i、long id){
// }
// });
}
}
布局图l;
事件e;
FirebaseDatabase FirebaseDatabase;
数据库参考myRef;
FirebaseRecyclerAdapter mFirebaseAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
l=新布局();e=新事件();
}
公共活动(类别){
//必需的空公共构造函数
}
@凌驾
public void onStart(){
super.onStart();
//Log.d(“已登录”、“登录启动”);
mFirebaseAdapter=新的FirebaseRecyclerAdapter(showdataitems.class、R.layout.category、ShowDataViewHolder.class、myRef){
public void populateViewHolder(最终ShowDataViewHolder视图持有人、showdataitems模型、最终int位置){
viewHolder.Image_URL(model.getImage_URL());
viewHolder.Image_Title(model.getImage_Title());
//单选项
viewHolder.itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(最终视图v){
AlertDialog.Builder=新建AlertDialog.Builder(活动\类别.this);
setMessage(“是否要删除此数据?”).setCancelable(false)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
int selectedItems=位置;
mFirebaseAdapter.getRef(selectedItems.removeValue();
mFirebaseAdapter.notifyItemRemoved(selectedItems);
l、 listview1.invalidate();
onStart();
}
})
.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.cancel();
}
});
AlertDialog=builder.create();
对话框。设置标题(“确认”);
dialog.show();
}
});
}
};
l、 listview1.setAdapter(mFirebaseAdapter);
}
//回收器视图的视图支架
公共静态类ShowDataViewHolder扩展了RecyclerView.ViewHolder{
私有最终文本视图文本1;
私有最终图像视图图像视图3;
公共ShowDataViewHolder(最终视图项视图){
超级(项目视图);
imageView3=(ImageView)itemView.findViewById(R.id.imageView3);
text1=(TextView)itemView.findViewById(R.id.text1);
}
私有无效图像标题(字符串标题){
text1.setText(标题);
}
私有无效图像\u URL(字符串标题){
//image_url.setImageResource(R.drawable.load);
Glide.with(itemView.getContext())
.加载(标题)
.crossFade()
.占位符(R.drawable.newmenu1)
.缩略图(0.1f)
.diskCacheStrategy(diskCacheStrategy.ALL)
.into(imageview 3);
}
}
@凌驾
公共布尔值onContextItemSelected(MenuItem项){
AdapterView.AdapterContextMenuInfo信息=(AdapterView.AdapterContextMenuInfo)项。getMenuInfo();
开关(item.getItemId()){
案例1:
打破
}
返回super.onContextItemSelected(项目);
}
这是我的上传信息活动
public class Uploadinfo extends Activity{
class Layout{
Layout(){
menuBtn= (Button)findViewById(R.id.menuBtn);
cancelBtn= (Button)findViewById(R.id.cancelBtn);
btnAddimage= (Button)findViewById(R.id.btnAddimage);
imageView= (ImageView)findViewById(R.id.imageView);
editText= (EditText)findViewById(R.id.editText);
}
Button menuBtn , cancelBtn,btnAddimage;
ImageView imageView;
EditText editText;
}
class Events{
Events(){
mProgressDialog = new ProgressDialog(Uploadinfo.this);
l.btnAddimage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
Toast.makeText(getApplicationContext(), "Call for Permission", Toast.LENGTH_SHORT).show();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE);
}
}
else
{
callgalary();
}
}
});
mdatabaseRef = FirebaseDatabase.getInstance().getReference();
mRoofRef = new Firebase("https://restaurant-menu-4bdf2.firebaseio.com/").child("User_Details").push(); // Push will create new child every time we upload data
mStorage = FirebaseStorage.getInstance().getReferenceFromUrl("gs://restaurant-menu-4bdf2.appspot.com/");
l.menuBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String mName = l.editText.getText().toString().trim();
if(mName.isEmpty())
{
Toast.makeText(getApplicationContext(), "Fill all Field", Toast.LENGTH_SHORT).show();
return;
}
Firebase childRef_name = mRoofRef.child("Image_Title");
childRef_name.setValue(mName);
Toast.makeText(getApplicationContext(), "Updated Info", Toast.LENGTH_SHORT).show();
}
});
}
}
Layout l;
Events e;
public static final int READ_EXTERNAL_STORAGE = 0;
private static final int GALLERY_INTENT = 2;
private ProgressDialog mProgressDialog;
private Firebase mRoofRef;
private Uri mImageUri = null;
private DatabaseReference mdatabaseRef;
private StorageReference mStorage;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
l = new Layout(); e = new Events();
}
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case READ_EXTERNAL_STORAGE:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
callgalary();
return;
}
Toast.makeText(getApplicationContext(), "...", Toast.LENGTH_SHORT).show();
}
private void callgalary() {
Intent intent1 = new Intent();
intent1.setType("image/*");
intent1.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent1, "Select Picture"), GALLERY_INTENT);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK) {
mImageUri = data.getData();
l.imageView.setImageURI(mImageUri);
StorageReference filePath = mStorage.child("User_Images").child(mImageUri.getLastPathSegment());
mProgressDialog.setMessage("Uploading Image....");
mProgressDialog.show();
filePath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUri = taskSnapshot.getDownloadUrl(); //Ignore This error
mRoofRef.child("Image_URL").setValue(downloadUri.toString());
Glide.with(getApplicationContext())
.load(downloadUri)
.crossFade()
.placeholder(R.drawable.newmenu1)
.diskCacheStrategy(DiskCacheStrategy.RESULT)
.into( l.imageView);
Toast.makeText(getApplicationContext(), "Updated.", Toast.LENGTH_SHORT).show();
mProgressDialog.dismiss();
}
});
}
}
public类Uploadinfo扩展活动{
班级布局{
布局(){
menuBtn=(按钮)findViewById(R.id.menuBtn);
cancelBtn=(按钮)findViewById(R.id.cancelBtn);
btnAddimage=(按钮)findViewById(R.id.btnAddimage);
imageView=(imageView)findViewById(R.id.imageView);
editText=(editText)findViewById(R.id.editText);
}
按钮菜单ubtn、cancelBtn、btnAddimage;
图像视图图像视图;
编辑文本编辑文本;
}
班级活动{
事件(){
mProgressDialog=newprogressdialog(Uploadinfo.this);
l、 btnAddimage.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){