我想要一个在我们的应用程序中实现Twitter的简单示例。我宁愿它不可浏览;它应该只在我们的应用领域开放。登录后,用户可以在他/她的帐户上发布推文。
答案 0 :(得分:6)
很好的问题,为反问题留下了很大的空间: - )
我至少看到两种方式走在路上(注意我对twitter的了解或使用方式不太了解):
您可以在手机上同步Twitter数据(“推文”?!?)以供日后查看。
您始终在给定频道上查看当前推文的快照,并且不存储任何内容(用户凭据除外)。
从第一个替换开始,您通常希望将目标上的SQLite数据库(可能是自定义content provider)与来自Twitter网络服务器上的Twitter频道的数据同步(您可以阅读一下公共Twitter API的内容here)。
此同步将由手机上的后台service完成。您的实际GUI不会与此服务本身通信,而是从本地SQLite数据库中读取数据(并且仅从该本地SQLite数据库中读取数据)。这样,您的GUI将不依赖于网络延迟,数据流量或来自Web的数据可用性。它只取决于本地目标上的数据库连接。确保在单独的线程中运行服务。默认情况下,它将在主线程(也称为“GUI线程”)中运行。
您可以将条目传递给偶尔会唤醒您的后台服务的AlarmManager;该服务会将Twitter数据缓存在数据库中,然后自行终止(以节省资源)。
第二个替代不需要数据库缓存层(但是建议去除GUI层中的Web依赖关系,数据库只会包含最新数据,旧数据会无论用户是否已阅读,都会被覆盖。)
在两种选择中,您可能希望存储一些基本的用户信息,例如用户名和密码。您可以将这些值存储在SQLite数据库中,或者如果您想保持简单:在Shared Preferences基础结构中。
您很可能还需要来自网络的read and parse XML数据。这种读取和解析将由服务层完成(请记住:在单独的线程中运行它以避免滞后UI或甚至获得应用程序无响应超时)。