android 增量更新原理

原理如下:服务器端设计增量表,记录数据操作顺序id,和增删改查信息。在进行数据库表操作的时候同时进行将信息保存在增量表。

android客户端在请求的时候上传最后保存的id。服务端判断最后的id,返回这个id之后的所有操作,客户端根据增删改修改数据库。

/*
	 * 更新单位表
	 */
	public long add(List<ContentValues> units) {
		boolean flag = false;
		long res = 0;
		SQLiteDatabase db = getWritableDatabase();
		for (int i = 0; i < units.size(); i++) {
			ContentValues cv = units.get(i);
			if (cv.getAsString("isdept").equals("0")) {
				cv.put("search", name2search(cv.getAsString("name")));
			}
			Log.d(cv.getAsString("type"), (String) cv.get("type"));
			if (cv.getAsString("type").equals("3")) { // 删除
				res = db.delete(TABLE_UNIT, "id = ?",
						new String[] { cv.getAsString("id") });
				Log.d("del", "" + res);
			} else if (cv.get("type").equals("2")) {// 更新
				cv.remove("type");
				res = db.update(TABLE_UNIT, cv, "id = ?",
						new String[] { cv.getAsString("id") });
				Log.d("update", "" + res);
			} else {// 新增
				cv.remove("type");
				res = db.insert(TABLE_UNIT, null, cv);
				Log.d("insert", "" + res);
			}
		}
		db.close();
		flag = true;
		r

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。