【安卓基础六】安卓打包过程与安装,安卓资源

安卓资源

界面(资源)和代码分离

无论是Web应用程序,还是PC客户端应用程序,以及移动客户端应用程序,它们都无一例外地将代码与界面分离,
并且界面都是通过描述性的文字来描述的,这种描述性的文字越来越倾向于使用XML格式。

Android应用程序资源的分类

Android应用程序资源可以分为两大类,分别是assets和res

assets类资源放在工程根目录的assets子目录下,它里面保存的是一些原始的文件,可以以任何方式来进行组织。
这些文件最终会被原装不动地打包在apk文件中。
如果我们要在程序中访问这些文件,那么就需要指定文件名来访问,需要用AssetManager以字节流的形式读取文件。
1)先在Activity里面调用getAssets() 来获取AssetManager引用。
2)再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。 
3)然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。
4)调用AssetManager.close() 关闭AssetManager。
例:
    public String getFromAssets(String fileName){  
            try {  
                 InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );  
                BufferedReader bufReader = new BufferedReader(inputReader);  
                String line="";  
                String Result="";  
                while((line = bufReader.readLine()) != null)  
                    Result += line;  
                return Result;  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
    }

res类资源放在工程根目录的res子目录下,它里面保存的文件大多数都会被编译,并且都会被赋予资源ID。
这样我们就可以在程序中通过ID来访问res类的资源。
其中 --raw 这类资源以任意格式的文件保存在res/raw目录下,它们和assets类资源一样,都是原装不动地打包在apk文件中的。
不过它们会被赋予资源ID,这样我们就可以在程序中通过ID来访问它们。
Resources res = getResources();  

InputStream is = res .openRawResource(R.raw.filename); 

安卓打包



 .apk文件
- META-INF文件夹,里面存放应用程序的签名
- res文件夹,里面的xml文本文件都被编译为二进制文件
- AndroidManifest.xml,编译后
- classes.dex

- resources.arsc 相当于资源检索表

eclipse的默认签名:C:\Users\Administrator\.android下的debug.keystore文件

apk文件安装与卸载、安卓的系统自带应用目录与注册表

1)
安卓系统自带应用的目录
/system/app/下

用户安装的应用目录
/data/app/下

这些目录下都存放这xxx.apk文件

2)安卓安装与卸载软件
- 拷贝xxx.apk到/data/app/xxx-1.apk
- 在/data/data/目录下创建一个文件夹,名称为当前应用程序的包名

卸载与其相反




3)安卓系统的注册表
/data/system/netstats/
packages.list
packages.xml


安卓资源与打包过程详细

http://blog.csdn.net/luoshengyang/article/details/8738877

http://blog.csdn.net/luoshengyang/article/details/8744683

http://blog.csdn.net/luoshengyang/article/details/8791064

http://blog.csdn.net/luoshengyang/article/details/8806798

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值