通过SQLiteOpenHelper创建的数据库是默认放到/data/data/your.app.package/databases/这个目录下的,所以你可用过AssetManager 得到数据库文件,然后再写到这个目录下去,你就可以通过
创新互联建站主要从事成都网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务庐江,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
创建SQLiteOpenHelper访问这个数据库,注意访问的数据库名字就是你复制的那个文件的文件名
简单说一下步骤吧。
在fragment的OnCreateView() 里设置istView就好了。
listView使用:
(ListView) findViewById
Adapter
2.1 继承BaseAdapter(自由度大,自定义比较自由)、SimpleAdapter(简单的适配器,自由度相对小,使用简单)、ArrayAdapter(最简单的适配器,只需要传入list数据即可)
2.2 listView.setAdapter(); 设置适配
实现过程其实很简单。
第一步:自定义一个WaitingDialog,该Dialog支持自定义文本,一个可转动的图片,也可以增加一个定时关闭的接口,当然也可以选择外部定时关闭。
第二步:在页面调用。
如果我仅仅是这么回答,你可能觉得我在敷衍你,可是我为你的问题写了一个DEMO,你可以直接去下载,在CSDN上,就不知道百度有没有这么开放了,哈哈。
地址:
1.添加方法
public static T ListT addList(ListT list1,ListT list2) {
for(T item:list2){
if(!list1.contains(item)){
list1.add(item);
}
}
return list1;
}
2.将
mLists.add(lists)
替换为
addList(mLists,lists);
3.为你的类型T重写equals方法,list的contains方法就是通过equals方法来判断是否包含该对象
创建LayoutInflater类的对象inflater,并取得其对象。
获取列表中的数据,可用异步加载或者同步加载数据取得,方法不等。
将数据填充到simpleAdapter对象中去,注意参数有讲究
取得将要填充的ListView组件
将Adapter对象填充在listView组件中去
说的时间戳,我理解的是本次请求时把上次请求的最后的一条数据的时间戳带上,这样服务器返回以这条时间戳之后的数据。考虑有可能多个评论同一个时间戳,还是会有可能重复。依赖于服务器。
在上面的基础上,下次请求的时候带上本次最后一条评论的id(假设越早评论的id越小,而且id不重复),这样下次请求的时候服务器返回这个id之后的数据即可。依赖于服务器。
客户端在数据加入列表时做排重。依赖于客户端。成本最低。
评论有唯一标识。通过评论id或者其他可以唯一标识评论的字段去判重,存在则重复。
评论没有唯一标识。对单条评论所有数据计算md5或者hashcode,如果一样说明加过。当然,有一定概率冲突(不同的评论产生相同的md5或者hashcode,列表中本来就有重复评论),这种情形一般可以忽略。