- 浏览: 41822 次
- 性别:
- 来自: 日照
最新评论
-
wuhanchendalong:
哥们你能把这个源代码的布局文件发给我好吗?我看看 非常感谢 ...
Android 自定义BaseAdapter -
greatghoul:
antkingwei 写道greatghoul 写道有木有跨平 ...
Java 在CS客户端做网页连接 -
antkingwei:
greatghoul 写道有木有跨平台的实现方法?什么意思?
Java 在CS客户端做网页连接 -
greatghoul:
有木有跨平台的实现方法?
Java 在CS客户端做网页连接
有些时候我们的软件用到SQLite数据库,这个时候怎么把一个做好的数据库打包进我们的APK呢,其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的时候可以,我觉得在软件起动页里效果更好一点,首先我们应该把事先写好的数据库文件比如test.db放到res文件夹里的raw文件夹里,也可以放到assets里,因为这两个文件夹不会在生成APK的时候不会被压缩 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){
}
}
}
}
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;
}
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(){
}
}
发表评论
-
Android开发中用到的几种多线程
2012-03-12 10:42 2174在开发工程中线程可以帮助我们提高运行速度,Andro ... -
goolge 地图地址位置解析
2012-02-24 16:50 1174Java代码package com.android.yibai ... -
Android ImageView使用网上图片资源
2012-02-24 16:47 1761Java代码package com.android.antk ... -
Android手机与WEB服务器通信
2012-02-24 12:30 2745Tomcat服务器 package com.edu.q ... -
手机于PC服务器通信
2012-02-24 12:16 1104手机客户端 package com.newsocket ... -
在google地图上画出两点的行走路线
2012-02-23 12:56 1738新建一个图层 package com.androi ... -
goolge 地图弹出气泡
2012-02-23 12:50 1598新建图层 package com.android.a ... -
GPS定位那点事
2012-02-22 15:30 1454<?xml version="1.0 ... -
手机上使用google 搜索引擎
2012-02-22 15:25 1141<?xml version="1.0&q ... -
android phoneGap开发
2012-01-15 08:42 1053PhoneGap是一个用基于HTML,CSS和JavaScri ... -
Android Google地图开发入门
2011-12-29 17:17 1806Android开发要连接GoogelMaps使用MapVi ... -
集中管理Activity
2011-12-25 15:21 1120有时候在设计软件的时候布局复杂的话不利于查看跟更改,这时 ... -
Android Dilaog 设置没有标题注意的地方
2011-12-23 12:51 1397layoutInflater = LayoutInfla ... -
AndroidUI设计美化
2011-12-18 15:52 958不要说Android中UI做的丑是因为不会美化,其实做一个 ... -
Android QQ多级列表的实现
2011-12-17 19:40 2320主类: package com.android.qu ... -
Android SharedPreferences应用解析
2011-12-11 09:52 1195在任何软件中,数据存储都是非常重要的,一定程度上来说它是软件 ... -
Android GridView,Gallery动态更新数据
2011-12-09 00:05 3080package com.android.wei.z ... -
Android 划出一个半透明的PopupWindow
2011-12-07 22:22 2755效果图好像不显示了package com.android ... -
Android 自定义BaseAdapter
2011-12-04 13:57 1324不要对俺的贴图做评价 看一下代码实现 pac ... -
Android 3D壁纸开发设计
2011-11-30 19:34 1065希望能给需要得人一点帮助,这个触屏可以改变壁纸映射, J ...
相关推荐
本教程将详细解释如何将已创建的SQLite数据库打包进APK并在首次运行时复制到用户的设备上。 首先,你需要在项目资源文件夹中放置数据库文件。Android提供了两个位置可以存放不会被压缩的文件:`res/raw` 和 `assets...
在默认情况下,Android Studio并不会自动将外部的SQLite数据库文件打包进APK。因此,我们需要手动干预这个过程。一种常见的方法是在`assets`目录下放置SQLite数据库文件,因为该目录下的文件会在应用安装时被复制到...
对于初学者来说,如何将SQLite数据库与APK文件打包在一起,以便用户安装应用后可以直接使用数据库中的数据,是一个常见的问题。下面我们将详细介绍这个过程。 首先,你需要在开发环境中创建并填充SQLite数据库。这...
在Android系统中,SQLite数据库文件通常位于应用的私有数据目录下,但有时为了简化数据分发或者便于调试,开发者会选择将预填充的SQLite数据库文件放入apk的资源目录,如`res/raw`,并在应用安装后复制到合适的位置...
本文讲解了如何将SQLite数据库(dictionary.db文件)与apk文件一起发布。这个过程可以将dictionary.db文件复制到Eclipse Android工程中的res\raw目录中,从而在apk文件中包含数据库文件。 知识点1:Android中的资源...
3. **APK应用**:APK是Android应用程序的打包格式,包含了运行在Android设备上的所有必要组件,如代码、资源、权限声明等。这个APK可能是骆驼壳系统的客户端,让用户可以通过手机或平板电脑访问服务。APK的开发通常...
为了便于用户安装和使用,项目还打包成了APK(Android Package)文件,即library.apk。APK是Android应用程序的二进制格式,包含了应用的所有资源、代码和库文件。用户只需在Android设备上安装这个APK,就可以运行...
11. **Gradle**:Android Studio使用Gradle作为构建工具,它负责编译、打包和发布应用。 12. **版本控制**:由于提供的是源代码,可能涉及到Git等版本控制系统,用于代码管理和团队协作。 通过分析压缩包中的"CL...
总之,将SQLite与APK打包是为了在应用首次启动时就提供预填充的数据,提高用户体验。虽然Android Studio提供了更现代的方法,但基本的打包原理仍然是相同的。开发者需要考虑数据迁移、权限管理和版本控制等问题,以...
由于上传的压缩包中可能包含多个文件,如JavaApk源码说明.txt、下载更多打包源码~.url和PPT等,因此无法逐一验证所有代码的完整性和可运行性。用户在使用时可能需要根据实际项目需求进行调整和测试,部分代码可以...
首先,APK是Android应用程序包(Android Package)的缩写,是Android平台上的应用软件的一种打包格式。APK文件包含了应用程序的所有组成部分,包括代码、资源、图标和元数据等。当一个APK文件被安装在Android设备上...
在Android应用开发中,"多渠道打包apk"是一种常见的需求,尤其在应用发布阶段,为了适应不同的分发渠道,如应用商店、广告平台等,开发者需要生成带有不同渠道标识的APK文件。这个过程通常涉及到APK的签名和资源替换...
Android APK包是Android应用的可执行文件格式,它包含了应用程序的所有资源、代码、图标、XML配置文件等。本文将深入探讨如何使用“Android apk包解压逆向工具”进行APK分析,以及这个过程中的关键知识点。 首先,...
12. **发布流程**:最后,了解APK的构建和签名过程,以及如何在Google Play Store或其他第三方市场发布应用,也是Android开发的重要一环。 通过深入研究这个"完美版的Android拼图游戏"的源码,开发者不仅能学习到...
它包括对apk文件的解包、打包、签名、汉化、应用共存制作、文字翻译等等操作!而本软件也是手机端首个,Android汉化软件,让你在没有电脑的情况下,在任何地点,任何时间都能汉化修改Android软件。 - 支持直接编辑...
在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...
`Android-ChangeEnvironment`项目专注于解决这两个问题,提供了一键快速切换开发环境和多渠道打包的功能,大大提升了开发和发布效率。以下是对这些概念的详细解释: **开发环境切换** 在Android应用的开发过程中,...