java sqlite json_Json解析跟SQLite数据库的存储的心酸历程

这篇日志是要跟我到做完这个任务为止!

太不容易了!

天啊,经历过这么多天终于有了些突破,曾经一直困扰在怎么将解析出来的json数组转化成对象存储起来在今天迎刃而解,只需要将person定义为一个数组,然后使用google的gson来解析此数组即可,即

ArrayList persons = new ArrayList<>;persons = Gson.fromjson(jtr,new TypeToken>(){}.getType());,

(注:jtr为从服务器上下载的json字符串。)

得到数组以后通过遍历的方法将数组内的对象存储到类里面去:

ContentValues cv = new ContentValues();ContentValues cv2 = new ContentValues(); Person person = new Person(); model mod = new model(); for (int i = 0;i

用以上的方法,将数组内的数据存储到Person类里面,再通过contentValue和db.insert分别存储到model和person两张表内。成功实现了add方法。

开始写第二个方法了

接下来要写的是删,可是由于外键还不知道怎么搞,实现了删除的方法,但是不能联动两张表一起删除。明天改进,删除的方法代码如下:

public void delete(Person person) { db.delete("person", "myid = ?", new String[]{String.valueOf(person.getMyid())});

通过识别person表里面的id列来删除。

第三个方法:查

今天听着歌,百着度写着代码,一不小心就完成了查的方法。真的是不简单啊。要感谢FADE这首歌啊,还有各种抖腿歌单,都亏他们才写出来T T。

查一直觉得很复杂,后来才发现其实就那样子。定义一个游标Cursor,相当于一个指针的东西。

Cursor c = db.rawQuery("SELECT * FROM Person WHERE myid=?", new String[]{String.valueOf(myid)});

用的是rawQuery方法,这是SQLite里面自带的的,推荐使用rawquery方法,不推荐使用query方法。

然后里面写的是关于查询的SQL语句。条件可以在主函数里面写出需要的条件,比如这里可以int myid = 1;

person1.name= c.getInt(c.getColumnIndex("name"));

然后根据myid = 1的条件查出 在Person表中myid=1的名字。以上就是查询的方法。明天要写的是改,通过人物名字来修改人物的属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值