簡體   English   中英

Android-將數據添加到Firebase數據庫

[英]Android - Adding data to firebase database

我正在開發一個以firebase為數據庫的android應用程序。 我想按一下button插入一些數據,但是我想插入數據庫中的某些對象放在片段中的不同方法中。 如何使用同一按鈕通過不同方法將數據插入數據庫?

public class mFragment extends Fragment implements 
DateFragment.DatePickerEvent {

DatabaseReference database;
FirebaseAuth mAuth;
EditText text1;
EditText text2;

@Override
public void onDateSelected(String date) {
    Button buttonDateText = (Button) getView().findViewById(R.id.buttonDate);
    buttonDateText.setText(date);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.fragment_frag, container, false);
    database = FirebaseDatabase.getInstance().getReference("Persons");
    mAuth = FirebaseAuth.getInstance();
    final FirebaseUser user = mAuth.getCurrentUser();


    Button pickDateButton = (Button) rootView.findViewById(R.id.buttonDate);
    Button submitButton = (Button) rootView.findViewById(R.id.buttonSubmit);
    text1= (EditText) rootView.findViewById(R.id.oddsView);
    text2= (EditText) rootView.findViewById(R.id.betAmountView);

    pickDateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            DateFragment picker = new DateFragment();
            picker.setDatePickerEvents(mFragment.this);
            picker.show(getFragmentManager(), "datePicker");
        }
    });

    submitButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            database.child("Person").addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    String myText= text1.getText().toString().trim();
                    String myAnotherText= text2.getText().toString().trim();
                    String id = database.push().getKey();
                    database.child(user.getDisplayName()).child(id).child("Adress").setValue(myText);
                    database.child(user.getDisplayName()).child(id).child("name").setValue(myAnotherText);
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });
        }
    });
    return rootView;
}


}

您可以使用實例變量。 像這樣:

public class MyFrag extends Fragment {
    private Object obj1, obj2;
    private void method1() {
        obj1 = new Object();
    } 
    private void method2() {
        obj2 = new Object();
    }
    private void doSomething() {
        // obj1 and obj2 are available here
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM