我有一个关于4000的厨师食谱应用程序存储在数据库中,当用户打开应用程序时,我有一个显示单个食谱的ViewPager,当滚动时,他将获得新食谱,如果用户关闭应用程序并重新打开它我想要什么我想展示他以前没见过的食谱。
到目前为止我尝试了什么
在我的食谱表( _id , name , content , view_rank)
中,我将view_rank
字段以0
的值开头,所以如果当viewpager显示此食谱时,它会增加view_rank
,所以在我的查询我做这个
SELECT * FROM RECIPES ORDER BY view_rank ASC
所以我得到了新的。任何方式每个增量导致应用程序触发一个新线程来更新数据库,我正在考虑的是实现一个自定义缓冲区,其中包含需要递增的配方ID,所以如果缓冲区达到它限制,请说100 id i将启动一个新线程并进行交易以更新那100个ID。有一个简单的解决方案吗?
答案 0 :(得分:0)
当用户滚动ArrayList
中的结果时,只需使用_id
并将ViewPager
添加到其中。我假设您使用按钮浏览页面,因此当您单击该按钮时,将_id
添加到ArrayList
,同时检查ArrayList
的大小是否为100方法size()
。如果大小是100遍遍列表并更新数据库。
ArrayList
的API在Array List
- EDIT--
执行此操作时,请不要忘记在关闭应用程序时将结果更新到数据库。否则,如果计数器没有达到100,则数据库更新永远不会发生,并且在下次启动时,您将再次看到访问过的记录..