贴出代码
JSONObject obj = new JSONObject(response.toString());
JSONArray arr = obj.getJSONArray("info");
for (int i = 0; i < arr.length(); i++) {
JSONObject subObj = arr.getJSONObject(i);
String id = subObj.getString("id");
String name = subObj.getString("name");
String ver = subObj.getString("ver");
Log.i("解析后的数据 ", "id=" + id + ",name=" + name + ",ver=" + ver);
db.execSQL("DROP TABLE info");
db.execSQL("CREATE TABLE info (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, ver SMALLINT)");
ContentValues values = new ContentValues();
values.put("id", id);
values.put("name", name);
values.put("ver", ver);
db.insert("info", null, values);
解析JSON并将得到的数据插入到info表中
解析后的数据: id=1,name=1111xxx,ver=132
解析后的数据: id=5,name=xx,ver=23
然后查询 new Thread(new Runnable() {
@Override
public void run() {
db.execSQL("DROP TABLE minfo");
db.execSQL("CREATE TABLE minfo as SELECT * FROM info");
Cursor c = db.rawQuery("SELECT * FROM minfo", null);
while (c.moveToNext()) {
String p = c.getString(c.getColumnIndex("PyCode"));*/
String songname = c.getString(c.getColumnIndex("name"));
int id = c.getInt(c.getColumnIndex("id"));
int ver = c.getInt(c.getColumnIndex("ver"));
Log.i("本地数据库minfo表中的数 ", "id=" + id + ",name=" + songname + ",ver=" + ver);
}
}
}).start();
把info表中的数据插入到minfo中 然后读取minfo表 可是后台只打印出来本地数据库minfo表中的数: id=5,name=xx,ver=23这一条数据,请问是什么原因啊,这个要怎么解决呢???
你在每次执行insert时,都先把数据表删除了db.execSQL("DROP TABLE info");,然后再新建一个表。导致前一次insert的数据被删除了。
建表和删除表只需要一次,且要在for循环外面。
你在每次执行insert时,都先把数据表删除了db.execSQL("DROP TABLE info");,然后再新建一个表。导致前一次insert的数据被删除了。
建表和删除表只需要一次,且要在for循环外面
一级团批跨一两句记录1他7额7五