Android 数据库打包随APK发布
来源:互联网 发布:吾生也有涯 知也无涯 编辑:程序博客网 时间:2024/05/20 03:42
代码片段(1)[全屏查看所有代码]
1. [代码]Java代码 跳至 [1] [全屏预览]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import
java.io.File;
import
java.io.FileNotFoundException;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.io.InputStream;
import
com.android.qufu.dinner.MealActivityGroup;
import
com.android.qufu.dinner.R;
import
android.app.Activity;
import
android.content.Context;
import
android.content.Intent;
import
android.content.SharedPreferences;
import
android.content.pm.ActivityInfo;
import
android.database.sqlite.SQLiteDatabase;
import
android.database.sqlite.SQLiteException;
import
android.os.Bundle;
import
android.os.Handler;
import
android.os.Message;
import
android.view.Window;
import
android.view.WindowManager;
import
android.widget.ImageView;
import
android.widget.TextView;
public
class
Loggin
extends
Activity {
public
static
String dbName=
"dinner.db"
;
//数据库的名字
private
static
String DATABASE_PATH=
"/data/data/com.android.qufu.dinner/databases/"
;
//数据库在手机里的路径
int
alpha =
255
;
int
b =
0
;
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.login);
//判断数据库是否存在
boolean
dbExist = checkDataBase();
if
(dbExist){
}
else
{
//不存在就把raw里的数据库写入手机
try
{
copyDataBase();
}
catch
(IOException e){
throw
new
Error(
"Error copying database"
);
}
}
new
Thread(
new
Runnable() {
public
void
run() {
initApp();
//初始化程序
while
(b <
2
) {
try
{
if
(b ==
0
) {
Thread.sleep(
20
);
b =
1
;
}
else
{
Thread.sleep(
50
);
}
updateApp();
}
catch
(InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
public
void
updateApp() {
alpha -=
5
;
if
(alpha <=
0
) {
b =
2
;
if
(
true
){
try
{
Intent in =
new
Intent(Loggin.
this
,MealActivityGroup.
class
);
Loggin.
this
.startActivity(in);
Loggin.
this
.finish();
}
catch
(Exception e){
}
}
}
}
/**
* 判断数据库是否存在
* @return false or true
*/
public
boolean
checkDataBase(){
SQLiteDatabase checkDB =
null
;
try
{
String databaseFilename = DATABASE_PATH+dbName;
checkDB =SQLiteDatabase.openDatabase(databaseFilename,
null
,
SQLiteDatabase.OPEN_READONLY);
}
catch
(SQLiteException e){
}
if
(checkDB!=
null
){
checkDB.close();
}
return
checkDB !=
null
?
true
:
false
;
}
/**
* 复制数据库到手机指定文件夹下
* @throws IOException
*/
public
void
copyDataBase()
throws
IOException{
String databaseFilenames =DATABASE_PATH+dbName;
File dir =
new
File(DATABASE_PATH);
if
(!dir.exists())
//判断文件夹是否存在,不存在就新建一个
dir.mkdir();
FileOutputStream os =
null
;
try
{
os =
new
FileOutputStream(databaseFilenames);
//得到数据库文件的写入流
}
catch
(FileNotFoundException e){
e.printStackTrace();
}
InputStream is = Loggin.
this
.getResources().openRawResource(R.raw.test);
//得到数据库文件的数据流
byte
[] buffer =
new
byte
[
8192
];
int
count =
0
;
try
{
while
((count=is.read(buffer))>
0
){
os.write(buffer,
0
, count);
os.flush();
}
}
catch
(IOException e){
}
try
{
is.close();
os.close();
}
catch
(IOException e){
e.printStackTrace();
}
}
/**
* 初始化,这里是起始页的没有用
*/
public
void
initApp(){
}
}
0 0
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android 数据库打包随APK发布
- Android数据库SQLite文件打包,随APK发布
- android 如何将数据库打包到apk中发布
- Android 讲sqlite数据库打包同apk一同发布
- Android Studio 打包发布apk
- Android 数据库打包随APK发布 &&另assets与raw的区别(链接)
- Android 数据库打包随APK发布 &&另assets与raw的区别(链接)
- android数据库(随apk一起发布数据库)
- Android 数据库打包发布
- Android数据库打包发布
- 【android】Android Studio项目打包,发布APK
- HDU 2896 病毒侵袭 AC自动机
- 读 给 Android 开发者的 RxJava 详解 笔记
- 关于3D touch 一些简单实用
- neutron availability zones
- 中文API学习文档(持续更新)
- Android 数据库打包随APK发布
- Kali Linux 网络扫描秘籍 第三章 端口扫描(一)
- Activity的滑动返回效果
- Oracle中的事务之savepoint
- 正则表达式整理
- iOS 推送全解析,你不可不知的所有 Tips!
- IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法(转)
- UIImageView 的 layer.mask
- centos7 安装memcached以及扩展