我正在使用Firebase开发我的第一个Android应用。它也是我的第一个Android应用程序整体,所以我没有经验,但已经有了编程语言,如Java或PHP的一些经验。我正在寻找专业建议,因为我遇到了代码组织的一些问题。我已经做了一些研究,但未能找到一个好的解决方案。
我的应用使用Firebase身份验证和Firebase实时数据库。
我将解释我的问题的所有相关部分。
主要活动......
DatabaseHandler
,负责数据库访问,此对象需要实例化UserInfo对象FirebaseAuth
AuthStateListener
个对象
AuthStateListener
检查用户是否已登录,如果是,则会使用当前用户重新实例化DatabaseHandler
对象DatabaseHandler
我的问题
我已经需要访问DatabaseHandler
的{{1}}方法中的onCreate()
对象来显示一些数据,但是因为MainActivity
在方法中被实例化了DatabaseHandler
,为了确保用户已经登录,这不起作用,因为onAuthStateChanged()
之前调用了onCreate()
我的想法
我不完全确定如何解决这个问题,但我的第一个想法是重构我的项目,我的主要活动只检查要调用的活动,而不是自己显示数据。我还处于项目的早期阶段,所以这应该不是什么大问题。 只是想知道这是否有效或是否有更好的解决方案。
让我知道你的想法
答案 0 :(得分:0)
这是一个代码假定您要显示图书清单的活动示例:
onCreate
通过此操作,您可以执行以下操作:
onCreate
populateList
中的用户并采取相应行动onCreate
显示,这样就可以重新填充列表,而无需浏览所有clear
内容(请记住<p ng-repeat="x in myArray.sprint">{{ x.p_id }}, {{ x['sprint_requirement_[' + ($index + 1) + ']'] }}</p>
列表/适配器