在像 whatsapp 这样使用电话身份验证的应用程序中:
当任何用户打开查看他/她的联系人时,whatsapp 将仅显示您手机中使用 whatsapp 的联系人(就像他们过滤您的联系人一样)。
我对实现类似的想法的想法:
我可以将所有用户保存在一个数据库中(当他们通过我的应用程序进行身份验证时),现在当我在活动中加载联系人时,我会检查该联系人是否存在于数据库中,如果该用户存在,那么我将他/她添加到列表。
问题:
如果我使用上述方法:
然后假设我在数据库中有 10,000 个用户,那么每次我想在我的应用程序中显示用户的联系人时循环遍历 10,000 个用户是没有意义的。
题:
你认为像whatsapp这样的应用程序如何实现这样的事情?
所以我使用room数据库在本地持久化用户,现在用户有这个实体类:
@Entity
public class Users{
public string name;
public string email;
@PrimaryKey
public string id;
......
}
Run Code Online (Sandbox Code Playgroud)
我使用看起来像这样的DAO检索所有这些用户:
@DAO
public interface UsersDAO{
@Query("select * from Users")
public List<Users> getAllUsers();
}
Run Code Online (Sandbox Code Playgroud)
上述DAO将按照添加到数据库的顺序读取所有用户.
题:
是否可以按字母顺序按实体name字段查询用户Users?
谢谢.
android android-room android-architecture-components android-jetpack
如果有人想通过获取 apk 文件然后自定义它来执行它不应该做的其他事情来对我的 android 应用程序进行逆向工程。请记住,google-services.json当我们创建 firebase 项目以链接 android 应用程序时,apk 文件将包含我们从 firebase 下载的文件。
问题是:
即使实时数据库或 Firebase 存储上的安全规则只允许经过身份验证的用户。然后黑客可以对应用程序进行逆向工程并制作自己的具有相同google-services.json文件的应用程序,然后在编译时黑客可以创建一个帐户并登录应用程序(这使他通过身份验证),然后他可以删除和写入数据到实时数据库。
有人可以解释一下安全性如何吗?
我想使用 Firebase 获取服务器上的当前时间,而无需写入数据库然后读取它。
有人知道直接从 Firebase 获取当前时间戳的解决方案吗?