- 浏览: 5820221 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
有些时候我们的软件用到SQLite数据库,这个时候怎么把一个做好的数据库打包进我们的APK呢,其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的时候可以,我觉得在软件起动页里效果更好一点,首先我们应该把事先写好的数据库文件比如 test.db放到res文件夹里的raw文件夹里,也可以放到assets里,因为这两个文件夹不会在生成APK的时候不会被压缩。
1,DataBaseUtil用于将raw中的db文件copy到手机中,代码如下
2,在需要的activity中加入如下方法用于具体的copy操作
3,检测是否有SDCard,执行copy。(个人感觉可以不检测SD卡是否存在,但不检测似乎有个问题,程序原因?)
OK.
另一篇:
android从assets复制数据库到/databases的替代方法
经常我们需要使用一些事先做好内容的数据库,比如字典等, 这就要加载已有的数据库文件,通常把它们放在assets 或者raw中,在程序运行时copy到程序内部空间:/data/data/package/my_app/databases, 详细的做法看这里。
但是这样有个缺点,当文件较大时会占用较长的时间,用户难免会有点小着急。
我们可以这样HACK来把copy的环节省去:
1 把数据库文件(如MYDB.db) 放到PROJECT/libs/armeabi/ 改名为libMYDB.db.so(注意前面必需加”lib")。
2 用这样的方式打开:
这样等程序一安装完就可以使用数据库了,其原理是把数据库文件伪装成lib库文件,程序在安装时会自动copy到/data/data/package/lib/,省去了我们自己的copy过程。
目前我测试了读操作,写操作还有待测试。
利用GPS定位
http://blog.csdn.net/czjuttsw/article/details/7707965
1,DataBaseUtil用于将raw中的db文件copy到手机中,代码如下
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import com.ata.app.R; /** * copy数据库到apk包 * * @author NGJ * */ public class DataBaseUtil { private Context context; public static String dbName = "Kao.db";// 数据库的名字 private static String DATABASE_PATH;// 数据库在手机里的路径 public DataBaseUtil(Context context) { this.context = context; String packageName = context.getPackageName(); DATABASE_PATH="/data/data/"+packageName+"/databases/"; } /** * 判断数据库是否存在 * * @return false or true */ public boolean checkDataBase() { SQLiteDatabase db = null; try { String databaseFilename = DATABASE_PATH + dbName; db = SQLiteDatabase.openDatabase(databaseFilename, null,SQLiteDatabase.OPEN_READONLY); } catch (SQLiteException e) { } if (db != null) { db.close(); } return db != 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 = new FileOutputStream(databaseFilenames);// 得到数据库文件的写入流 InputStream is = context.getResources().openRawResource(R.raw.kao);// 得到数据库文件的数据流 byte[] buffer = new byte[8192]; int count = 0; while ((count = is.read(buffer)) > 0) { os.write(buffer, 0, count); os.flush(); } is.close(); os.close(); } }
2,在需要的activity中加入如下方法用于具体的copy操作
private void copyDataBaseToPhone() { DataBaseUtil util = new DataBaseUtil(this); // 判断数据库是否存在 boolean dbExist = util.checkDataBase(); if (dbExist) { Log.i("tag", "The database is exist."); } else {// 不存在就把raw里的数据库写入手机 try { util.copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } }
3,检测是否有SDCard,执行copy。(个人感觉可以不检测SD卡是否存在,但不检测似乎有个问题,程序原因?)
boolean hasSDCard = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); if(hasSDCard){ copyDataBaseToPhone(); }else{ showToast("未检测到SDCard"); }
OK.
另一篇:
android从assets复制数据库到/databases的替代方法
经常我们需要使用一些事先做好内容的数据库,比如字典等, 这就要加载已有的数据库文件,通常把它们放在assets 或者raw中,在程序运行时copy到程序内部空间:/data/data/package/my_app/databases, 详细的做法看这里。
但是这样有个缺点,当文件较大时会占用较长的时间,用户难免会有点小着急。
我们可以这样HACK来把copy的环节省去:
1 把数据库文件(如MYDB.db) 放到PROJECT/libs/armeabi/ 改名为libMYDB.db.so(注意前面必需加”lib")。
2 用这样的方式打开:
DATABASE_PATH = "/data/data/" + packageName + "/lib/"; SQLiteDatabase db = SQLiteDatabase.openDatabase(DATABASE_PATH + libMYDB.db.so, null, SQLiteDatabase.OPEN_READONLY | SQLiteDatabase.NO_LOCALIZED_COLLATORS);
这样等程序一安装完就可以使用数据库了,其原理是把数据库文件伪装成lib库文件,程序在安装时会自动copy到/data/data/package/lib/,省去了我们自己的copy过程。
目前我测试了读操作,写操作还有待测试。
利用GPS定位
http://blog.csdn.net/czjuttsw/article/details/7707965
发表评论
-
NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端
2018-10-31 20:45 6993网上有一个StickyScrollView,称之为粘性Scro ... -
自定义Behavior实现AppBarLayout越界弹性效果
2017-03-31 09:33 10369一、继承AppBarLayout.Beha ... -
Android - 一种相似图片搜索算法的实现
2017-03-31 09:33 2622算法 缩小尺寸。 将图片缩小到8x8的尺寸,总共64个 ... -
使用SpringAnimation实现带下拉弹簧动画的 ScrollView
2017-03-30 11:30 2848在刚推出的 Support Library 25.3.0 里面 ... -
Android为应用添加角标(Badge)
2017-03-30 11:21 61771.需求简介 角标是什么意思呢? 看下图即可明了: 可 ... -
Android端与笔记本利用局域网进行FTP通信
2017-03-23 10:17 978先看图 打开前: 打开后: Activity类 ... -
PorterDuffColorFilter 在项目中的基本使用
2017-03-03 10:58 1354有时候标题栏会浮在内容之上,而内容会有颜色的变化,这时候就要求 ... -
ColorAnimationView 实现了滑动Viewpager 时背景色动态变化的过渡效果
2017-02-24 09:41 2220用法在注释中: import android.anima ... -
迷你轻量级全方向完美滑动处理侧滑控件SlideLayout
2017-01-16 16:53 2594纯手工超级迷你轻量级全方向完美滑动处理侧滑控件(比官方 sup ... -
Effect
2017-01-05 09:57 0https://github.com/JetradarMobi ... -
动态主题库Colorful,容易地改变App的配色方案
2016-12-27 14:49 2565Colorful是一个动态主题库,允许您很容易地改变App的配 ... -
对视图的对角线切割DiagonalView
2016-12-27 14:23 1118提供对视图的对角线切割,具有很好的用户定制 基本用法 ... -
仿淘宝京东拖拽商品详情页上下滚动黏滞效果
2016-12-26 16:53 3494比较常用的效果,有现成的,如此甚好!:) import ... -
让任意view具有滑动效果的SlideUp
2016-12-26 09:26 1707基本的类,只有一个: import android.a ... -
AdvancedWebView
2016-12-21 09:44 16https://github.com/delight-im/A ... -
可设置圆角背景边框的按钮, 通过调节色彩明度自动计算按下(pressed)状态颜色
2016-11-02 22:13 1920可设置圆角背景边框的的按钮, 通过调节色彩明度自动计算按下(p ... -
网络请求库相关
2016-10-09 09:35 62https://github.com/amitshekhari ... -
ASimpleCache一个简单的缓存框架
2015-10-26 22:53 2178ASimpleCache 是一个为android制定的 轻量级 ... -
使用ViewDragHelper实现的DragLayout开门效果
2015-10-23 10:55 3415先看一下图,有个直观的了解,向下拖动handle就“开门了”: ... -
保证图片长宽比的同时拉伸图片ImageView
2015-10-16 15:40 3733按比例放大图片,不拉伸失真 import android. ...
相关推荐
本教程将详细解释如何将已创建的SQLite数据库打包进APK并在首次运行时复制到用户的设备上。 首先,你需要在项目资源文件夹中放置数据库文件。Android提供了两个位置可以存放不会被压缩的文件:`res/raw` 和 `assets...
在默认情况下,Android Studio并不会自动将外部的SQLite数据库文件打包进APK。因此,我们需要手动干预这个过程。一种常见的方法是在`assets`目录下放置SQLite数据库文件,因为该目录下的文件会在应用安装时被复制到...
在Android开发中,数据库是应用存储数据的重要方式之一,SQLite是一个轻量级的、嵌入式的、关系型数据库,被广泛应用于移动应用中。...希望这个实例能帮助初学者更好地理解和操作Android的SQLite数据库打包。
本文讲解了如何将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,就可以运行...
在Android应用开发中,"多渠道打包apk"是一种常见的需求,尤其在应用发布阶段,为了适应不同的分发渠道,如应用商店、广告平台等,开发者需要生成带有不同渠道标识的APK文件。这个过程通常涉及到APK的签名和资源替换...
由于上传的压缩包中可能包含多个文件,如JavaApk源码说明.txt、下载更多打包源码~.url和PPT等,因此无法逐一验证所有代码的完整性和可运行性。用户在使用时可能需要根据实际项目需求进行调整和测试,部分代码可以...
在Android系统中,SQLite数据库文件通常位于应用的私有数据目录下,但有时为了简化数据分发或者便于调试,开发者会选择将预填充的SQLite数据库文件放入apk的资源目录,如`res/raw`,并在应用安装后复制到合适的位置...
将SQLite数据库与APK一起打包,意味着在应用安装时就已经包含了预填充的数据,用户无需额外下载或初始化。以下是对这个主题的详细解释: 1. **SQLite数据库结构**: SQLite是一个嵌入式的SQL数据库引擎,它不需要...
首先,APK是Android应用程序包(Android Package)的缩写,是Android平台上的应用软件的一种打包格式。APK文件包含了应用程序的所有组成部分,包括代码、资源、图标和元数据等。当一个APK文件被安装在Android设备上...
11. **Gradle**:Android Studio使用Gradle作为构建工具,它负责编译、打包和发布应用。 12. **版本控制**:由于提供的是源代码,可能涉及到Git等版本控制系统,用于代码管理和团队协作。 通过分析压缩包中的"CL...
在Android平台上,APK文件是应用程序的打包格式,包含所有必要的资源、代码、XML配置以及 Dalvik 可执行文件。通过反编译APK,我们可以获取到原始的Java源代码、资源文件、字符串和布局信息,这对于调试、学习或优化...
1. 音乐库管理:Android的MediaStore类提供对设备上音乐文件的访问,Music应用会遍历MediaStore中的音频内容,创建相应的数据模型并保存到数据库。 2. 播放控制:MusicService中的MediaPlayer对象负责音乐的播放。...
Android APK包是Android应用的可执行文件格式,它包含了应用程序的所有资源、代码、图标、XML配置文件等。本文将深入探讨如何使用“Android apk包解压逆向工具”进行APK分析,以及这个过程中的关键知识点。 首先,...
它包括对apk文件的解包、打包、签名、汉化、应用共存制作、文字翻译等等操作!而本软件也是手机端首个,Android汉化软件,让你在没有电脑的情况下,在任何地点,任何时间都能汉化修改Android软件。 - 支持直接编辑...
在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...
要使用这个jar包,你需要将`jtds-1.2.2.jar`添加到Android项目的libs目录下,并在构建过程中将其打包进APK。然后,在Android代码中,你可以通过以下步骤建立数据库连接: 1. 引入jar包:在`build.gradle`文件中,...