public class DbManager {
private final static int BUFFER_SIZE = 400000;
public static final String DB_NAME = "weather_rushfunsion.db"; // 保存的数据库文件名
public static final String PACKAGE_NAME = "com.weather.test";
public static final String DB_PATH = "/data"
+ Environment.getDataDirectory().getAbsolutePath() + "/"
+ PACKAGE_NAME;
static InputStream in;
// 在手机里存放数据库的位置
private static SQLiteDatabase db;
private static DbManager manager;
// private static InputStream getDbInputStreamFromNet(String strUrl) {
// URL url;
// if (in == null) {
// try {
// url = new URL(strUrl);
// in = url.openStream();
// } catch (MalformedURLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
//
// return in;
// }
private DbManager() {
}
public static DbManager getInstants(Context ctx){
if(manager==null){
manager = new DbManager();
}
in = ctx.getClassLoader().getResourceAsStream("weather_rushfunsion.db");
System.out.println("in--->"+in);
return manager;
}
public SQLiteDatabase openDatabase() {
db = openDatabase(DB_PATH + "/" + DB_NAME);
return db;
}
public SQLiteDatabase openDatabase(String dbfile) {
try {
if (!(new File(dbfile).exists())) {
// 判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库
System.out.println("inputstream-->" + in);
// 欲导入的数据库
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[BUFFER_SIZE];
int count = 0;
while ((count = in.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
in.close();
}
db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
return db;
} catch (Exception e) {
e.printStackTrace();
}
return SQLiteDatabase.openOrCreateDatabase(dbfile, null);
}
// do something else here<BR>
public void closeDatabase() {
db.close();
}
}
private final static int BUFFER_SIZE = 400000;
public static final String DB_NAME = "weather_rushfunsion.db"; // 保存的数据库文件名
public static final String PACKAGE_NAME = "com.weather.test";
public static final String DB_PATH = "/data"
+ Environment.getDataDirectory().getAbsolutePath() + "/"
+ PACKAGE_NAME;
static InputStream in;
// 在手机里存放数据库的位置
private static SQLiteDatabase db;
private static DbManager manager;
// private static InputStream getDbInputStreamFromNet(String strUrl) {
// URL url;
// if (in == null) {
// try {
// url = new URL(strUrl);
// in = url.openStream();
// } catch (MalformedURLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
//
// return in;
// }
private DbManager() {
}
public static DbManager getInstants(Context ctx){
if(manager==null){
manager = new DbManager();
}
in = ctx.getClassLoader().getResourceAsStream("weather_rushfunsion.db");
System.out.println("in--->"+in);
return manager;
}
public SQLiteDatabase openDatabase() {
db = openDatabase(DB_PATH + "/" + DB_NAME);
return db;
}
public SQLiteDatabase openDatabase(String dbfile) {
try {
if (!(new File(dbfile).exists())) {
// 判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库
System.out.println("inputstream-->" + in);
// 欲导入的数据库
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[BUFFER_SIZE];
int count = 0;
while ((count = in.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
in.close();
}
db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
return db;
} catch (Exception e) {
e.printStackTrace();
}
return SQLiteDatabase.openOrCreateDatabase(dbfile, null);
}
// do something else here<BR>
public void closeDatabase() {
db.close();
}
}