- 浏览: 64224 次
文章分类
- 全部博客 (35)
- java (35)
- c# winform 使用flowlayoutpanel控件做为导航菜单按钮的容器 (1)
- 数据库比较工具DBCompareTool 0.3.0 preview 发布 (1)
- xmemcached发布1.3.4 (1)
- web.xml中一些标签的解释 (1)
- Select (1)
- lua 网址大全 (1)
- date 显示至1970年来的秒数 (1)
- struts2一个表单提交多个action (1)
- 监听短信并判断是否未读 (1)
- 日本软件公司 管理者 改善 流程 (1)
- 一点点感悟 (1)
- 判断一个字符是双字节还是单字节 (1)
- “未与信任 SQL SERVER 连接相关联”错误解决方法 (1)
- 如何美化自己的BLOG (1)
- 金山词霸2005采用新的防止盗版的方法及简单解决方法 (1)
- 图形图像必须知道的事(一):几何变换 (1)
- 男人帮之程序员坚持语录 (1)
- android程序复制数据库 (1)
- javascript父、子页面交互小结 (1)
- java使用代理发送邮件 (1)
- eclipse修改project名称出问题,彻底删除项目 (1)
- Android开发之Intent、广播和接收 (1)
- 在一个方向上延伸,我的春天可能快来到了。 (1)
- chm文件无法打开问题 (1)
- Oracle数据库与MySQL数据库的几点区别 (1)
- [转载]SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 (1)
- 高质量Java编码指南 (1)
- ruby 不完全安装修复 [openssl or zlib not found] (1)
- 切换CVS账户 (1)
最新评论
-
jurafish:
楼主,这个比较工具在哪儿下载呀?你说给的链接全都失效了:(
数据库比较工具DBCompareTool 0.3.0 preview 发布 -
wolf_awp:
iteye越来越不行了啊!
一点点感悟 -
zhuchao_ko:
............................... ...
struts2一个表单提交多个action
一般项目中我们把db文件放到assert或者raw目录下面,在程序第一次启动的时候复制到私有目录下面
?
在使用过程中,老是发现复制不成功,私有目录下的db文件总是3072
?
<span style="color: #ff0000;">后来发现应该是使用ContentProvider的原因,它会先创建一个空的db。
</span>
<br><img src="http://dl.iteye.com/upload/attachment/598512/8863f1d9-f38b-33f4-8262-dd5692375d79.jpg" alt="">
而我的程序在复制数据库的时候会判断私有目录下是否有数据库文件,如果有则不复制。
?
现在改为用SharedPreferences一个字段判断是否第一次复制。
<span style="color: #ff0000;">第一次复制数据库的时候就算私有目录下有db文件,也删除。</span>
这样就ok了
?
代码如下:
public class CopyDataActivity extends Activity{ boolean needCopy = false; SharedPreferences mSP = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.copy_data); mSP = getSharedPreferences(Constants.PREFERENCES_NAME, MODE_PRIVATE); needCopy = mSP.getBoolean("need_copy_data", true); if(needCopy){ handler.post(copyPlanThread); }else{ goToMain(); } } private void goToMain(){ mSP.edit().putBoolean("need_copy_data", false).commit(); startActivity(new Intent(CopyDataActivity.this,LoginActivity.class)); this.finish(); } private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); int what = msg.what; int arg1 = msg.arg1; if(what==1){ //这里可以在页面显示复制进度什么的 Log.e("Copy","复制大小:"+arg1); }else{ goToMain(); mSP.edit().putBoolean("need_copy_data", false).commit(); } } }; Runnable copyPlanThread = new Runnable() { @Override public void run() { try{ copyDatabase(); }catch(Exception e){ e.printStackTrace(); } } }; private void copyDatabase() throws Exception{ Log.e("Copy","copy start"); File dbfile = new File(getFilesDir().getAbsolutePath() +File.separator+ "mydb.db"; File dir = dbfile.getParentFile(); if(dir.exists() == false){ dir.mkdirs(); } //把contentprovider生成的db删除 if(dbfile.exists()){ dbfile.delete(); } InputStream is = this.getResources().openRawResource(R.raw.library); FileOutputStream fos = new FileOutputStream( dbfile); byte[] buffer =new byte[1024]; int size = 0; int length = 0; //字节 while( (length= is.read(buffer)) > 0){ fos.write(buffer,0,length); size += length; Message msg = new Message(); msg.what = 1; msg.arg1 = size; handler.sendMessage(msg); } fos.flush(); fos.close(); is.close(); Log.e("Copy","copy end"); Message msg = new Message(); msg.what = 0; msg.arg1 = 0; handler.sendMessage(msg); } }
?
?
?
<ul style="display:none;">
</ul>
发表评论
-
切换CVS账户
2012-02-07 17:19 1091<div style="text-i ... -
ruby 不完全安装修复 [openssl or zlib not found]
2012-02-07 14:58 924发现 ruby源码包的ext文件夹下有很多 扩展包, ... -
高质量Java编码指南
2012-02-04 14:33 1075核心思想依然是《Effective Java》里面说: ... -
[转载]SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
2012-02-03 12:09 788Insert是T-sql中常用语句,Insert ... -
Oracle数据库与MySQL数据库的几点区别
2012-02-03 08:34 1223<span style="" ... -
chm文件无法打开问题
2012-02-02 13:59 902<div class="quot ... -
在一个方向上延伸,我的春天可能快来到了。
2012-01-31 13:38 760工作了这么久,我好想才找到了自己感兴趣的方向。不知道算 ... -
Android开发之Intent、广播和接收
2012-01-31 13:28 7614<h1>Android开发之Intent、 ... -
eclipse修改project名称出问题,彻底删除项目
2012-01-11 14:28 8440想给刚建好的project改名字,refac ... -
java使用代理发送邮件
2011-12-28 15:03 1992[size=18px;]最近用java写个发邮件的东东 ... -
javascript父、子页面交互小结
2011-12-28 13:43 965<span style="font-f ... -
男人帮之程序员坚持语录
2011-12-20 16:29 771[size=18px;]1.”我们处在一个瞬息万变的世 ... -
图形图像必须知道的事(一):几何变换
2011-12-20 14:03 1096[size=9pt;]作者:[/size]<s ... -
金山词霸2005采用新的防止盗版的方法及简单解决方法
2011-12-19 09:44 852金山词霸2005新鲜出炉,不少人都已经从网上下载并且安 ... -
如何美化自己的BLOG
2011-12-15 17:24 699下面的三个美化BLOG的方法是用的最多的,是最常见的. ... -
“未与信任 SQL SERVER 连接相关联”错误解决方法
2011-12-14 17:19 790<font s ... -
判断一个字符是双字节还是单字节
2011-12-14 10:24 4766对于字符串的处理,经常会遇到需要判断字符是双字节还是单 ... -
一点点感悟
2011-12-13 11:09 825<p class="MsoNo ... -
日本软件公司 管理者 改善 流程
2011-12-13 09:49 744<p class="MsoNorma ... -
监听短信并判断是否未读
2011-12-08 19:04 1054final String SMS_RECEIVED ...
相关推荐
浏览性软件要求实现数据库文件和源代码一起发布,需要把数据库文件放在资源目录,程序第一次运行时先把数据库文件复制到sd卡或者内存中。
自己做的一个android数据库复制到sdcard和一个简单的角标使用,demo很简陋.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android studio源码,记事本,可做备忘录 纯安卓项目本地数据库sqlite ...项目包含 源码+apk文件+演示视频 ...它是Android应用程序常用的本地数据库解决方案,可用于存储和管理应用程序的数据。 3. 登录注册功能:登录注
使用已经写好的全国城市SQLite,将其放在raw下,程序再将数据库复制到手机文件夹下,查询数据库,使用spinner实现三级联查询。
cordova-plugin-dbcopy, 将SQLite数据库从www文件夹复制到默认应用程序数据库位置 cordova-plugin-dbcopy在你的phonegap/cordova Android和iOS应用程序中添加一个预填充的SQLite数据库。重要升级说明位置已经在...
本demo实现了程序启动时,从assets文件夹中复制sqlite文件到程序的功能,里面带了一个sqlite查看工具,sqlite分割工具,详细说明文档。...程序启动后,Log会输出结果,也可以使用adb shell进行查看数据库是否复制成功。
ADB(Android Debug Bridge)是一个用于与Android设备通信的命令行工具。它提供了许多功能,用于开发、调试和管理Android设备。...导出和导入数据库:ADB允许您从设备导出应用程序的数据库,并将其导
库提供了快速的主-主复制,可将任何Android移动设备上的应用程序数据库与远程PostgreSQL数据库同步。 远程数据库充当中间人,它始终可用并有助于同步。 特征 快速地 易于使用 自动解决冲突 最小的数据库使用限制 ...
copy复制 cut剪切 paste粘贴 delete删除 select选择 find查找 select all全选 replace替换 undo撤消 redo重做 program程序 license许可(证) back前一步 next下一步 finish结束 folder文件夹 ...
adb 实用程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以使用 shell 命令行参数连接到手机本身,并发送基本的 shell 命令。图 4 显示在通过 USB 线连接到 Windows 笔记本...
从Kakaotalk的Android应用程序的本地数据库解密聊天记录。 用法 打印解密的聊天记录: $ ./kakaodecrypt.py -p KakaoTalk.db ... 将chat_logs表解密为新的chat_logs_dec表: $ ./kakaodecrypt.py KakaoTalk.db #...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
搜索 Android平台内建的Demo App,连接本地sqlite数据库并管理其中的数据。 开始时,如果移动文件管理器中不存在数据库,则应用程序已准备好在设备中进行本地复制并正常工作,只是在屏幕上显示数据。
去百度下,软件叫Navicat Premium,不是for mysql)然后复制MySQL里面表,粘贴到SQLite里面,再导出为db文件(自行百度,有空写教程),再在Android Studio里面用代码读取db文件生成数据库即可。本资源是通过我根据...
29、访问数据库SQLite3 adb shell sqlite3 #cd system/sd/data //进入系统内指定文件夹 #ls //列表显示当前文件夹内容 #rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 #rm xxx //删除文件xxx #...
Wiki-Farm-Android 带有 OracleDB 数据库的简单基于 android 的应用程序将 HarvestService 文件夹复制到 htdocs
Firebase基础架构(数据库、身份验证、存储、分析等) 发送/接收/读取指标,实时更新 打字/记录指标与实时更新 轻松复制/转发/共享/删除邮件 上次查看和在线状态更新 远程删除邮件 即使您离线也可以工作! 搜索特定...
关于简介受直接支持iOS应用程序捆绑中的只读数据库并以Android SQLite资产辅助工具中的思想为蓝本的目的,该库的目的是帮助解决在Android中使用Realm.io时发现的一些常见任务。 它由Egghead Games积极维护和使用
使用 Android 应用程序上的“ORMLite 库”管理 sqlite 数据库的独立类。 特征 - Create, insert, select, update, delete objects - Use EQUAL, NOTEQUAL, LIKE, NOTLIKE operators in conditions (WHERE statement...
文档内容不能复制, 介意者请慎下. 大部分内容可在http://blog.csdn.net/xieyan0811上看到 文档目录如下 1 系统配置 1 1.1 建立SDK开发环境 2 1.2 Android源码的编译 6 1.3 编译在G1上运行的android 2.1(eclair)...