简介
安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统。主要应用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由安迪·鲁宾开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台
日志
方法 | 说明 |
---|---|
Log.e | 记录错误 |
Log.w | 记录警告 |
Log.i | 记录信息类的信息 |
Log.d | 记录debug信息 |
Log.v | 记录Verbose信息 |
为应用程序添加位置服务(LBS)
剖析 Android 应用程序
manifest 文件解读
Android 应用程序中的 Manifest文件为一种特殊格式的XML文件,贯穿了每一个Android程序 标识应用程序身份的重要信息,在其中定义了应用程序的名称,版本信息和应用所依赖的应用程序的组件,以及应用程序运行所需的许可权限和其它应用程序的配置信息
- 安装和升级应用程序包
- 向用户显示应用程序细节,如应用名称,描述和图表
- 指定应用程序的系统需求,包括支持的Android SDK 需要的硬件配置 以及应用程序所依赖的平台特性
- 运行应用程序的Activity
- 管理应用程序的许可权限
- 配置其它高级应用程序参数,包括作为服务,广播的接收器或者内容提供器的配置细节
- 开启某些应用程序设置,例如是否允许调试,是否应用程序使用配置工具等
应用程序资源
什么是资源
所有的应用程序都由两部分构成:功能 (代码指令)和数据 (资源)。功能决定应用程序 的行为,它包括让应用程序得以运行的所有算法。资源包括文本字符串、图像和图标、音频 文件、视频和其他应用程序使用的组件
储存应用程序资源
在Android 工程中,Android资源文件是同Java类文件分开存储的。大多数常见的资源 类型被存储 于XML 中。 当然, 你也可以将原始数据 文件和图形作为资源 来存储。
资源目录的层级结构
资源子目录 | 说明 |
---|---|
/res/drawable-*/ | 图形资源 |
/res/layout | 用户界面资源 |
/res/values | 简单数据 如字符串 颜色值 |
资源的类型
资源类型 | 所需目录 | 文件名 | xml标记 |
---|---|---|---|
字符串 | /res/values/ | strings.xml | string |
复数字符串 | /res/values | strings.xml | plurals ,item |
字符串数组 | /res/values | strings.xml | string-array,item |
布尔型 | /res/values | bools.xml | bool |
颜色 | /res/values | colors.xml | color |
颜色状态表 | /res/color | buttonstates.xml,indicators.xml | selector, item |
尺 寸 | /res/values | Diments.xml | dimen |
整型 | /res/values | integers.xml | integer |
整型数组 | /res/values | integers.xml | integer-array ,item |
混合类型数组 | /res/values | Arrays.xml | array,item |
简单 Drawable图形 | /res/values | drawables.xml | drawabel |
图像 | /res/drawable/ | icon,png,logo,jpg | 支持的图像文件或xml文件定义的drawables图形 |
补间动画 | /res/anim | fadesequence.xml | set ,alpha ,scale,translate,rotate |
逐帧动画 | /res/drawable | sequencel.xml | animation-list |
菜单 | /res/menu | mainmenu.xml,helpmenu.xml | menu |
xml文件 | /res/xml | data.xml | 开发者自定义 |
原始文件 | /res/raw | main.xml | 开发者自定义 |
布局 | /res/layout | main.xml | 多种定义,当必须为布局控件 |
样式主题 | /res/values | styles.xml,themes.xml | style |
必须按照xml 头开启
<?xml version="1.0" encoding="utf-8" ?>
程序访问资源
R.strings.strHello
// /res/values/strings.xml
String myString = getResources().getString(R.string.strHello);
用户界面设计
视图简介
Android SDK 拥有一个名为 android.view
的Java 包 .包含了一些屏幕绘制相关的接口和类,当我们提及View
即对应的android.view.View
类
View
类是Android基本的用户界面构建组件,它代表屏幕的一个矩形区域,View
类是Android SDK 中几乎所有用户界面控件和布局的基类
控件简介
Android SDK 包含了一个名为 android.widget
的Java 包 .当我们提及控件时,通常指该包中的某个类.控件涵盖 Android SDK 中几乎所有可绘制到屏幕上的东西,包含 ImageView , FrameLayout, EditText 和Button 对象
AppWidget 是一种应用程序扩展,通常显示在Android的主页中
布局简介
布局(Layout) 是 android.widget
包中包含的一种特殊控件.布局控件仍然是View 对象,但它并不实际地在屏幕上进行绘制.
TextView 显示文本
<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 简单的文本"
> </TextView>
要将这一个 TextView 显示到屏幕上,需要在 Activity
唯一需要做的事情将上面在XMl 文件中定义的布局资源标识符作为参数,调用setContentView()
方法.另外,你也可以调用TextView
对象的 setText()
在程序内修改文件的显示,而获取文本则由getText()
方法来完成
属性
- maxEms ,minEms 设置最大最小宽度 em设置宽度
- ellipsize 设置省略号
- autoLink (none:无效,web:使用URL链接到网页,email:使用邮箱链接到邮件客户端,phone:自动输入号码 等待拨号,map:使街道地址与地图应用相链接以显示对应的 位置 all:使用所有链接有效)
- linksClickable 是否可以点击
获取用户数据
使用 EditText控件获取用户输入文本
使用Spinner控件为用户提供可输入
使用按钮,多选框,单选组
Button,ToggleButton,CheckBox,RadioButton
获取用户输入的日期和时间
DataPicker
指示器显示数据
ProgressBar
使用SeekBar调整进度
使用RatingBar显示评分数据
Chronometer显示时间推移
显示时间
DigitalClock
AnalogClock
用户提供选项和上下文菜单
使用选项菜单
使用对话框
- Dialog
- AlertDialog
- CharacterPickerDialog
- DatePickDialog
- ProgressDialog
- TimePickerDialog
跟着对话框的生命周期