Android 数据库打包随APK发布
来源:互联网 发布:苹果双系统删除mac 编辑:程序博客网 时间:2024/05/20 04:49
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
- 第六周作业二
- 字符串基本操作
- 淘宝Metaq maven install gecko.jar
- ContextLoaderListener的作用
- 日语动词分类变形
- Android 数据库打包随APK发布
- 深入学习struts2的配置文件
- 【最后一个非零数】
- 模式对话框和无模式对话框 区别
- 数据库中的数据类型
- UNION运算符
- 简单的文件输入/输出
- android开发--代码混淆
- android轮询最佳实践service+AlarmManager+Thread