安卓中接口的实现 实现了本地的数据同步

// 药品结算数据同步
private void getUpdatePrescriptionCharge(String clientVersion) {
  // TODO Auto-generated method stub
  HashMap<String, String> paramPrescriptionCharge = new HashMap<String, String>();
  paramPrescriptionCharge.put("clientVersion",clientVersion);

  BaseProtocol updateProtocol = new BaseProtocol(paramPrescriptionCharge);
  final String jsonPrescriptionCharge = updateProtocol.toJson();

  paramsPrescriptionCharge = new RequestParams();
  paramsPrescriptionCharge.addQueryStringParameter("detail", jsonPrescriptionCharge+"&"+DesityUtil.Random());

  if(com.hospital.mine.util.Util.prescriptionChargeVO.size()==0)
  NetUtils.getData(HttpMethod.POST, ConstantValue.COMMON + ConstantValue.UPDATEDRUGCLEARING_URL , paramsPrescriptionCharge, new RequestCallBack<String>() {
    @Override
    public void onSuccess(ResponseInfo<String> responseInfo) {
    Gson gsonPrescriptionCharge = new Gson();
    if (HispitalProtocol.checkResult(responseInfo)) {
      final List<PrescriptionChargeVO> fromJsonPrescriptionCharge = gsonPrescriptionCharge.fromJson(
      HispitalProtocol.getContentObj(responseInfo)
      .toString(),
      new TypeToken<List<PrescriptionChargeVO>>() {
      }.getType());

new Thread(){
public void run(){
try {
db = DBManager.getInstance(new DBHelper(getActivity())).openDatabase();
db.beginTransaction();
daoPrescriptionCharge = new PrescriptionChargeDaoImpl(db);
List<PrescriptionChargeVO> findAll = daoPrescriptionCharge.findAll();
fromJsonPrescriptionCharge.removeAll(findAll);
for (PrescriptionChargeVO prescriptionChargeVO : fromJsonPrescriptionCharge) {
daoPrescriptionCharge.insert(prescriptionChargeVO);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != db)
db.endTransaction();
}
}
}.start();
}
}

@Override
public void onFailure(HttpException error, String msg) {

}
});
}

// 处方数据同步
private void getUpdatePrescriptionMain(String clientVersion) {
// TODO Auto-generated method stub
HashMap<String, String> paramPrescriptionMain = new HashMap<String, String>();
paramPrescriptionMain.put("clientVersion",clientVersion);

BaseProtocol updateProtocol = new BaseProtocol(paramPrescriptionMain);
final String jsonPrescriptionMain = updateProtocol.toJson();

paramsPrescriptionMain = new RequestParams();
paramsPrescriptionMain.addQueryStringParameter("detail", jsonPrescriptionMain+"&"+DesityUtil.Random());

if(com.hospital.mine.util.Util.prescriptionMainVO.size()==0)
NetUtils.getData(HttpMethod.POST, ConstantValue.COMMON + ConstantValue.UPDATEPRESCRIPTIONMAIN_URL, paramsPrescriptionMain, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
Gson gsonPrescriptionMain = new Gson();
if (HispitalProtocol.checkResult(responseInfo)) {
final List<PrescriptionMainVO> fromJsonPrescriptionMain = gsonPrescriptionMain.fromJson(
HispitalProtocol.getContentObj(responseInfo)
.toString(),
new TypeToken<List<PrescriptionMainVO>>() {
}.getType());

new Thread(){
public void run(){
try {
db = DBManager.getInstance(new DBHelper(getActivity())).openDatabase();
db.beginTransaction();
daoPrescriptionMain = new PrescriptionMainDaoImpl(db);
List<PrescriptionMainVO> findAll = daoPrescriptionMain.findAll();
fromJsonPrescriptionMain.removeAll(findAll);
for (PrescriptionMainVO prescriptionMainVO : fromJsonPrescriptionMain) {
daoPrescriptionMain.insert(prescriptionMainVO);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != db)
db.endTransaction();
}
}
}.start();
}
}

@Override
public void onFailure(HttpException error, String msg) {

}
});
}

// 商品数据同步
private void getUpdateCommodityMain(String clientVersion) {
// TODO Auto-generated method stub
HashMap<String, String> paramCommodityMain = new HashMap<String, String>();
paramCommodityMain.put("clientVersion",clientVersion);

BaseProtocol updateProtocol = new BaseProtocol(paramCommodityMain);
final String jsonCommodityMain = updateProtocol.toJson();

paramsCommodityMain = new RequestParams();
paramsCommodityMain.addQueryStringParameter("detail", jsonCommodityMain+"&"+DesityUtil.Random());

if(com.hospital.mine.util.Util.commodityMainVO.size()==0)
NetUtils.getData(HttpMethod.POST, ConstantValue.COMMON + ConstantValue.UPDATECOMMODITYMAIN_URL, paramsCommodityMain, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
Gson gsonCommodityMain = new Gson();
if (HispitalProtocol.checkResult(responseInfo)) {
final List<CommodityMainVO> fromJsonCommodityMain = gsonCommodityMain.fromJson(
HispitalProtocol.getContentObj(responseInfo)
.toString(),
new TypeToken<List<CommodityMainVO>>() {
}.getType());

new Thread(){
public void run(){
try {
db = DBManager.getInstance(new DBHelper(getActivity())).openDatabase();
db.beginTransaction();
daoCommodityMain = new CommodityMainDaoImpl(db);
List<CommodityMainVO> findAll = daoCommodityMain.findAll();
fromJsonCommodityMain.removeAll(findAll);
for (CommodityMainVO commodityMainVO : fromJsonCommodityMain) {
daoCommodityMain.insert(commodityMainVO);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != db)
db.endTransaction();
}
}
}.start();
}
}

@Override
public void onFailure(HttpException error, String msg) {

}
});
}

// 患者数据同步
private void getUpdatePatient(String clientVersion) {
// TODO Auto-generated method stub
HashMap<String, String> paramPatient = new HashMap<String, String>();
paramPatient.put("clientVersion",clientVersion);

BaseProtocol updateProtocol = new BaseProtocol(paramPatient);
final String jsonPatient = updateProtocol.toJson();

paramsPatient = new RequestParams();
paramsPatient.addQueryStringParameter("detail", jsonPatient+"&"+DesityUtil.Random());

if(com.hospital.mine.util.Util.patientVOPatientVO.size()==0)
NetUtils.getData(HttpMethod.POST, ConstantValue.COMMON + ConstantValue.UPDATEPATIENT_URL, paramsPatient, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
Gson gsonPatient = new Gson();
if (HispitalProtocol.checkResult(responseInfo)) {
final List<PatientVO> fromJsonPatient = gsonPatient.fromJson(
HispitalProtocol.getContentObj(responseInfo)
.toString(),
new TypeToken<List<PatientVO>>() {
}.getType());

new Thread(){
public void run(){
try {
db = DBManager.getInstance(new DBHelper(getActivity())).openDatabase();
db.beginTransaction();
daoPatient = new PatientDaoImpl(db);
List<PatientVO> findAll = daoPatient.findAll();
fromJsonPatient.removeAll(findAll);
for (PatientVO patientVO : fromJsonPatient) {
daoPatient.insert(patientVO);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != db)
db.endTransaction();
}
}
}.start();
}
}

@Override
public void onFailure(HttpException error, String msg) {

}
});
}

// 字典数据同步
private void getUpdateDictionary(final String clientVersion) {
// TODO Auto-generated method stub
HashMap<String, String> paramDictionary = new HashMap<String, String>();
paramDictionary.put("clientVersion",clientVersion);

BaseProtocol updateProtocol = new BaseProtocol(paramDictionary);
final String jsonDictionary = updateProtocol.toJson();

paramsDictionary = new RequestParams();
paramsDictionary.addQueryStringParameter("detail", jsonDictionary+"&"+DesityUtil.Random());

if(com.hospital.mine.util.Util.sysDicVOListDictionary.size()==0)
NetUtils.getData(HttpMethod.POST, ConstantValue.COMMON + ConstantValue.UPDATEDICTIONARY_URL, paramsDictionary, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
Gson gsonDictionary = new Gson();
if (HispitalProtocol.checkResult(responseInfo)) {
System.out.println("=======responseInfo");
final List<SysDicVO> fromJsonDictionary = gsonDictionary.fromJson(
HispitalProtocol.getContentObj(responseInfo)
.toString(),
new TypeToken<List<SysDicVO>>() {
}.getType());

new Thread(){
public void run(){
try {
db = DBManager.getInstance(new DBHelper(getActivity())).openDatabase();
db.beginTransaction();
daoDictionary = new SysDicDaoImpl(db);
List<SysDicVO> findAll = daoDictionary.findAll();
// for (SysDicVO sysDicVO : fromJsonDictionary) {
//// if(!findAll.contains(sysDicVO)){
//// dao.insert(sysDicVO);
//// }
// for (SysDicVO sysDicVO2 : findAll) {
//
// }
// }
fromJsonDictionary.removeAll(findAll);
for (SysDicVO sysDicVO : fromJsonDictionary) {
daoDictionary.insert(sysDicVO);
}

} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != db)
db.endTransaction();
}
}
}.start();
}
}

@Override
public void onFailure(HttpException error, String msg) {

}
});
}
});

时间: 2024-10-10 07:49:18

安卓中接口的实现 实现了本地的数据同步的相关文章

本地远程数据同步之rsync

一.简介 rsync一款开源的,快速的,多功能可实现全量及增量的本地或者远程数据同步备份的优秀工具可适用于多个操作系统之上,rsync具有可以使本地和远程两台主机之间的数据快速的同步和备份的用能. 二.工作模式及其特性  1.rsync特性   支持拷贝特殊文件如链接文件设备等 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能 --exclude 可以实现增量同步,即只同步发生变化的数据,因此效率很高 实时备份和定时备份   2.rsync命令的工作模式: 1)shell模式,

安卓中的数据存储方式以及ContentProvider的简单介绍

1.介绍android的数据存储方式 File存储 sharedPrefrence存储方式 conmtentprovider sqlitedatabase 网络存储 2.请介绍下ContentProvider是如何实现数据共享的 安卓中如果想将自己应用程序的数据暴露给其他的应用程序的时候就需要创建内容提供者.第三方可以通过contentResolver来访问该provider 3.为什么要使用ContentProvider?它和sql的实现上有什么差别? ContentProvider屏蔽了数据

安卓中Service详解

service(服务)是安卓中的四大组件之一,它通常用作在后台处理耗时的逻辑,与Activity一样,它存在自己的生命周期,也需要在清单文件中配置相关信息,本博客将对Service的各个知识点进行详细讲解. 一Service的基本用法: 1使用本地服务 1)服务的启动方式 1通过Context的startService()方法启动服务:以该方法启动的服务,开启该服务的应用组件(如Activity)与该Service不存在关联关系,即使开启该服务的Activity被销毁,Service任能够一直在

浅谈安卓中的MVP模式

端午放假,天气下雨,于是乎在家撸一下博客,本篇博客将为大家解析MVP模式在安卓中的应用. 本文将从以下几个方面对MVP模式进行讲解: 1.  MVP简介 2.  为什么使用MVP模式 3.  MVP模式实例 4.  MVP中的内存泄露问题 1.  MVP简介: 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model

安卓中java和js如何交互

1.安卓中java和js如何交互 在Android上怎样实现JAVA和JS交互呢?Android的webview是基于webkit内核的,webview中集成了js与java互调的接口函数,通过addJavas criptInterface方法,可以将Java的类注册进webkit,给网页上的js进行调用,而且还可以通过loadUrl方法是给webkit传递一个URL,供浏览器来进行解析,实现Java和js交互. 要想运行网页上的js脚本,webview必须设置支持Javas cript. 2.

【安卓中的缓存策略系列】安卓缓存策略之磁盘缓存DiskLruCache

安卓中的缓存包括两种情况即内存缓存与磁盘缓存,其中内存缓存主要是使用LruCache这个类,其中内存缓存我在[安卓中的缓存策略系列]安卓缓存策略之内存缓存LruCache中已经进行过详细讲解,如看官还没看过此博客,建议看官先去看一下. 我们知道LruCache可以让我们快速的从内存中获取用户最近使用过的Bitmap,但是我们无法保证最近访问过的Bitmap都能够保存在缓存中,像类似GridView等需要大量数据填充的控件很容易就会用完整个内存缓存.另外,我们的应用可能会被类似打电话等行为而暂停导

安卓中webview读取html,同时嵌入Flex的SWF,交互

安卓中webview读取html,同时嵌入Flex的SWF,交互 安卓activity与html交互很简单,用javascript接口即可,网上一堆的例子,基本上没多大问题. 在html里面嵌入swf并与之交互就有点麻烦,我用了ExternalInterface没有成功,那位兄台成功了可以交流交流.我用的是FlashVars, 不用改什么配置,html就可以向swf传递数据. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-4445535400

关于安卓中的cookie管理

Cookie管理是大家在做安卓app中难以避免的问题.我在此发表一些拙见. 先先看看cookie可能存放的位置 1.Httpclient会存储当次请求的cookie内容,存储位置在 httpClient.getCookieStore 但是apache建议自定义cookie存储方式,因为cookiestore把cookie放在arraylist里很容易被系统回收[1]. 2.WebView会存储cookie在CookieManager,具体使用方式,后续的文章会讲这里不是重点. 正常HttpCli

【安卓中的缓存策略系列】安卓缓存策略之综合应用ImageLoader实现照片墙的效果

在前面的[安卓缓存策略系列]安卓缓存之内存缓存LruCache和[安卓缓存策略系列]安卓缓存策略之磁盘缓存DiskLruCache这两篇博客中已经将安卓中的缓存策略的理论知识进行过详细讲解,还没看过这两篇博客的看官建议先去看一下,本博客将依据这些理论知识打造一个ImageLoader,实现照片墙的效果,关于照片墙的知识网上相关博客也很多,首先解释一下照片墙的概念:用一个GridView控件当作"墙",然后随着GridView的滚动将一张张照片贴在"墙"上,很显然因为