代码片段(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(){ }
}
|