SetupProfile类
public class SetUpProfile extends AppCompatActivity {
private EditText input_name, input_email, input_status, input_quote;
private ListView list_data;
private ProgressBar circular_progress;
private FirebaseDatabase mFirebaseDatabase;
private DatabaseReference mDatabaseReference;
private List<Users> list_users = new ArrayList<Users>();
private Users selectedUser; // hold user when we select item in listview
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setup_profile);
//Add toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Profile");
setSupportActionBar(toolbar);
//Control
circular_progress = (ProgressBar) findViewById(R.id.circular_progress);
input_name = (EditText) findViewById(R.id.name);
input_email = (EditText) findViewById(R.id.email);
input_status = (EditText) findViewById(R.id.status);
input_quote = (EditText) findViewById(R.id.quote);
Button button = (Button)findViewById(R.id.save);
list_data = (ListView) findViewById(R.id.list_data);
list_data.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@SuppressLint("RestrictedApi")
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Users users = (Users) adapterView.getItemAtPosition(i);
selectedUser = users;
input_name.setText(users.getName());
input_email.setText(users.getEmail());
input_status.setText(users.getStatus());
input_quote.setText(users.getQuote());
}
});
//Firebase
initFirebase();
addEventFirebaseListener();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SetUpProfile.this, HomeScreen.class));
createUser();
}
});
}
private void addEventFirebaseListener() {
//Progressing
circular_progress.setVisibility(View.VISIBLE);
list_data.setVisibility(View.INVISIBLE);
mDatabaseReference.child("users").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (list_users.size() > 0)
list_users.clear();
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Users users = postSnapshot.getValue(Users.class);
list_users.add(users);
}
UsersAdapter adapter = new UsersAdapter(SetUpProfile.this, list_users);
list_data.setAdapter(adapter);
circular_progress.setVisibility(View.INVISIBLE);
list_data.setVisibility(View.VISIBLE);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private void initFirebase() {
FirebaseApp.initializeApp(this);
mFirebaseDatabase = FirebaseDatabase.getInstance();
mDatabaseReference = mFirebaseDatabase.getReference();
}
@SuppressLint("RestrictedApi")
private void createUser() {
@SuppressLint("RestrictedApi") Users user;
user = new Users(UUID.randomUUID().toString(),input_name.getText().toString(),input_email.getText().toString(),input_status.getText().toString(),input_quote.getText().toString());
mDatabaseReference.child("users").child(user.getUid()).setValue(user);
clearEditText();
}
private void clearEditText() {
input_name.setText("");
input_email.setText("");
input_status.setText("");
input_quote.setText("");
}
}
用户类
public class Users {
private String uid;
private String phn;
private int img;
private String name;
private String email;
private String status;
private String quote;
public Users(String s, String toString, String string, String s1, String toString1) {
}
public Users(String uid, String phn, int img, String name, String email, String status, String quote) {
this.uid = uid;// Primary key and key
this.phn = phn;
this.img = img;
this.name = name;
this.email = email;
this.status = status;
this.quote = quote;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getPhn() {
return phn;
}
public void setPhn(String phn) {
this.phn = phn;
}
public int getImg() {
return img;
}
public void setImg(int img) {
this.img = img;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() { return email; }
public void setEmail(String email) {
this.email = email;
}
public String getStatus() { return status; }
public void setStatus(String status) {
this.status = status;
}
public String getQuote() { return quote; }
public void setQuote(String quote) {
this.quote = quote;
}
}
UsersAdapter类
public class UsersAdapter extends BaseAdapter {
Activity activity;
List<Users> lstUsers;
LayoutInflater inflater;
public UsersAdapter(Activity activity, List<Users> lstUsers) {
this.activity = activity;
this.lstUsers = lstUsers;
}
@Override
public int getCount() {
return lstUsers.size();
}
@Override
public Object getItem(int i) {
return lstUsers.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@SuppressLint("RestrictedApi")
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
inflater = (LayoutInflater)activity.getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.users_adapter,null);
TextView txtPhn = (TextView)itemView.findViewById(R.id.list_phn);
TextView txtName = (TextView)itemView.findViewById(R.id.list_name);
TextView txtEmail = (TextView)itemView.findViewById(R.id.list_email);
TextView txtStatus = (TextView)itemView.findViewById(R.id.list_status);
TextView txtQuote = (TextView)itemView.findViewById(R.id.list_quote);
txtPhn.setText(lstUsers.get(i).getPhn());
txtName.setText(lstUsers.get(i).getName());
txtEmail.setText(lstUsers.get(i).getEmail());
txtStatus.setText(lstUsers.get(i).getStatus());
txtQuote.setText(lstUsers.get(i).getQuote());
return itemView;
}
}
我得到一个Null pointerException
java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
at com.google.firebase.database.DatabaseReference.child(Unknown Source)
at com.appmaster.akash.messageplus.SetUpProfile.createUser(SetUpProfile.java:123)
at com.appmaster.akash.messageplus.SetUpProfile.access$500(SetUpProfile.java:26)
at com.appmaster.akash.messageplus.SetUpProfile$2.onClick(SetUpProfile.java:80)
at android.view.View.performClick(View.java:5207)
at android.view.View$PerformClick.run(View.java:21177)
at android.os.Handler.handleCallback(Handler.java:742)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:5527)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
代码好吗?我的意思是如果清除NullPointerException它会工作吗?如果不是建议更改或请链接好。
此外,我希望数据库存储登录时用于进行身份验证的用户的电话号码。登录时没有问题,登录信息存储在firebase身份验证中。如何将电话号码输入数据库?