私はFirebaseを使用してデータを保存しています。 Firebaseのメソッドとメソッドをアクティビティで分離しようとしています。例えば、私は "FirebaseMethodsHelper"と呼ばれるクラスを作成しました。そこには、すべてのFirebaseメソッドを記述したいと思います。 たとえば、すべてのユーザーをリストに戻す「getAllUsers」メソッド。 唯一の問題は私はそれが動作していないことがあります。Androidのfirebaseがnullになる
私は間違って何をしているのかわかりません。だから皆さん、私を助けてください。
断片
public class MyPlayListFragment extends Fragment {
private FirebaseDatabase refToVideos;
private FirebaseUser currentUser;
private ArrayList<Video> videosList;
private VideoViewAdapter adapter;
private RecyclerView rvVideos;
private List<Video> checkList;
public MyPlayListFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_my_play_list, container, false);
rvVideos = (RecyclerView)v.findViewById(R.id.rvVideos);
return v;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
videosList = new ArrayList<>();
refToVideos = FirebaseDatabase.getInstance();
currentUser = FirebaseAuth.getInstance().getCurrentUser();
FirebaseMethodsHelper fmh = new FirebaseMethodsHelper();
checkList = fmh.getAllVideosFromDB(currentUser);
if(checkList != null)
Log.d("checkList",checkList.toString());
FirebaseMethodHelperクラス
public class FirebaseMethodsHelper {
private FirebaseDatabase databaseRef;
private ArrayList<User> usersList;
private ArrayList<Video> videosList;
public List<Video> getAllVideosFromDB(FirebaseUser currentUser){
databaseRef = FirebaseDatabase.getInstance();
databaseRef.getReference(Params.VIDEOS).child(currentUser.getUid()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
videosList.add(snapshot.getValue(Video.class));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return videosList;
}
}
は、私はなぜ知らないが、それは常にnullを返します。
お返事ありがとうございます。私はそれらのリンクをチェックします! –