我想开发一个提供市场数据的Android应用程序。我一直在阅读不同的教程,我对如何制作一个教程有了一个想法,但是有很多方法我想确保我采取正确的方法并做所有正确的练习。
基本上我想创建一个应用程序,我可以在其中列出具有最新市场数据的股票。我将从Web服务器获取市场数据。如果我点击其中一个项目,我可以看到另一个屏幕,其中包含有关该股票的更多信息。还有很多我想做的事情,但我想我会从那开始。
所以我想我必须建立一个数据库来存储股票清单和市场数据。列表和详细信息页面将从数据库中提取数据,而我必须有一个服务来从服务器轮询数据并将其保存在数据库中。
如果我不打算共享数据,还是应该创建本地数据库,是否需要创建内容提供商?如果我使用内容提供商,是否有优势?
服务是保持数据新鲜度的最佳方法吗?有没有办法让我的服务定期从我的Web服务器获取数据?还不确定这样做但基于我所看到的服务似乎是最好的方法。
我想听听社区他们如何设计这个,至少它会帮助我确定我需要学习什么以及在网上寻找什么。
谢谢!
答案 0 :(得分:1)
如果您不希望在其他应用程序中共享数据,则无需使用内容提供商。除了提供共享数据的公共接口之外,使用其他方法没有任何优势。
是的,服务是最好的方式。但是,您很可能需要获取服务来启动线程来执行数据检索。要定期启动服务,请使用BroadcastReceiver
和AlarmManager
。在manifest.xml中注册BroadcastReceiver
和intent-filter
。使用AlarmManager
触发PendingIntent
,BroadcastReceiver
将会启动Service
,然后Thread
将启动AsyncTask
,{{1}}或{{1}} {1}}检索数据并将其写入数据库。