与Android中的外部SQLite数据库进行交互.

与Android中的外部SQLite数据库进行交互.,第1张

概述我正在尝试使用Web服务(我无法控制),当您查询它时会返回一个SQLite数据库.有什么办法吗?解决方法:我正在做一个类似项目的项目.我请求对数据库进行更新,并且根据所需的更新量,它要么向下发送一个全新的数据库,要么发送一系列SQL语句.我强烈建议将数据库保留在sdcard上(如果可用),尤

我正在尝试使用Web服务(我无法控制),当您查询它时会返回一个sqlite数据库.有什么办法吗?

解决方法:

我正在做一个类似项目的项目.我请求对数据库进行更新,并且根据所需的更新量,它要么向下发送一个全新的数据库,要么发送一系列SQL语句.我强烈建议将数据库保留在sdcard上(如果可用),尤其是如果您要下载的数据库大小可变且大小仅超过几千字节时.

我正在执行以下 *** 作以获取文件(修改口味,因为您可能需要在SOAP响应中处理XML,也请忽略进度内容.)

fileStream = new fileOutputStream(new file(I-build-my-filename-stuff-above-here));/* fileData is a byte[8192] */while((i = httpResponse.read(fileData)) > -1) {    fileStream.write(fileData, 0, i);    position += i;    if (item.getUpdateType() == UpdateItem.FulL_file) {        progress = position / item.getSize();    } else {        progress = position / (item.getSize() * 2);    }    item.setProgress(progress);} // end loop through getting http response streamfileStream.close();httpResponse.close();

然后,我执行以下 *** 作来访问数据库.由于这些数据库也用于iPhone应用程序,因此它们没有特定于AndroID的表,因此需要sqliteDatabase.NO_LOCAliZED_ColLATORS标志来访问数据库.请注意,我的数据库类扩展了sqliteOpenHelper类:

public Database(Context context, String filename, String Title) {    super(context, filename, null, 1);    this.context = context;    this.Title = Title;    this.filename = filename;    if (filename != null && filename.contains("/sdcard")) {        db = sqliteDatabase.openDatabase(filename, null, sqliteDatabase.NO_LOCAliZED_ColLATORS | sqliteDatabase.CREATE_IF_NECESSARY);                } else {        db = getWritableDatabase();    }}
总结

以上是内存溢出为你收集整理的与Android中的外部SQLite数据库进行交互.全部内容,希望文章能够帮你解决与Android中的外部SQLite数据库进行交互.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1092402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存