在进行Android开发过程中,我们经常会接触到Drawable对象,那么,若要使用数据库来进行存储及读取,该如何实现? 一.存储 //第一步,将Drawable对象转化为Bitmap对象 Bitmap bmp = (((BitmapDrawable)tmp.image).getBitmap()); //第二步,声明并创建一个输出字节流对象 ByteArrayOutputStream os = new ByteArrayOutputStream(); //第三步,调用compress将Bitma…
Android中序列化的实现有两种方式:Serializable接口和Parcelable接口,本文对这两种方式进行简单的总结和使用. 一.相关概念 (一)序列化的原因(序列化能实现的效果) 1.永久性保存对象,保存对象的字节序列到本地文件中: 2.对象在网络中传递: 3.对象在IPC间传递. (二)序列化的方法 在android系统中关于序列化的方法一般有两种,分别是实现Serializable接口和Parcelable接口,其中Serializable接口是来自Java中的序列化接口,而Pa…
一.权限问题 手机中存储空间分为ROM和SDcard,ROM中放着操作系统以及我们安装的APP,而sdcard中一般放置着我们APP产生的数据.当然,Android也为每个APP在ROM中创建一个数据存储空间,具体目录是/data/data下.在真机中调试中,该目录对于其他用户是没有开启任何权限,所以在DDMS中我们是打不开该目录的. 解决方案就是我们通过adb登录到我们手机上,然后直接切换到root用户,这时后手机可能会询问是否授权,我们则选择允许.这样我们就成为root用户了.然后我们在更改…
创建一个类继承SQLiteOpenHelper,重写他的构造方法.onCreate().onUpgrade() 构建出SQLiteOpenHelper实例后,再调用他的getReadableDatabase()货getWritableDatabase()方法就能创建数据库 getReadableDatabase()和getWritableDatabase()两个方法都可创建或打开一个现有的数据库 不同的是,当数据库不可写入的时候,getReadableDatabase()方法返回的对象将以只读的…
sdCard:默认路径在 /storage/sdcard/... Android支持OpenFileOutput和openFileInput方式访问手机存储器上的文件. Context提供了如下两个方法来打开应用程序的数据文件夹里的文件IO流: FileInputStream openFileInput(String name):打开应用程序的数据文件夹下的name文件对应的输入流 FileOutStream openFileOutput(String name,int mode):打开应用程序…
一.SQLite保存数据介绍 将数据库保存在数据库对于重复或者结构化数据(比如契约信息)而言是理想之选.SQL数据库的主要原则之一是架构:数据库如何组织正式声明.架构体现于用于创建数据库的SQL语句.它有助于创建伴随类,即契约类,其以一种系统性.自记录的方式明确指定架构布局. 契约类是用于定义URL.表格和列名称的常数的容器.契约类允许跨同一软件包中的所有其他类使用相同的常数.可以在一个位置更改列名称并使其在整个代码中传播.组织契约类的一种良好方法是将对于整个数据库而言是全局性的定义放入类的根级…
数据库的创建,获取,执行sql语句: 框架搭建:dao 思考: 1.数据库保存在哪里? 2.如何创建数据库?如何创建表? 3.如何更新数据库?如何更改表的列数据? 4.如何获取数据库? 5.如何修改数据库中的表的数据? 框架思想 思考:如何使得编程更加简单? 一个sql语言,容易写错: 1.使用占位符: 2.框架解析重建法:搭建框架,对增删改查功能进行单独封装,传入容器对象即可: 思考: 1.数据库保存在哪里? data/data/包名/databases/xiaoo.db 2.如何创建数据库?…
项目中有聊天模块,需要用到打开activity的时候初始化聊天记录的情况.大致情况如下: 辅助类:ChatSQLiteHelper   在第一次时会调用oncreate方法(判断的标准是schedule.db里面会存储是否已经新建过,若没有,则会调用onCreate,只会调用一次) package com.example.qurenwu.chat; import android.content.Context; import android.database.sqlite.SQLiteDatab…
Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SQLite 是以嵌入式为目的而设计的轻型数据库,运行起来占用的资源非常低,通常只需要几百K的内存就足够了.同时也具有非常好的兼容性,支持标准SQL语言.Android提供了对SQLite的支持,我们可以通过其来管理一些应用数据. 一.创建SQLite数据库和表 我们可以通过SQLiteDatabase.openOrCreate…
SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQLite.SQLite 由以下几个组件组成:SQL 编译器.内核.后端以及附件.SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展 SQLite 的内核变得更加方便.  特点: 面向资源有限的设备: 没有服务器进程: 所有数据存放在同一文件中跨平台: 可自由复制.  …