`
xpchou
  • 浏览: 15493 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

android基础02

阅读更多
1.context.openFileOutput("config.txt",Context.MODE_PRIVATE);
创建的文件:data/data/<包名>/files/config.txt 存放手机rom内存里面的.
Context.MODE_APPEND 默认文件的访问修饰权限 是私有

2. RAM:Random Access Memery 随机访问内存,手机内存,访问速度非常快,掉电数据丢失,通常意思上的内存
ROM:Read Only Memery 只读内存,类似U盘的闪存,微硬盘,访问速度稍微低一点,掉电数据不丢失。

3.Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)
SD卡安装好,可读可写

4.获取sd卡的存储大小
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
long totalbytes =  blockSize*totalBlocks;
System.out.println(totalbytes);

5.初始化SharedPreferences,创建SharedPreferences文件config,设置权限,文件是一个xml文件,也就是一个map集合
config文件在 /data/data/<包名>/shared_prefs/config.xml

//没有config.xml文件则创建,有则获取sp对象
SharedPreferences sp = Context.getSharedPreferences("config", MODE_PRIVATE);

sp.getString("name","zhangsan"); 获取SharedPreferences里的name的值,如果name没有值,则设置name为默认值 zhangsan

Editor editor = sp.edit();        
editor.putString("name", name);
editor.putString("num", num);
editor.putString("email", email);

editor.clear(); 清楚数据
editor.commit();

6.Context.openFileInput("config.txt");
读取文件:默认文件路径 data/data/<包名>/files/config.txt

7. Activity还提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用于获取/data/data/<package name>/cache目录,用户可以手工清除这些数据
getFilesDir()方法用于获取/data/data/<package name>/files目录

8.使用DOS命令创建一张SDCard卡
mksdcard 2048M D:\AndroidTool\sdcard.img

9.AssetManager am = Context.getAssets(); 获取assets目录的管理器。
InputStream is = am.open("config.xml"); 用am打开assets目录下的config.xml文件。
XmlPullParser parser = Xml.newPullParser(); 获取PullParser解析器
parser.setInput(in, "UTF-8"); 设置输入流的编码格式
for(int type=parser.getEventType();type != XmlPullParser.END_DOCUMENT;type=parser.next()){
if(type==XmlPullParser.START_TAG){
if(parser.getName().equals("person")){
p = new Person();
p.setId(Integer.valueOf(parser.getAttributeValue(0)));
persons.add(p);
}else if(parser.getName().equals("name")){
p.setName(parser.nextText());
}else if(parser.getName().equals("age")){
p.setAge(Integer.valueOf(parser.nextText()));
}
}
}

10.把数据写到xml文件上,
XmlSerializer s = Xml.newSerializer(); 获取序列化器
File file = new File(Environment.getExternalStorageDirectory(),"persons.xml");
OutputStream out = new FileOutpupStream(file);
s.startDocument("UTF-8", true); 开始写文档,并设置文档的编码格式,以及 readonly = true
s.startTag(null, "persons"); 开始写标签,第一个参数为 名称空间,第二个为开始标签

s.endTag(null,"persons"); 结束标签
s.endDocument(); 文档结束标签

11.SQLite特点
1.Android平台中嵌入了一个关系型数据库SQLite,和其他数据库不同的是SQLite存储数据时不区分类型
例如一个字段声明为Integer类型,我们也可以将一个字符串存入,一个字段声明为布尔型,我们也可以存入浮点数。
除非是主键被定义为Integer,这时只能存储64位整数
2.创建数据库的表时可以不指定数据类型,例如:
CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20))
CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name)
3.SQLite支持大部分标准SQL语句,增删改查语句都是通用的,分页查询语句和MySQL相同
SELECT * FROM person LIMIT 20 OFFSET 10
SELECT * FROM person LIMIT 10,20

12.SQLiteOpenHelper抽象类抽象类
提供了两个重要的方法,分别是:
onCreate(SQLiteDatabase db),用于初次使用软件时生成数据库表 ,
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)后者用于升级软件时更新数据库表结构。

当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteData    base实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法
也就是说,onCreate()方法只有在初次生成数据库时才会被调用,只执行一次。

13. SQLiteDatabase:
execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句;
rawQuery()方法用于执行select语句。

14.getWritableDatabase()和getReadableDatabase()区别 :
1.getWritableDatabase() 在操作的时候,只能一个类来操作,同步操作
  getReadableDatabase() 异步操作,可以有多个类同时操作
2.getWritableDatabase() 以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用getWritableDatabase()打开数据库就会出错
  getReadableDatabase() 方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。
分享到:
评论

相关推荐

    Android基础-02

    Android基础--02

    android基础代码教学02

    android基础代码教学02 学习android 最基本的代码

    Android开发相关的学习资料

    Android资源_01-Android开发环境搭建_实验01-Android开发环境搭建.pdf、实验02-Android应用开发HelloWorld.pdf; 02-Android Studio项目结构...04-Android基础功能程序设计_实验10-Android基础功能程序设计.pdf......

    android基础知识05:四大组件之service 02:远程调用实例程序

    博文android基础知识05:四大组件之service 02:远程调用中关于远程调用service的实例程序

    千锋Android游戏开发基础视频教程(10集)

    教程名称: 千锋Android游戏开发基础视频教程(10集)【】千锋Android游戏开发基础视频教程-大纲【】千锋Android游戏开发基础视频教程01~02【】千锋Android游戏开发基础视频教程03~04【】千锋Android游戏开发基础...

    Android平板电脑编程基础教程02

    Android平板电脑编程基础教程

    Android代码-Android_Learning_Notes

    2、Android02--认识Activity 3、Android03--Context和Application 4、Android04--Android服务 5、Android05--Android服务通信 6、Android06--Android广播接收器 7、Android07--Android日志系统 8、Android08--...

    Android程序设计基础02.pptx

    网课ppt资源,可以当作自己学习的课件,适合刚接触Android程序开发的初学者,希望对你们有所帮助。

    android-02-UI基本组件及事件处理.ppt

    android-02-UI基本组件及事件处理.ppt------安卓UI基本组件intent

    疯狂android讲义02

    android开发,推荐给有java基础的

    大话企业级Android开发

    02大话企业级Android开发 03大话企业级Android开发开发流程及项目管理 04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级Android开发_MVC讲解及简单短信和拨号器实现 06大话企业...

    企业级Android开发

    02大话企业级Android开发第二部分 03大话企业级Android开发开发流程及项目管理 04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级Android开发_MVC讲解及简单短信和拨号器实现 06...

    零基础入门Android(安卓)逆向-rar

    02.Android smali 与 java 代码介绍1 : d% y( z) X- o& ~, e0 _; c1 I 03.Android smali 与 java 代码介绍2 c+ K& I/ q( b 04.Android smali 与 java 代码介绍3 % ]7 Z+ f! I! [5 S. O. N 05.Android smali 与 java ...

    新版Android开发教程

    新版Android开发教程&笔记02--基础入门 新版Android开发教程&笔记03--环境搭建与解析 新版Android开发教程&笔记04--Dalvik ADB 新版Android开发教程+笔记05--模拟器、应用1、2 新版Android开发教程+笔记06--应用3、4...

    Android经典资料大全 part02

    Android经典资料(Google and Android开发入门与实践、Google and android 揭秘、Google android SDK开发范例大全、深入浅出Android、...开发、Android基础教程等,还有几本英文书籍) 共8个压缩文件,请下全后解压

    android课件

    清华老师上课的android课件。ch_01android概述ch_02android开发基础ch_03资源的访问ch_04android用户界面ch_05Ativity和Intent。其他自己看。

    企业级安卓开发_入门+进阶 大话企业级Android开发

    04大话企业级Android开发_Android项目的目录结构、执行流程及其他基础分析 05大话企业级Android开发_MVC讲解及简单短信和拨号器实现 06大话企业级Android开发_日志输出、单元测试及调试 07大话企业级Android开发_UI...

    android黄金资料

    第04部分 Android项目的目录结构、执行流程及其他基础分析 第05部分 MVC设计模式讲解及电话拨号器和短信发送器应用 第06部分 日志输出、单元测试及调试 第07部分 UI(上) 第08部分 UI(中) 第09部分 UI(下)...

    黑马安卓52期android 教程

    02、Android应用开发-代码版本管理和实战(1天) 03、android案例与项目_手机安全卫士(12天) 04、自定义控件与视图(2天) 05、android项目实战_智慧北京(6天) 06、android项目实战_谷歌应用市场(6天) 07、...

    Android高级应用开发.z02

    Stage2_Lesson3Android应用开发基础及原理概要 Stage2_Lesson4Activity与Intent Stage2_Lesson5Service初步 Stage2_Lesson10应用程序签名及发布 Stage2_Lesson8ContentProvider Stage2_Lesson9BroadcastReceiver ...

Global site tag (gtag.js) - Google Analytics