android与mysql的交互,与Android中的外部SQLite数据库进行交互.
我正在做一個(gè)類似項(xiàng)目的項(xiàng)目.我請求對數(shù)據(jù)庫進(jìn)行更新,并且根據(jù)所需的更新量,它要么向下發(fā)送一個(gè)全新的數(shù)據(jù)庫,要么發(fā)送一系列SQL語句.我強(qiáng)烈建議將數(shù)據(jù)庫保留在sdcard上(如果可用),尤其是如果您要下載的數(shù)據(jù)庫大小可變且大小僅超過幾千字節(jié)時(shí).
我正在執(zhí)行以下操作以獲取文件(修改口味,因?yàn)槟赡苄枰赟OAP響應(yīng)中處理XML,也請忽略進(jìn)度內(nèi)容.)
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 stream
fileStream.close();
httpResponse.close();
然后,我執(zhí)行以下操作來訪問數(shù)據(jù)庫.由于這些數(shù)據(jù)庫也用于iPhone應(yīng)用程序,因此它們沒有特定于Android的表,因此需要SQLiteDatabase.NO_LOCALIZED_COLLATORS標(biāo)志來訪問數(shù)據(jù)庫.請注意,我的數(shù)據(jù)庫類擴(kuò)展了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();
}
}
總結(jié)
以上是生活随笔為你收集整理的android与mysql的交互,与Android中的外部SQLite数据库进行交互.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面包车怎样放木梯子
- 下一篇: 电摩托车用导航是用摩托车导航还是用电动车