回顾:
Android体系架构:
- Applications:应用程序
- Application FrameWork:应用程序框架层
- 定义了JavaAPI调用c
- Librarys:c和c++的代码库
- 操作内核层
- Linux Kernel:操作硬件设备
开发步骤:
1.创建Android项目
2.设计布局
3.添加事件监听
4.发布运行
相对布局:
案例:短信发送器
LogCat:日志猫
- 级别:
version:黑色
info:绿色
debug:蓝色
warning:橙色
error:红色
- 级别:
数据存储:
文件:
内部储存空间:
路径:/data/data/包名/
- cache:缓存目录,可以被清空
files:
- getFilesDir():获取/data/data/包名/files目录
- getCacheDir(): 获取/data/data/包名/cache目录
openFileOutput(String filename,int filemodel):打开/data/data/包名/files目录下文件对应的输出流
- 其他应用对该应用的文件访问权限:
private:私有的。只能当前项目访问
readable:只读的。其他项目可以读取该文件,但不能修改
writeable:可写的。其他项目只能写入数据,不能读取
public:readable+writeable。其他项目可读可写该文件
- 其他应用对该应用的文件访问权限:
openFileInput(String filename):打开/data/data/包名/files目录下文件对应的输入流
sd卡:
路径:/mnt/sdcard/
注意:
1.访问sd卡需要添加权限:
2.动态获取sd卡目录
Environment.getExternalStorageDirectory().getPath();
* 这个方法,只是理论方式。实际编码中应该判断当前手机,和市面上所有sd卡目录是否匹配3.判断sd卡是否可用?
// 1.获取sd卡的状态
String state = Environment.getExternalStorageState();
// 2.判断状态是否可用
if (Environment.MEDIA_MOUNTED.equals(state)) {
4.判断sd卡的剩余空间是否足够?
File storageDirectory = Environment.getExternalStorageDirectory();
long freeSpace = storageDirectory.getFreeSpace();//最低支持到API 9
xml:
写入:
1.创建解析器工厂 XmlPullParserFactory
2.获取序列化对象
3.设置输出流
4.写
1232321
sdfsdfds
读取:
//1.创建解析器工厂
//2.获取解析器
//3.设置输入流
//4.获取事件类型
//5.循环判断是否是文档结束
//具体操作//6.向下移动一行
SharedPreference:对象,简化存储数据
写入:
1.获取该对象
2.获取其编辑对象 Editor
3.保存数据
4.提交读取:
1.获取该对象
2.读取数据
getXxx(String key,String defaultValue)数据库:SQLite
- 网络上:
- Conten Provider:内容提供者