A program needs to have several pieces of data as soon as it is installed. The current program first checks whether the table exists. If the table does not exist, it is created. If the table exists, it is not created. So I went online for half a day and found a solution. Put the database files under res/raw. It seems that the android raw files will not be compiled into binary files. Run the program to check whether the database table does not exist. Then, copy the database file in raw to the mobile phone using the input/output stream. The Code is as follows:
Java code
Try {
Java code
Log. e (DATABASE_PATH, DATABASE_PATH );
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
File dir = new File (DATABASE_PATH );
If (! Dir. exists ())
Dir. mkdir ();
If (! (New File (databaseFilename). exists ()){
InputStream is = getResources (). openRawResource (
R. raw. healthmanage );
FileOutputStream fos = new FileOutputStream (databaseFilename );
Byte [] buffer = new byte [8192];
Int count = 0;
While (count = is. read (buffer)> 0 ){
Fos. write (buffer, 0, count );
}
Fos. close ();
Is. close ();
}
Catch (Exception e ){
Log. e ("error", "error ");
Where
Java code
DATABASE_PATH and
Java code
DATABASE_FILENAME can be customized