处理的json是文章的列表,其中有:日期、文章标题、连接、发布时间戳等对象。
做android app打算把同一天的文章都在viewpager的一页里,那应该怎么返回相应的数据结构呢?
我想过将日期做为key,对应这一天的jsonArray处理好作为value,但是这样需要遍历读取出日期,再判断,加入。虽然数据量不大,但是这样代码太麻烦了。
请问有什么好的处理方法呢?或者android开发有什么好的解决方法不用这么麻烦的呢?
学生,开发经验尚浅,求解决,谢谢。
——————————————————————————————————————————————
主要是我觉得太麻烦了。先将json处理成list,再将list分开做成arraylist<HashMap<String,object>>,然后在adpter中还要解开。太过于复杂了。方法也太笨了,技术不行,想不出更妙的方法。
——————————————————————————————————————————————
我的意思将
[
{....,"date":"2015-12-21",....},
{....,"date":"2015-12-21",....},........都是2015-12-21的
{....,"date":"2015-12-22",....},........都是2015-12-22的
{....,"date":"2015-12-23",....} ........都是2015-12-23的
]
变为
[
[{....,"date":"2015-12-21",....},
{....,"date":"2015-12-21",....}]
[{....,"date":"2015-12-22",....}],
[{....,"date":"2015-12-23",....}]
]
就像Excel的分类汇总那样。而不是在SQLite中select..where那样。
除了上面写的用数据结构处理一下,我还真的想不到更好的方法了,请指点。
————————————————————————————————————————————————
json格式是这样的:
{"error":"","posts":[{"date":"2015-12-24","name":"","pic":"","publishtime":"1450926000","excerpt":""},.......]
看样子是我的表达能力有限。抱歉。就像excel的分类汇总那样,而不是select* from where。比如这一周的数据,周一放一堆,周二放一堆,周三放一堆,如此类推。返回的结果是一周分好堆的数据,而不是某一天的数据。
经过你们提醒我用了sqlite做缓存。只不过依然还是要用我以前的方法,读出一堆数据,然后在处理一下才能分堆。如果是用listview就不用这样。主要是因为我用viewpager,一页是一天的数据。所以才有这么麻烦。数据量不大,所以速度也不用多少。
也可以不用arraylist<HashMap<String,Object>>,直接list<list>,只是用了hashmap方便存储当天最新时间戳等元素。
我就是想看看有没有更妙的方法。纯属吃饱了撑的。
服务器返回
json
java
类用gson对服务器返回的
json
转换成java
对象,然后存入sqlite
,用id
为主键。我习惯用Afinal数据库框架。
从本地恢复数据就很简单啦,
ORDERY BY id DESC LIMIT xx条
即可。甚至像网易新闻,有不同分类新闻,在java
类加type
字段,查找时WHERE type=x ORDERY BY id DESC LIMIT xx条