da23资源文件*

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);











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值