android把json存入sqlite,将数据从Json对象保存到数据库(SQLite)

这篇博客介绍了如何在Android应用中将JSON数据解析并存储到SQLite数据库中。首先创建了DataBean类来封装JSON对象,然后通过DatabaseHelper类进行数据库操作,包括删除旧记录、插入新数据以及查询数据。使用NCursorAdapter展示数据库中获取的数据到自定义列表视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataBean.java类创建在对象的活动class..set值getter和setter方法

public class DataBean {

private String item_type = null;

private String change_number = null;

public String getItem_type() {

return item_type;

}

public void setItem_type(String itemType) {

item_type = itemType;

}

public String getChange_number() {

return change_number;

}

public void setChange_number(String changeNumber) {

change_number = changeNumber;

}

}

,并插入到数据库

private DatabaseHelper mDbHelper;

DataBean dataBean;

private Cursor mNotesCursor;

private NewsCursorAdapter adapter = null;

mDbHelper = new DatabaseHelper(this);

ArrayList liststck = new ArrayList();

for(int i=0;i

JSONObject e = data4.getJSONObject(i);

dataBean = new DataBean();

dataBean.setChange_number(e.getString("eqid"));

dataBean.setItem_type(e.getString("magnitude"));

liststck.add(dataBean);

}

mDbHelper.deleteRecords();

for (DataBean dataBean : liststck) {

mDbHelper.insertdata(dataBean);

}

mNotesCursor = mDbHelper.retrievedata();

startManagingCursor(mNotesCursor);

adapter.changeCursor(mNotesCursor);

adapter.notifyDataSetChanged();

你必须创建NCursorAdapter类dispay结果(如自定义列表视图)。 这里data.xml文件是你的自定义布局。这两个内容的TextView ......“KEY_NO”和“key_item”你的数据库表的列名...

public class NCursorAdapter extends CursorAdapter {

private Cursor mCursor;

private Context mContext;

private final LayoutInflater mInflater;

public NCursorAdapter(Context context, Cursor c) {

super(context, c);

// TODO Auto-generated constructor stub

mInflater = LayoutInflater.from(context);

mContext = context;

}

@Override

public void bindView(View view, Context context, Cursor cursor) {

// TODO Auto-generated method stub

TextView title = (TextView) view.findViewById(R.id.title);

title.setText(cursor.getString(cursor.getColumnIndex("key_no")));

TextView date = (TextView) view.findViewById(R.id.date);

date.setText(cursor.getString(cursor.getColumnIndex("key_item")));

}

@Override

public View newView(Context context, Cursor cursor, ViewGroup parent) {

// TODO Auto-generated method stub

final View view = mInflater.inflate(R.layout.data, parent, false);

return view;

}

}

在你的数据库类插入数据和检索数据

public Long insertdata(DataBean dataBean) {

ContentValues contentValues = new ContentValues();

contentValues.put(KEY_NO, dataBean.getChange_number());

contentValues.put(KEY_ITEM, dataBean.getItem_type());

return sqliteDatabase.insert(DATABASE_TABLE, null, contentValues);

}

public Cursor retrievedata() {

return sqliteDatabase.query(DATABASE_TABLE, new String[] { KEY_ROWID,KEY_NO, KEY_ITEM }, null,null);

}

我希望这是对您的应用程序有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值