Values:
------------------------------------------
*)文本的国际化
I18N
----------------------------------------------
*) Internationalization
*)不同国家地区用户,可以使用本地的文字
values-rCN
values-zh
values-zh-rCN
values-zh-rHK
values-zh-rUS
values-zh-rUK
地区不支持时显示默认values的内容
res中的文件夹是固定的不能随便创建...values-en-rUS
资源访问工具访问
----------------------------------------------
Resources
获得 Resources 实例
getResources
资源访问方法
-----------------------------------------
getString(资源id)
getString Array(id)
getIntArray(id)
getColor(id)
-----------------------------------------
example
String s = resources.getString(R.string.my_str); String[] arr1 = resources.getStringArray(R.array.arr1); int[] arr2 = resources.getIntArray(R.array.arr2); int color1 = resources.getColor(R.color.color1); int color2 = resources.getColor(R.color.color2);
raw
---------------------------------
*原始格式文件
*不会被编译(压缩)
打开文件输入流
----------------------------------------
*)Resources 的方法获得输入流
openRawResources(id)
control+shift + space 查看方法参数
assets资产
==============================
*允许存放任意文件,文件夹
*不会生成资源访问id
*有专门的方法,来获得文件输入流或者列出文件列表
*只能读,不能写
获得一个资产访问工具AccetsManager
------------------------------------------------------------
getAssets()
AccetsManager的方法
================================
list(path)
获得指定子目录中的文件名称列表
返回String[]
open(文件) 或open("abc/def/文件") 获得文件输入流
open(文件,mode)//mode固定选项
private 私有只有当前应用可以访问
/WorldReadable 全局可读
/worldWriteable
/append追加
*)assets目录如果没有自己新建在src/main/assets
*)任意新建文件或文件夹
***)assets中的文件不可修改,可以在第一次启动的时候复制到sdcard上更新sdcard上的文件
Application
=================================================
*应用启动时,系统自动创建application实例调用onCreate()方法,界面还未显示在activity OnCreate()方法之前.
*默认Application的onCreate()方法没有代码
*可以继承Application,重写OnCreate()方法,可以在启动时执行自定义的code
使用步骤
---------------------------------
1编写Application的子类,重写onCreate()
2,在清单中配置自己定义的application 不配配置默认值是android.app.application.Application.
内部存储:
====================================
getDir(String name,int mode)
/data/data/app_目录名
---------------------------------------------------------------
data/data/应用/files/文件名
getFilesDir()
getFileinputStream()
---------------------------------------
getCacheDir() 返回缓存目录的文件
-------------------------------------------
data/data/应用/cache/
外部存储 sdcard 使用getExternalXXXDir如果没有该文件夹会自动创建(记得添加权限!)
==============================================
getExternalCacheDir()
/sdcard/Android/data/应用/cache/
getExternalFilesDir(Environment.DIRECORY_MUSIC)
/sdcard/Android/data/应用/文件类型目录/
Environment.getExteralStorageDirectory()
/mnt/sdcard/
/sdcard/
/stordge()/sdcard0
不同设备 sdcard 访问路径可能不同
用此方法,总能得到正确的访问路径
/sdcard/虚拟路径指向一个真实路径.
外部存储File 对象
Environment.getExternalStoragePublicDirectory(文件类型目录) 目录不是针对某个应用是公共文件夹
获得某种类型文件夹的标准储存目录,Environment.常量
DIRECTORY_DOWNLOADS 下载
DIRECTORY_ALAMS 闹铃
DIRECTORY_DCIM 数码相机储存
DIRECTORY_MOVIES 电影
DIRECTORY_MUSIC 音乐
DIRECTORY_NOTIFICATIONS 通知音
DIRECORY_PICTURES 图片
DIRECTORY_PODCASTS 播客
DIRECTORY_RINGTONES 铃声
Environment.getExternalStorageState();
获得储存卡状态代码, Environment.常量
MEDIA_BAD_REMOVAL
MEDIA_CHECKING 钢工插入时
MEDIA_MOUNTED 准备好读写
MEDIA_MONTED_READ_ONLY
MEDIA_NOFS //正确装载,但不支持文件系统no file system
MEDIA_REMOVED
MEDIA_SHARED //已经装载作为u盘连接电脑
MEDIA_UNMOUNTABLE 无法装载
MEDIA_UNMOUNTED 存在sd卡,但未装载
Environment.getRootDirectory() /system
StatFs
==============================================
*获得空间使用情况
*创建实例
-------------------------------------
StatFs sf=new StatF(path)
sf.BlockCount() 多少个存储块
sf.BlockSize() 4k 32k 64k 存储块大小
sf.AvaiableBlocks() 有权限访问的剩余块
sf.getFreeBlocks剩余快
总大小=BlockCount*BlockSize
===================================
/data/data/应用/shared_prefs/文件名.xml
p1=getSharedPreferences(文件名,MODE_PRIVATE)
自定义文件名
p2=gePreferences(MODE_PRIVATE) 在哪里调用生成以哪个activity命名
Activity类名当做文件名
在一个Activity中,读写自己的偏好设置文件
data/data/应用/shared_prefs/AActivity.xml
p3=PreferenceManager.getDefaultSharedPreferences(this)
包名当做文件名
data/data/应用/shared_prefs/com.huqiao.day23.xml
在整个应用当中都可以使用跟这个偏好设置文件.
方法
----------------------------------------------
edit()//获得编辑对象Editor.
contains(String key)
getAll()
getBoolean(String key boolean defValue)
getFloat(Stringkey float defValue)
getInt(String key,int defValue)
getLong(String key,long defValue)
getString(String key,String defValue)
getStringSet(String key,Set<String > defvalues);
registerOnSaredPreferenceChangeListener(OnSharedPreferenceChangelistener listener)
unregisterOnsharedPreferenceChangeListener(OnsharedPreferenceChangelister listener)
sharedPreference.Editor
---------------------------------
putBoolean(String key,boolean value)
putFloat(String key,float value)
putInt(String key,int value)
putLong(String key ,long value)
put String (String key,String value)
putStringSet(String key ,Set<String>values)
remove(String key)
clear()
apply()
commit()
p1 = getSharedPreferences("pref", MODE_PRIVATE); //MainActivity.xml p2 = getPreferences(MODE_PRIVATE); //huqiao.com.day2304.xml p3 = PreferenceManager.getDefaultSharedPreferences(this);