如何根据登录的管理员检索数据

时间:2018-01-11 03:35:40

标签: android firebase firebase-realtime-database

我的应用程序有5个不同的学院作为管理员,每个学院都有自己的学术数据。所有大学都使用相同的用户界面和相同的编程逻辑,只是其中的数据正在根据哪所大学登录而变化。我不知道使用什么样的方法为具有相同代码的不同大学创建不同的活动不是优雅的方式也使用继承没有帮助。我是 使用firebase存储和检索数据。任何帮助或建议表示赞赏!

以下是代码:

public class College extends AppCompatActivity {
    private DatabaseReference mDatabase;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mDatabase= FirebaseDatabase.getInstance().getReference().child("College 1");

        mDatabase.child("Alerts").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String alerts = dataSnapshot.getValue(String.class);
                textview.setText(alerts);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

    }
}

这是数据库: Here is the database where data is stored.

1 个答案:

答案 0 :(得分:1)

登录时在本地保存您的用户名,如共享prefrence(或sqlite db), 对于共享prefrence使用此

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();

 editor.putString("username", yourCollagename);

 editor.apply();

现在将其视为

String savedUsername= prefs.getString("username", null);

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
and pass that username in firebase instance 

    mDatabase= FirebaseDatabase.getInstance().getReference().child(savedUsername);