将本地sqlite数据库导入到一个新android项目中
来源:互联网 发布:体育专业表格数据分析 编辑:程序博客网 时间:2024/06/05 03:41
熊猫猫韩国代购
第一步,创建一个类如下所示,用于将本地数据库文件导入相应的存放数据库的文件夹下面
package com.example.testimportdb;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.content.Context;
import android.os.Environment;
public class ImportDB {
public static final String DB_NAME = "benwee_city"; // 保存的数据库文件名
public static final String PACKAGE_NAME = "com.example.testimportdb";// 工程包名
public static final String DB_PATH = "/data"
+ Environment.getDataDirectory().getAbsolutePath() + "/"
+ PACKAGE_NAME + "/databases"; // 在手机里存放数据库的位置
private Context context;
ImportDB(Context context) {
this.context = context;
}
public void copyDatabase() {
String dbfile = DB_PATH + "/" + DB_NAME;
try {
// 执行数据库导入
InputStream is = this.context.getResources().getAssets()
.open("benwee_city.db"); // 欲导入的数据库
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[1024];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();// 关闭输出流
is.close();// 关闭输入流
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
第二步,创建一个类DBOpenHelper
public class DBOpenHelper extends SQLiteOpenHelper {
private static String NAME = "benwee_city";
private static final int version = 1;
private static final String CREATE_TABLE_CITY = "create table if not exists city(id text primary key,"
+ "province text,areaname text,cityname text,pyname text)";
/* 创建一个表,将点击过的,在WeatherActivity界面中显示过的城市的信息保存在里面。 */
private static final String CREATE_TABLE_WEATHER = "create table if not exists weather(cityname text,"
+ "tempnow text,weatherstatedetails text,temp text,wind text,time text,rays text,comfortable text,clothes text)";
private static final String DROP_TABLE_CITY = "drop table if exists city";
public DBOpenHelper(Context context) {
super(context, NAME, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_CITY);
db.execSQL(CREATE_TABLE_WEATHER);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// db.execSQL(DROP_TABLE_CITY);
}
}
第三步,在合适的地方调用下面语句:
DBOpenHelper dbOpenHelper = new DBOpenHelper(getApplicationContext());
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
new ImportDB(GuideActivity.this).copyDatabase();
搞定!!!
- 将本地sqlite数据库导入到一个新android项目中
- 将csv数据文件导入到sqlite数据库中
- WinCE下将SQLite数据库导入到另外一个SQLite数据库
- Android Studio 将本地开源库导入到自己的项目中使用(小记)
- Android开发-将一个项目作为lib导入到另外一个项目中
- 将外部sqlite3数据库导入到Android项目中(android studio)
- android studio将外部sqlite3数据库导入到Android项目中
- android 将网络获取的图片保存到本地的Sqlite数据库中(包括json获取,解析,获取网络图片,创建本地数据库)
- 将eclispe中项目导入到Android Studio中
- 批量将本地sql导入到服务器mysql数据库中,和将服务器中的sql导出到本地
- 将远程数据库中的1张表导入到本地数据库中
- 将eclipse中的项目导入到android studio 中
- 将一个本地项目提交到git
- 如何将字段中带逗号的SQLite数据库数据导入到MySQL
- SQLite将一个表中的数据导入到另一个表中
- MySQL将远程数据库的导入到本地数据库
- 将远程oracle数据库导入到本地数据库
- SQLite将一个数据库中的全部信息完全复制到另一个数据库中
- Navicat for MySQL导入/导出数据表
- asp.net服务器端获取IP地址
- select ...for update
- 改变表空间的存储设置
- 免费git服务器以及使用过程中遇到的问题
- 将本地sqlite数据库导入到一个新android项目中
- shell编程学习
- 在word 中复选框划勾或叉的方法
- 【Android UI设计与开发】第17期:滑动菜单栏(二)开源项目SlidingMenu的示例
- Hibernate3.2 核心包和说明
- Codeforces 292E(Copying Data)
- VMware 9 安装 OS X 10.8.4 并安装 Xcode 4.6
- 利用OMF管理表空间
- 删除表空间