精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

android導入外部已存在的數據庫大于1M的數據庫文件方法

移動開發 Android
android導入外部已存在的數據庫大于1M的數據庫文件方法。

1.如果數據庫文件大于1M,就用Filesplit工具切割。先去下載這個軟件工具
2.首先把已有的數據庫放到assets文件夾下面,如果沒有這個文件就先在android項目中建立這個文件夾。
代碼如下:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;

* 將把assets下的數據庫文件直接復制到DB_PATH,但數據庫文件大小限制在1M以下
* 如果有超過1M的大文件,則需要先分割為N個小文件,然后使用copyBigDatabase()替換copyDatabase()
*/
public class DBManager extends SQLiteOpenHelper {
//用戶數據庫文件的版本
private static final int DB_VERSION = 1;
//數據庫文件目標存放路徑為系統默認位置,com.rys.lb 是你的包名
private static String DB_PATH = "/data/data/com.rys.lb/databases/";

//如果你想把數據庫文件存放在SD卡的話
// private static String DB_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath()
// + "/arthurcn/drivertest/packfiles/";

private static String DB_NAME = "data.db";
private static String ASSETS_NAME = "data.db";

private SQLiteDatabase myDataBase;
private final Context myContext;

/**
* 如果數據庫文件較大,使用FileSplit分割為小于1M的小文件
* 此例中分割為 data.db.100 data.db.101 data.db.102....
*/
//第一個文件名后綴
private static final int ASSETS_SUFFIX_BEGIN = 100;
//最后一個文件名后綴
private static final int ASSETS_SUFFIX_END = 110;

/**
* 在SQLiteOpenHelper的子類當中,必須有該構造函數
* @param context 上下文對象
* @param name 數據庫名稱
* @param factory 一般都是null
* @param version 當前數據庫的版本,值必須是整數并且是遞增的狀態
*/
public DBManager(Context context, String name, CursorFactory factory, int version) {
//必須通過super調用父類當中的構造函數
super(context, name, null, version);
this.myContext = context;
}

public DBManager(Context context, String name, int version){
this(context,name,null,version);
}

public DBManager(Context context, String name){
this(context,name,DB_VERSION);
}

public DBManager (Context context) {
this(context, DB_PATH + DB_NAME);
}

public void createDataBase() throws IOException{
boolean dbExist = checkDataBase();
if(dbExist){
//數據庫已存在,do nothing.

System.out.println("數據庫已經存在");

}else{
//創建數據庫
try {
File dir = new File(DB_PATH);
if(!dir.exists()){
dir.mkdirs();
}
File dbf = new File(DB_PATH + DB_NAME);
if(dbf.exists()){
dbf.delete();
}
SQLiteDatabase.openOrCreateDatabase(dbf, null);
// 復制asseets中的db文件到DB_PATH下
//copyDataBase();
copyBigDataBase();
} catch (IOException e) {
throw new Error("數據庫創建失敗");
}
}
}

//檢查數據庫是否有效
private boolean checkDataBase(){
SQLiteDatabase checkDB = null;
String myPath = DB_PATH + DB_NAME;
try{
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}catch(SQLiteException e){
//database does't exist yet.
}
if(checkDB != null){
checkDB.close();
System.out.println("關閉");
}
return checkDB != null ? true : false;
}
public DBManager open1(){
String myPath = DB_PATH + DB_NAME;
System.out.println("數據庫已經...");
myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
System.out.println("數據庫打開");
return this;

}
/**
* Copies your database from your local assets-folder to the just created empty database in the
* system folder, from where it can be accessed and handled.
* This is done by transfering bytestream.
* */
private void copyDataBase() throws IOException{
//Open your local db as the input stream
InputStream myInput = myContext.getAssets().open(ASSETS_NAME);
// Path to the just created empty db
String outFileName = DB_PATH + DB_NAME;
//Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
//transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
//Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}

//復制assets下的大數據庫文件時用這個
private void copyBigDataBase() throws IOException{
InputStream myInput;
String outFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
for (int i = ASSETS_SUFFIX_BEGIN; i < ASSETS_SUFFIX_END+1; i++) {
myInput = myContext.getAssets().open(ASSETS_NAME + "." + i);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myInput.close();
}
myOutput.close();
System.out.println("數據庫已經復制");
}

@Override
public synchronized void close() {
if(myDataBase != null){
myDataBase.close();
System.out.println("關閉成功1");
}
super.close();
System.out.println("關閉成功2");
}

/**
* 該函數是在第一次創建的時候執行,
* 實際上是第一次得到SQLiteDatabase對象的時候才會調用這個方法
*/
@Override
public void onCreate(SQLiteDatabase db) {
}

/**
* 數據庫表結構有變化時采用
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void open(){
SQLiteDatabase DataBase=this.openOrCreateDatabase("data.db",

null);
}
private SQLiteDatabase openOrCreateDatabase(String string, Object object) {
// TODO Auto-generated method stub
return null;
}
3.用SD卡要加權限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>

【編輯推薦】

  1. Google準備擴展Nexus計劃?Android有救了?
  2. 移動系統后起之秀漸露頹勢:谷歌兄,拉Android一把
  3. Android惡意軟件數量如同坐火箭般上升
責任編輯:冰凝兒 來源: 博客園
相關推薦

2010-05-05 10:19:19

Oracle數據導

2010-09-13 15:31:14

sql server數

2010-04-22 16:08:24

Oracle數據庫

2011-06-07 10:12:27

2010-06-02 17:06:54

MySQL數據庫文件

2010-10-26 11:04:48

oracle數據導入

2010-03-03 15:45:08

Linux Oracl

2011-05-13 09:42:21

2010-09-25 16:38:34

維護DHCP數據庫文件

2010-08-31 10:53:18

DB2導入數據庫

2011-03-10 10:50:01

excelsql數據庫

2020-12-29 11:26:22

鴻蒙HarmonyOS數據庫

2018-02-09 17:02:23

華為云

2011-04-08 09:07:25

Access數據庫Oracle庫

2009-11-18 16:23:26

PHP數據庫文件

2010-07-15 17:50:48

SQLServer收縮

2010-06-09 15:40:59

MySQL數據庫文件

2010-04-28 10:00:10

Oracle數據庫文件

2010-04-22 15:42:34

Oracle數據庫

2010-04-21 12:13:44

Oracle數據庫
點贊
收藏

51CTO技術棧公眾號

亚洲精品720p| 黄色一区二区三区| 91色中文字幕| 国产网址在线观看| 精品久久影院| 日韩女优av电影在线观看| 久久久一本二本三本| 秋霞影院午夜丰满少妇在线视频| 国产福利一区在线| 国产99久久久欧美黑人| 国产精品国产精品| 成人小视频在线观看免费| 天天操天天干天天操| 毛片av中文字幕一区二区| 欧美精品video| 日韩在线视频免费看| 九色丨蝌蚪丨成人| 91麻豆精品国产| 黄色a级片免费| 蜜乳av一区| 国产精品卡一卡二卡三| 精品伦精品一区二区三区视频 | 日韩大片在线| 亚洲精品一区二区三区香蕉| 中文字幕第38页| 在线中文字幕播放| 亚洲成人免费av| 妞干网这里只有精品| 岛国在线视频| 久久久久久久综合狠狠综合| 国产乱码一区| 性生活三级视频| 极品少妇一区二区三区精品视频| 国产成人精品视频| 亚洲欧美综合另类| 亚洲激情一区| 久久久久久国产免费| 日韩一区二区三区四区在线| 成人免费av| 这里只有精品久久| 国产伦精品一区二区三区视频女| 亚洲第一论坛sis| 亚洲国产欧美一区| 亚洲av成人片无码| 欧美激情久久久久久久久久久| 日韩免费高清av| 人妻精油按摩bd高清中文字幕| 性欧美video另类hd尤物| 欧美日韩高清影院| 日本特黄a级片| 国产精品亲子伦av一区二区三区 | 91激情在线观看| 久久精品国产精品亚洲精品| 国产精品久久久久久久久影视| 国产精品熟女视频| 亚洲一区二区三区四区av| 国产免费拔擦拔擦8x高清在线人| 亚洲精品伦理在线| 毛片av在线播放| 黄视频在线免费看| 精品福利视频导航| 欧美黄网站在线观看| 中文字幕高清在线播放| 欧美日韩在线另类| 国产福利影院在线观看| 成人在线免费av| 在线91免费看| 麻豆传媒在线看| 日本天堂一区| 曰本色欧美视频在线| 久草手机视频在线观看| 中文字幕亚洲精品乱码| 欧美激情小视频| 亚洲另类欧美日韩| 奇米精品一区二区三区在线观看一 | 视频一区欧美精品| 国产精品一区二区三区毛片淫片| 一级淫片免费看| 国产成人精品一区二区三区网站观看| 国产在线一区二区三区四区| 日本一区高清| 中文字幕在线不卡| 精品一二三四五区| 欧美黄色网页| 3atv一区二区三区| 亚洲の无码国产の无码步美| 国产一区二区欧美| 大胆人体色综合| 五月激情六月丁香| 蜜臀精品一区二区三区在线观看 | 亚洲av无码一区东京热久久| 欧洲精品一区| 精品国产网站地址| 国产成人免费观看视频| 久久国产精品免费| 精品一区二区三区自拍图片区| wwwxxx在线观看| 亚洲一区二区三区国产| 中文字幕一区二区三区四区在线视频 | 欧美日韩国产综合新一区| 久久久久国产精品熟女影院| 精品国产一区二区三区2021| 日韩高清av在线| 午夜爽爽爽男女免费观看| 一区二区日本视频| 91视频免费在线| 九色视频在线播放| 亚洲福利国产精品| 欧美视频亚洲图片| 精品精品99| 69视频在线播放| 国产www免费观看| 国产肉丝袜一区二区| 大荫蒂性生交片| www.成人在线.com| 一本色道久久综合狠狠躁篇怎么玩 | 欧美性生交xxxxxdddd| 韩国三级在线播放| 五月精品视频| 国产精品欧美风情| 伦理片一区二区三区| 亚洲福利一区二区三区| 日韩av加勒比| 久久久久久久久99精品大| 日韩av电影免费观看高清| 亚洲精选一区二区三区| 亚洲日本成人在线观看| 国产日韩成人内射视频| 日韩美女毛片| 韩国福利视频一区| а√中文在线资源库| 亚洲天堂免费在线观看视频| 中文字幕一区二区三区四区在线视频 | 91精品国产一区二区三区蜜臀| 国产jjizz一区二区三区视频| 国产一区成人| 黑人中文字幕一区二区三区| 久久一卡二卡| 精品国精品国产| 精品无码黑人又粗又大又长| 成人一区二区三区视频| www.好吊操| 精品国产乱子伦一区二区| 欧美精品免费看| 精品人妻伦一二三区久久| 亚洲视频免费看| 亚洲男人天堂2021| 51精产品一区一区三区| 91在线观看免费高清| а√天堂官网中文在线| 日韩欧美视频在线| 国产精品19乱码一区二区三区| 成人综合婷婷国产精品久久免费| 国产在线视频在线| 成人涩涩网站| 97色在线视频观看| 欧美一区二区少妇| 欧美影院午夜播放| 女同久久另类69精品国产| 韩日av一区二区| 人人妻人人澡人人爽欧美一区双| 国语一区二区三区| 国产v综合ⅴ日韩v欧美大片| 国产精品一级伦理| 欧美二区三区91| 久久久综合久久| 91网页版在线| 免费看涩涩视频| 欧美99在线视频观看| 国产精品一区二区免费看| 欧美性爽视频| 亚洲精品视频播放| 一区二区三区www污污污网站| 亚洲日本电影在线| 国产精品300页| 免费成人在线影院| 欧美一区二区三区综合| 琪琪久久久久日韩精品 | 国产精品一区免费在线 | 中文字幕在线播放av| 国产精品久久久久久久久搜平片| 国产91在线免费观看| 亚洲黄色视屏| 亚洲一区二区三区四区中文| 日韩欧美高清一区二区三区| 91精品国产91久久久久| 91网页在线观看| 亚洲精品一区二区三区99| 国产suv精品一区二区33| 亚洲日本韩国一区| 久久久久久亚洲中文字幕无码| 经典三级在线一区| 国产精品免费入口| 中文字幕免费一区二区| 欧美一区二区在线| jazzjazz国产精品麻豆| 国产精品入口福利| av今日在线| 久久久av网站| 酒色婷婷桃色成人免费av网| 日韩一级高清毛片| 涩涩视频在线观看| 亚洲成国产人片在线观看| 一级片黄色录像| 26uuu欧美| 韩国一区二区三区四区| 日韩av中文字幕一区二区| 成人免费观看在线| 伊人青青综合网| 日韩在线电影一区| 欧美黄色录像| 国产女人水真多18毛片18精品 | 精品国产乱码久久久久久郑州公司 | 国产伦精品一区| 一级欧美视频| 国产精品爽爽爽| 天堂а√在线最新版中文在线| 久久av中文字幕| 免费黄色网页在线观看| 国产亚洲精品久久久| 三级视频在线看| 精品国产伦理网| 精品人妻一区二区三区含羞草| 欧美色精品天天在线观看视频| 亚洲天堂日韩av| 亚洲大型综合色站| 黄页网站免费观看| 一区二区在线看| 日本青青草视频| 亚洲三级在线免费观看| 欧美性生给视频| 中日韩免费视频中文字幕| 人妻大战黑人白浆狂泄| 337p粉嫩大胆色噜噜噜噜亚洲| 久久福利小视频| 91在线观看污| 中文精品在线观看| 久久人人爽人人爽| 欧洲美一区二区三区亚洲| 91一区二区三区在线观看| xxxwww国产| 91在线视频播放地址| 波多野结衣先锋影音| 北条麻妃一区二区三区| 99精品一区二区三区无码吞精| 成人免费视频播放| 亚洲 欧美 日韩在线| a级精品国产片在线观看| 白嫩情侣偷拍呻吟刺激| xfplay精品久久| 一区二区三区伦理片| 国产欧美日韩久久| 亚洲女人久久久| 一区二区高清免费观看影视大全| 真实国产乱子伦对白在线| 亚洲一区二区三区小说| 日本一级黄色大片| 欧美性生交大片免网| 日韩不卡高清视频| 7777精品伊人久久久大香线蕉 | 综合久久久久久| 欧美丰满熟妇bbbbbb| 亚洲永久免费视频| 亚洲免费黄色网址| 欧美三级韩国三级日本一级| 国产乱淫av片免费| 亚洲高清av在线| 精品影院一区| 久久综合电影一区| 999av小视频在线| 国产成人久久久| 国产精品中文| 欧美日韩成人一区二区三区| 日韩成人a**站| 男人添女人下部视频免费| 国产一区二区三区成人欧美日韩在线观看| 国产精品乱码久久久久| 国产麻豆午夜三级精品| 99久久国产精| 中文字幕一区二区三区乱码在线| 妺妺窝人体色www聚色窝仙踪| 欧美性精品220| 国产精品亚洲lv粉色| 亚洲国产成人精品一区二区 | 亚洲另类春色校园小说| 亚洲成人一区二区三区| 合欧美一区二区三区| 黄色片久久久久| 国产精品原创巨作av| 日本xxx在线播放| 亚洲欧美成人一区二区三区| 日韩在线观看第一页| 欧美片网站yy| 欧洲亚洲精品视频| 久久99热精品这里久久精品| 成人性生交大片免费观看网站| 亚洲在线一区二区| 欧洲激情综合| 国产精品333| 国产成人精品免费网站| 国产三级在线观看完整版| 亚洲成人在线观看视频| 伊人网中文字幕| 亚洲精品日韩欧美| av男人的天堂在线观看| 亚洲影影院av| 日韩精品网站| 99热成人精品热久久66| 国产超碰在线一区| 免费成人深夜夜行网站| 日本高清免费不卡视频| 午夜国产在线观看| 高清一区二区三区四区五区| 91视频亚洲| 在线观看一区二区三区三州| 久久都是精品| 男男做爰猛烈叫床爽爽小说| 亚洲欧美日韩一区二区 | 9l视频自拍9l视频自拍| 日韩精品亚洲专区| 成人精品在线观看视频| 亚洲国产欧美另类丝袜| 精品毛片在线观看| 久久成年人视频| 91精品国产色综合久久不卡粉嫩| 激情五月婷婷综合| 美女伦理水蜜桃4| 一个色妞综合视频在线观看| 国产又色又爽又黄又免费| 一本色道久久88综合亚洲精品ⅰ| 成人短视频app| 免费在线一区二区| 久久精品中文| brazzers精品成人一区| 欧美性猛交xxxx乱大交3| 色呦呦中文字幕| 国语自产精品视频在免费| 中文字幕区一区二区三| 日本精品福利视频| 国产91在线观看| 国产一级片免费看| 亚洲第一av在线| 久久男人av资源站| 美乳视频一区二区| 久久国产高清| 免费成人深夜天涯网站| 欧美三级中文字幕在线观看| porn视频在线观看| 国产日韩欧美中文| 国产精品久久久久蜜臀 | 成人豆花视频| 日本道在线视频| 成人小视频在线观看| 日本免费一二三区| 日韩国产精品一区| 校园春色亚洲色图| 天堂资源在线亚洲视频| 狠狠久久亚洲欧美| 精品视频一区二区在线观看| 亚洲精品国产suv| 日本高清不卡一区二区三区视频 | 欧美久久免费观看| 色呦呦在线观看视频| 国产九色精品| 日韩电影在线观看电影| 国产高潮流白浆| 欧美精品一区二区蜜臀亚洲| 粉嫩一区二区| 成年人免费观看的视频| 高清不卡一区二区| 亚洲GV成人无码久久精品| 最新日韩中文字幕| 精品视频在线播放一区二区三区| 真实国产乱子伦对白视频| 97精品视频在线观看自产线路二| 波多野结衣一区二区三区四区| 久久精品久久精品亚洲人| 9999久久久久| 日本888xxxx| 亚洲国产精品人人做人人爽| 黄视频在线播放| 91精品网站| 视频一区免费在线观看| 欧美日韩在线国产| 亚洲香蕉成人av网站在线观看| 91精品亚洲一区在线观看| 五月丁香综合缴情六月小说| 中文字幕av一区二区三区高| www.日本在线观看| 国产精国产精品| 伊人久久综合| 蜜桃视频最新网址| 亚洲欧美日韩精品久久亚洲区| 97精品资源在线观看| 国模无码视频一区二区三区| 中文字幕亚洲不卡| 黄色av免费在线观看| 国产厕所精品在线观看| 欧美aaaaa成人免费观看视频| 国产五月天婷婷|