
数据持久化存储
文章平均质量分 90
古月印象星空
热爱生活,热爱工作
展开
-
android中读写文件
众所周知Android有一套自己的安全模型, 具体可参见Android开发文档。当应用程序(.apk)在安装时就会分配一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下 ,任何应用程序创建的文件,数据库, sharedpreferences都应该是私有的(位于/data/data/your_project/files/),程序私有的数据的默认路翻译 2011-10-31 12:58:42 · 1361 阅读 · 0 评论 -
首次调用SQLiteCursor的getCount()需要锁定数据库
当我们第一调用android.database.sqlite.SQLiteCursor的getCount()时,当前线程会锁定数据库,在该操作完成后才解锁。其调用关系如下:at android.database.sqlite.SQLiteQuery.native_fill_window(Native Method) at android.database.sqlite.SQLite原创 2011-12-13 11:43:58 · 8215 阅读 · 0 评论 -
SQLite Expert
SQLite Expert是一个用于打开,编辑和管理数据库的可视化工具。用它来对Android的sqlite3数据库进行操纵很方便。其下载地址如下:http://www.sqliteexpert.com/download.html原创 2011-12-14 10:54:20 · 1769 阅读 · 2 评论 -
withValueBackReference简介
ContentProviderOperation.Builder的withValueBackReference函数定义如下:ContentProviderOperation.BuilderwithValueBackReference(String key, int previousResult)Add a ContentValues back refer翻译 2011-12-16 11:07:34 · 3386 阅读 · 0 评论 -
android中读写SD Card文件
1. 使用mksdcard命令创建一个名为 sdcard.img的128M(M需大写)SD卡镜像。mksdcard 128M sdcard.img2.把sdcard.img拷贝到D:\projects2下,在Eclipse中的Run Configuration对话框中设置启动参数。-sdcard D:\projects2\sdcard.img这样SD Card就可用了。3.sd翻译 2011-10-31 14:35:23 · 1301 阅读 · 0 评论 -
Android中关于内部存储的一些重要函数
一、简介Android中,你也可以通过绝对路径以JAVA传统方式访问内部存储空间。但是以这种方式创建的文件是对私有,创建它的应用程序对该文件是可读可写,但是别的应用程序并不能直接访问它。不是所有的内部存储空间应用程序都可以访问,默认情况下只能访问“/data/data/你的应用程序的包名”这个路径下的文件。Android中,你还可以使用Context对象的openFileOutput()和翻译 2012-10-02 19:39:18 · 38717 阅读 · 5 评论 -
SharedPreferences简介
public interfaceSharedPreferencesandroid.content.SharedPreferencesSharedPreferences是以键值对来存储应用程序的配置信息的一种方式,它只能存储基本数据类型。实际上SharedPreferences是采用了XML格式将数据存储到设备中,它在DDMS中的File Explorer中的/data/data翻译 2011-10-29 16:09:51 · 1302 阅读 · 0 评论 -
Android中跨包访问Preferences
我们可以在一个应用程序中创建并编辑一个Preferences,然后在另外一个应用程序中读取它。当然有个前提是该Preferences的权限至少是Context.MODE_WORLD_READABLE。比如在包名为com.teleca应用程序A中有一个名叫com.teleca_prefer的Preferences:final static String preferName="com.t原创 2011-12-13 11:19:35 · 1610 阅读 · 0 评论 -
android获取手机内部存储空间和外部存储空间
原文: http://blog.163.com/hero_213/blog/static/39891214201162123236660/该代码片段可以让我们获取internal和external的存储空间大小。 import java.io.File;转载 2012-07-04 22:04:23 · 15412 阅读 · 0 评论 -
Android中关于外部存储的一些重要函数
一、简介关于Android的数据外部存储,在API Level 8之前,所有的文件都是建议放在Environment.getExternalStorageState()目录下的;从API Level 8开始,对于应用程序的私有文件应该放在Context.getExternalFilesDir目录下,非私有的(shared)的文件应该放在目录下Environment.getExternalS翻译 2012-10-02 19:35:53 · 9450 阅读 · 0 评论 -
Android中一些数据存储函数的封装
本人博客原文Android很多手机现在都有EMMC存储(一般是2G),一些手机并没有挂载在getExternalStorageDirectory()这个节点上(该节点用于挂载外部sdcard了).而是挂载到"/mnt/emmc"节点上,另外一些手机把EMMC存储直接挂载到了getExternalStorageDirectory() 这个节点上,而对于真正的外部sdcard挂载到了"/m原创 2012-10-27 16:19:55 · 2945 阅读 · 0 评论 -
sqlite3命令详解(上)
文章参照:www.sqlite.org/sqlite.htmlsqlite3可以让我们手动的对SQLite数据库进行管理。一共有2个sqlite3,一个在电脑上,它位于android-sdk-windows\tools\sqlite3.exe,用于电脑上SQLite数据库进行管理;还有一个位于android系统上(手机上),它用于位于Android系统上的SQLite数据库进行管理,对于后者你翻译 2011-12-10 09:07:45 · 1350 阅读 · 0 评论 -
sqlite3命令详解(中)
文章参照:www.sqlite.org/sqlite.html在sqlite3中我们可以通过".help"命令来查所有的非SQL命令。比如,示例4:sqlite> .help.help.backup ?DB? FILE Backup DB (default "main") to FILE.bail ON|OFF Stop after翻译 2011-12-10 09:08:39 · 1509 阅读 · 0 评论 -
android中读XML文件
res/xml中的XML文件会被Android平台(如果使用Eclipse)自动提取并编译为资源。在程序中可能通过Android支持的XML格式来读取它。people.xml文件代码片段void readXmlFile(){ XmlPullParser parser=this.getResources().getXml(R.xml.people);翻译 2011-10-31 14:18:08 · 1520 阅读 · 0 评论 -
INTEGER PRIMARY KEY简介
Sqlite 中INTEGER PRIMARY KEY AUTOINCREMENT和rowid/INTEGER PRIMARY KEY的使用在用sqlite设计表时,每个表都有一个自己的整形id值作为主键,插入后能直接得到该主键.因为sqlite内部本来就会为每个表加上一个rowid,这个rowid可以当成一个隐含的字段使用,但是由sqlite引擎来维护的,在3.0以前rowid是32翻译 2011-10-31 15:23:04 · 18861 阅读 · 1 评论 -
android中读取原始(Raw)资源
存储在res/raw位置的文件不会被平台编译,而是作为可用的原始资源。读取原始资源非常简单。首先调用Context.getResource获得当前应用程序上下文的Resources引用.然后调用openRawResource(int id)得到InputStream.最后,操作InputStream得到数据。注意:把文件放在res/raw目录下,则R类会自动提供该id.提速翻译 2011-10-31 13:21:16 · 29464 阅读 · 0 评论 -
ContentProvider简介
1.什么是ContentProvider 数据库在Android当中是私有的,当然这些数据包括文件数据和数据库数据以及一些其他类型的数据。 不能将数据库设为WORLD_READABLE,每个数据库都只能创建它的包访问, 这意味着只有由创建数据库的进程可访问它。如果需要在进程间传递数据, 则可以使用AIDL/Binder或创建一个ContentProvider,但是不能跨越进程/包边原创 2011-11-02 17:04:26 · 30923 阅读 · 7 评论 -
android中数据库操作简介
Android内置了SQLite数据库系统。关于一些SQL基本命令的用法(CREATE,INSERT,UPDATE,DELETE和SELECT),请参阅SQLite文档(http://www.sqlite.org/lang.html)与SharedPreferences不同,不能将数据库设为WORLD_READABLE,每个数据库都只能创建它的包访问,这意味着只有由创建数据库的进程原创 2011-11-02 15:52:30 · 1626 阅读 · 0 评论 -
id生成器
在android的Sqlite 中对于INTEGER PRIMARY KEY,如果插入数据A,B,C,它们的_id为1,2,3,那么如果把他们都删除了,再插入一条数据,那么它的id为1而不是4。因此我就写了这个工具来生成id,它能让生成相同的id相隔尽量的远。SerialManager.java文件package com.teleca;public class Serial原创 2011-11-03 17:16:12 · 3281 阅读 · 0 评论 -
Sqlite中INTEGER PRIMARY KEY的修正
在android的Sqlite 中对于INTEGER PRIMARY KEY,如果插入数据A,B,C,它们的_id为1,2,3,那么如果把他们都删除了,再插入一条数据,那么它的id为为1而不是4。因此我就写了这个工具来生成id,它能让生成相同的id相隔尽量的远。然后在插据入数时手动设置id,及把这个作为插入参数id传进去。删除时,也要做相应的处理。实例1:文件1:S原创 2011-11-03 17:21:48 · 5787 阅读 · 1 评论 -
Provider中查询的一个Cursor对象问题
文章转自:http://archive.cnblogs.com/a/1984501/昨天写一个provider的时候出现了如下问题: 写完之后在同一个进程内使用provider完全没有问题,但是一旦到其他进程(另一个apk)里使用的时候就会报错E/DatabaseUtils( 339): Writing exception to parcelE/DatabaseUti转载 2011-12-04 19:26:16 · 2288 阅读 · 0 评论 -
手动操作Android数据库
[First written by Steve Guo, please keep the mark if forwarding.]Android saved settings in a database file which is /data/data/com.android.providers.settings/databases/settings.db. For some se翻译 2011-12-10 09:05:47 · 1120 阅读 · 0 评论 -
sqlite3命令详解(下)
sqlite3提供了多个命令来查看数据库的schema".tables"命令可以查看当前数据库所有的表比如,示例14:sqlite> .tablestbl1tbl2sqlite>".tables"和在list模式下执行下面的语句相似:SELECT name FROM sqlite_master WHERE type IN ('table','view')翻译 2011-12-10 09:09:46 · 6629 阅读 · 1 评论 -
Android的数据持久化存储
原文: http://developer.android.com/guide/topics/data/data-storage.html#filesInternal一、简介Android系统为我们提供了五种数据持久化存储的方式,以满足不同的需求。他们分别是:Shared PreferencesStore private primitive data in key-value翻译 2012-10-02 19:40:39 · 11024 阅读 · 0 评论