Android 怎样实现同步更新数据库中的表

sigmund86 2011-01-31 06:32:58
有网络时直接用web service 上传到DB 电脑端; 没网络时存到本地sqlite ,有网络时再把本地的新的数据上传到DB, 请问红色的部分怎么实现? 上传sqlite文件 还是 用web service 传数组对象 ?
...全文
1791 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sophialmy82 2011-02-14
  • 打赏
  • 举报
回复
我也很想知道,除了自己写web service之外,是否还有其它的方法,比如windows mobile平台,还可以有sybase mobilink服务?
DrSmart 2011-02-14
  • 打赏
  • 举报
回复
你们用个交换格式呗,看你是vs估计windows的服务器,和手机嘛,用xml交换好了,jsp的用json,windows我们一般用linq
ameyume 2011-02-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sigmund86 的回复:]
自己做出来了 把sqlite 文件转成string,然后用web service上传string.

private void uploadFile()
{
try
{
FileInputStream fis = new FileInputStream(srcPath);
ByteArrayOutputStream baos = new ByteArrayOutputStream(……
[/Quote]
学习,没接触过webservice这方面
sigmund86 2011-02-08
  • 打赏
  • 举报
回复
自己做出来了 把sqlite 文件转成string,然后用web service上传string.

private void uploadFile()
{
try
{
FileInputStream fis = new FileInputStream(srcPath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[98192];
int count = 0;
while ((count = fis.read(buffer)) >= 0)
{
baos.write(buffer, 0, count);
}
String image = new String(Base64.encode(baos.toByteArray()));
fis.close();
SoapObject request = new SoapObject(LoginUI.NAMESPACE, LoginUI.METHOD_NAME2);
request.addProperty("image", image);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.bodyOut = request;
HttpTransportSE ht = new HttpTransportSE(LoginUI.URL);
ht.call(LoginUI.NAMESPACE+LoginUI.METHOD_NAME2, envelope);
if (envelope.getResponse() != null)
{
org.ksoap2.serialization.SoapPrimitive soapPrimitive = (SoapPrimitive) envelope
.getResponse();
boolean result = Boolean.parseBoolean(soapPrimitive.toString());
if (result)
Toast.makeText(this, "Synchronize Successful.", Toast.LENGTH_LONG).show();
else
Toast.makeText(this, "Synchronize Fail.", Toast.LENGTH_LONG).show();
}
}
catch (Exception e)
{
Log.d("updateImage_exception", String.valueOf(e));
}
}

server 端用VS2005建的web service,读取string 再回转成sqlite file 就可以了
public bool UploadFile (string image){
byte[]b =System.Convert.FromBase64String(image);
FileStream f=new FileStream(C:\\msir.db,FileMode.Create);
f.Write(m,0,m.Length);
return ture;
}
yuankai19881108 2011-01-31
  • 打赏
  • 举报
回复
过年好~~~~~~
念茜 2011-01-31
  • 打赏
  • 举报
回复
求真相啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧