Android入门
Posted 修心_666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android入门相关的知识,希望对你有一定的参考价值。
android入门
Android是基于Linux平台的开源手机操作系统,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。(这就是为什么我在我的说说页面上,用手机发动态,上面显示的Linux)
Android体系结构
-
应用程序层
Android内有一系列的核心应用,包括短信程序、日历工具、网页浏览器等工具,以及基于Android平台的应用程序框架,所有的应用都是Java语言编写的。
-
应用程序框架层
开发者可以完全使用与那些内核应用程序相同的框架,这些框架用于简化和重用应用程序的组件。若某程序能够“暴露”其内容,则其他程序就可以使用这些内容。例如Android的四大组件:Activity、Service、ContentProvider、BroadcastReceiver。
-
系统库层
Android定义了一套C/C++开发库供Android平台的其他组件使用。这些功能通过Android应用程序框架提供给开发者,开发者是不能直接使用这些库的。
-
运行时环境
-
Linux内核层
Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。
开发工具介绍
Java JDK(必须),Android SDK(必须),ADT(可选,运行环境为Eclipse时);或集成开发环境 Android Studio。
Android应用程序结构
gen目录介绍
gen目录中存放ADT自动生成的文件,该目录中最主要的就是R.java文件。
Android开发工具会根据res目录中的xml文件、图片等资源,同步更新R.java文件。
R.java在应用中起着字典的作用,它包含各种资源的引用,通过R.java系统可以很方便地找到对应资源。
编绎器会根据R.java文件,检查资源是否被使用,没有使用的资源不会打包到安装文件中。
res目录介绍
assets与res、res/raw文件夹都用于存放资源文件,那它们之间有什么区别呢?
比较项 | assets文件夹 | res文件夹 | res/raw文件夹 |
---|---|---|---|
是否在R.java中生成资源标记 | 否 | 是 | 是 |
是否能任意创建子文件夹 | 能 | 不能 | 不能 |
是否会编译成二进制文件 | 不会 | 会 | 不会 |
是否完全打包到安装文件中 | 是 | 需判断 | 需判断 |
访问方式 | AssetManager类,通过文件流读取 | R.XX.XXX引用,通过Resource类相应方法读取 | R.raw.xxx引用,通过Resource类相应方法读取 |
清单文件Mainfest.xml
主要包含的信息:
- 应用程序名称、图标、版本号
- 应用程序的包名,该包名将会作为该应用的唯一标识;
- 应用程序所包含的组件,如Activity、Service等;
- 应用程序兼容的最低版本;
- 应用程序使用系统所需的权限声明;
- 其他程序访问该程序所需的权限声明
Android应用程序执行过程
- 读取AndroidManifest.xml清单文件,设置应用程序的基本信息;
- 根据配置找到入口Activity并创建该类对象,然后自动调用其onCreate()方法,设置显示界面;
- 根据界面控件的属性在设备上显示相应的界面。
Android模拟器也可以安装从网上下载的apk应用程序,主要是通过android提供的adb命令来完成。
通过 adb install MyAndroid.apk 命令,将该应用安装到模拟器中
如果没有启动模拟器也没有连接Android手机,则会提示“device not found”错误,否则开始安装应用;
如果模拟器上已有该应用,则会提示:INSTALL_FAILED_ALREADY_ EXISTS失败信息,需要先卸载该应用,再进行安装;
命令行中出现Success时,表示该应用安装成功,可以在功能菜单中找到相应的应用图标,并启动它。
Android四大基本核心组件
Activity: 在Android应用中负责与用户进行交互的组件,我们称之为“活动”,一个Activity就是一个屏幕。
Service: 代表一个单独的Android组件,Service与Activity的区别在于:Service通常位于后台运行,它一般不需要与用户交互,一些Service组件没有图形用户界面。
BroadcastReceiver:代表广播消息接收器,非常类似于事件编程中的监听器,所监听的事件源是Android应用中的其他组件。
rvice组件没有图形用户界面。
BroadcastReceiver:代表广播消息接收器,非常类似于事件编程中的监听器,所监听的事件源是Android应用中的其他组件。
ContentProvider:提供一种跨应用的数据交换的标准。
如果觉得本文对你有帮助的话,不妨关注作者一波,小小的关注其实对我很重要。更多高质量内容与资料请访问:个人主页:修心的小屋
以上是关于Android入门的主要内容,如果未能解决你的问题,请参考以下文章