У меня там код внизу.Я перечисляю телефонные номера в каталоге с ArrayList
и отправляю их в базу данных firebase.Мне нужно создать отдельный ключ для каждого номера телефона и имени.Но я потерпел неудачу.Я пишу базу данных с кодом следующим образом.
{
"ContactPhoneNumbers" : {
"-LcxMT5-D4KvWi3ZbFyi" : {
"-LcxMT5-D4KvWi3ZbFyi" : {
"name" : [ "ambulance", "police" ],
"phone" : [ "112", "155" ]
}
}
}
}
Я буду использовать эту базу данных позже в приложении.Но так не должно быть.Я пишу базу данных, которую хочу создать вручную.Это должно быть так.
{
"ContactPhoneNumbers" : {
"-LcaH_gtgarJwbY5-C08" : {
"LcaH_gtgarAU54FU-C08" : {
"name" : "police",
"phone" : 155
},
"LcaH_gtgayuUU154TY" : {
"name" : "ambulance",
"phone" : 112
}
}
}
}
Я хочу создать собственный ключ для каждого номера телефона и имени.Могу ли я сделать это с моим кодом ниже?Буду признателен, если вы поможете.
Вот UserPermissionActivity
.
public class UserPermissionActivity extends AppCompatActivity {
Cursor cursor;
ArrayList<String> contacts,contacts2;
private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_permission);
FirebaseApp.initializeApp(this);
mDatabase = FirebaseDatabase.getInstance().getReference();
saveContacts();
}
private void saveContacts() {
final String key = mDatabase.push().getKey();
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null, ContactsContract.Contacts.DISPLAY_NAME + " ASC");
contacts = new ArrayList<String>();
contacts2 = new ArrayList<String>();
while (cursor.moveToNext()){
contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contacts.add(contactName);
contacts2.add(phoneNumber);
mDatabase.child("ContactPhoneNumbers").child(key).child(key).child("name").setValue(contacts);
mDatabase.child("ContactPhoneNumbers").child(key).child(key).child("phone").setValue(contacts2);
}
cursor.close();
}
}