首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android Studio中使用FireStore数据库中的值来处理if..else?

如何在Android Studio中使用FireStore数据库中的值来处理if..else?
EN

Stack Overflow用户
提问于 2020-05-09 02:09:19
回答 1查看 116关注 0票数 0

我是FireStore新手,我正在为一家教育机构开发一个应用程序。我有2个不同的批次,每个批次有2个不同的类别。{CBSE > xi,xii & CHSE > xi,xii}

我希望学生使用FirebaseAuth登录到我的应用程序,并且FireStore已经将这些学生数据作为

代码语言:javascript
复制
User(collection) >> users(Document)(using the userID given by FirebaseAuth)  >>  FullName: (Student's name)
                                                                                 Phone:(number)
                                                                                 Board:(There Batch or Board, i.e., CBSE or CHSE)
                                                                                 Class:(class, i.e., XI or XII)
                                                                                 email:(email)

所以如果一个学生属于CBSE和XI,我希望他们去不同的活动,如果来自同一批次的XII,那么去不同的活动。其他批处理(CHSE)也是如此。

我已经写了一个代码,看看这个

代码语言:javascript
复制
public class test extends AppCompatActivity {

FirebaseAuth fauth;
FirebaseFirestore fstore;
String userID, mboard, mclass;
TextView Board, Class;
private Object testB, testC;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maths);
    Board = findViewById(R.id.Board);
    Class = findViewById(R.id.Class);

    fauth = FirebaseAuth.getInstance();
    fstore = FirebaseFirestore.getInstance();

    userID = fauth.getCurrentUser().getUid();

    final DocumentReference documentReference = fstore.collection("users").document(userID);
    documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
        @Override
        public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
            Board.setText(documentSnapshot.getString("Board"));
            Class.setText(documentSnapshot.getString("Class"));
            mboard = Board.toString();
            mclass = Class.toString();
            testB = String.valueOf(documentSnapshot.getData().get(Board));
            testC = String.valueOf(documentSnapshot.getData().get(Class));


            if (testB == "CHSE") {
                if (testC == "XI") {
                    startActivity(new Intent(new Intent(getApplicationContext(),MainActivity.class)));
                }
                if (testC == "XII") {
                    startActivity(new Intent(new Intent(getApplicationContext(),test.class)));
                }
            }
        }
    });
  }
}

从YouTube教程中我得到了这一点,但有两个问题:- 1.我必须在布局上使用textView。如何才能将值存储到变量中? 2. if...else不起作用。我只想让这一切发生。我该如何让学生们去参加那些受人尊敬的活动呢?

请帮帮我,提前谢谢你……

EN

回答 1

Stack Overflow用户

发布于 2020-05-09 02:37:21

在Java语言中,==操作符不是比较两个字符串的有效方法。您应该改用equals()方法。

代码语言:javascript
复制
if ("CHSE".equals(testB))

阅读:How do I compare strings in Java?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61685346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档