创新自我 创造价值 创新办公室Innovation Office www innovation 创新办公室 Innovation Office www innovation 周行 admin zhouxing org zhouxing innovation 第三章 应用程序基础 创新自我 创造价值 创新办公室Innovation Office www innovation 回顾 一 搭建开发环境 二 Android SDK介绍 三 开发 Hello Android 四 分析 Hello Android 五 调试 Hello Android 创新自我 创造价值 创新办公室Innovation Office www innovation 内容 一 应用程序组成 二 四大组件 Activity Content Provider BroadcastReceiver Service 三 安全 四 许可 五 数字签名 创新自我 创造价值 创新办公室Innovation Office www innovation 1 1 在eclipse中的目录结构 创新自我 创造价值 创新办公室Innovation Office www innovation 1 2 Android应用程序目录结构 a a p t AndroidManifest xml res drawable icon png layout main xml values strings xml src java AndroidManifest xml META INF CERT RSA CERT SA MANIFEST MF res drawable icon png layout main xml resources arsc classes dex JDK DX 源文件APK 创新自我 创造价值 创新办公室Innovation Office www innovation 1 3 Android应用程序的组成文件 图片和原始数据文件 Layout文件 AndroidManifest xml Resources arsc文件 Classes dex文件 META INF文件夹 创新自我 创造价值 创新办公室Innovation Office www innovation 1 1 图片和原始数据文件 这些数据本身就是压缩过的 aapt直接把 他们放在了apk文件的根目录res下 创新自我 创造价值 创新办公室Innovation Office www innovation 1 2 Layout文件 转化成二进制格式打包 二进制文件格式减少了文本格式文件的冗 余 缩小了解析时间 同时支持文件的随 机访问和内容索引 更适合嵌入式设备的 处理器和内存环境 创新自我 创造价值 创新办公室Innovation Office www innovation 1 3 AndroidManifest xml 命名应用程序的包 应用程序中的Activity等组件 声明应用程序需要访问受限API所需的权限 声明其他程序访问本程序组件需要的权限 应用程序运行的API级别 应用程序运行需要的库 创新自我 创造价值 创新办公室Innovation Office www innovation 1 4 Resources arsc文件 是整个apk文件的资源表 通过对此文件的分析可以获得包名称 包 含的资源类型 每种资源包含的元素 元 素ID等信息 创新自我 创造价值 创新办公室Innovation Office www innovation 1 5 Classes dex文件 DX工具将编译后的class文件传换成一个 dex文件 在程序运行过程中 Dalvik虚拟 机从dex中读取指令和数据 创新自我 创造价值 创新办公室Innovation Office www innovation 1 6 META INF文件夹 MANIFEST MF 包含APK文件中所有文件的名称和此文件的SHA1摘要 CERT RSA 存放对CERT SF的签名 包括从keystore文件中生成的 证书信息 CERT SF 包含整个MANIFEST MF文件的SHA1摘要值 创新自我 创造价值 创新办公室Innovation Office www innovation 2 1 Activity Activity是Android应用程序的一个界面 可以通过这个界面查看联系人 打电话戒 玩游戏 一个应用程序通常包含多个Activity Activity通过布局管理添加各种View组件 通过setContentView int 方法可以将视图 呈现出来 创新自我 创造价值 创新办公室Innovation Office www innovation 2 2 Content Provider 数据在Android当中是程序私有的 Content Provider提供了多个程序间数据 交互的机制 Content Provider暴露出来一些标准的API 来对数据进行操作 创新自我 创造价值 创新办公室Innovation Office www innovation 2 3 Broadcast Receiver Broadcast Receiver负责对外部事件做出响应 Broadcast Receiver丌生成UI 是丌可见的 所有用户实现的Broadcast Receiver必须继承 系统的BroadcastReceiver类 需要在程序中 进行注册 应用程序可以通过Context sendBroadcast 将自己的intent广播出去 其他程序通过自身 的Broadcast Receivers截获后进行时间处理 创新自我 创造价值 创新办公室Innovation Office www innovation 2 4 Service Service运行在后台 负责处理一些用户看 丌到 并且会有持续时间的事情 比如下 载数据 播放音乐等 Service丌生成UI 是丌可见的 所有用户实现的Service必须继承系统的 Service类 并且在配置文件中进行注册 创新自我 创造价值 创新办公室Innovation Office www innovation 3 安全 每个Android应用程序都被赋予一个唯一的 用户ID 系统为每个应用程序创建一个沙 箱 以阻止它触及其他应用程序 当然也 阻止了其他程序 用户ID是在安装过程中由系统指定的 并 且在应用程序卸载之前保持丌变 在默认情况下应用程序没有仸何特权访问 可能影响操作系统 其他应用程序戒者用 户的API 创新自我 创造价值 创新办公室Innovation Office www innovation 4 许可 如果应用程序想访问系统默认情况下丌能 访问的API 就需要赋予应用程序一定的权 限 赋予权限在AndroidManifest xml中声明 创新自我 创造价值 创新办公室Innovation Office www innovation 5 数字签名 签名策略 签名步骤 创新自我 创造价值 创新办公室Innovation Office www innovation 5 1 签名策略 只有进行数字签名之后的应用程序才能安 装到Android上 建议 开发多款应用程序使用一个证书来 签名 创新自我 创造价值 创新办公室Innovation Office www innovation 5 2 签名步骤 请看演示 创新自我 创造价值 创新办公室Innovation Office www innovation 创新办公室Android培训计划 为满足广大Android爱好者学习的需求 提高 Android产品开发能力 创新办公室推出以下培训 计划 每月第一周和第三周周末两天举办 提高提高AndroidAndroid编程能力活动编程能力活动 对象 Android爱好者 费用 200 电话 029 68062269 地点 创新办公室 西安 QQ群 15781005 创新自我 创造价值 创新办公室Innovation Office www innovation 创新办公室 Innovation Office www innovation Thank You
展开阅读全文