跳到主要内容

一天学会 Android 开发

· 阅读需 9 分钟
ahKevinXy

简介

安卓(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程序 标识应用程序身份的重要信息,在其中定义了应用程序的名称,版本信息和应用所依赖的应用程序的组件,以及应用程序运行所需的许可权限和其它应用程序的配置信息

  1. 安装和升级应用程序包
  2. 向用户显示应用程序细节,如应用名称,描述和图表
  3. 指定应用程序的系统需求,包括支持的Android SDK 需要的硬件配置 以及应用程序所依赖的平台特性
  4. 运行应用程序的Activity
  5. 管理应用程序的许可权限
  6. 配置其它高级应用程序参数,包括作为服务,广播的接收器或者内容提供器的配置细节
  7. 开启某些应用程序设置,例如是否允许调试,是否应用程序使用配置工具等

应用程序资源

什么是资源

所有的应用程序都由两部分构成:功能 (代码指令)和数据 (资源)。功能决定应用程序 的行为,它包括让应用程序得以运行的所有算法。资源包括文本字符串、图像和图标、音频 文件、视频和其他应用程序使用的组件

储存应用程序资源

在Android 工程中,Android资源文件是同Java类文件分开存储的。大多数常见的资源 类型被存储 于XML 中。 当然, 你也可以将原始数据 文件和图形作为资源 来存储。

资源目录的层级结构

资源子目录说明
/res/drawable-*/图形资源
/res/layout用户界面资源
/res/values简单数据 如字符串 颜色值

资源的类型

资源类型所需目录文件名xml标记
字符串/res/values/strings.xmlstring
复数字符串/res/valuesstrings.xmlplurals ,item
字符串数组/res/valuesstrings.xmlstring-array,item
布尔型/res/valuesbools.xmlbool
颜色/res/valuescolors.xmlcolor
颜色状态表/res/colorbuttonstates.xml,indicators.xmlselector, item
尺 寸/res/valuesDiments.xmldimen
整型/res/valuesintegers.xmlinteger
整型数组/res/valuesintegers.xmlinteger-array ,item
混合类型数组/res/valuesArrays.xmlarray,item
简单 Drawable图形/res/valuesdrawables.xmldrawabel
图像/res/drawable/icon,png,logo,jpg支持的图像文件或xml文件定义的drawables图形
补间动画/res/animfadesequence.xmlset ,alpha ,scale,translate,rotate
逐帧动画/res/drawablesequencel.xmlanimation-list
菜单/res/menumainmenu.xml,helpmenu.xmlmenu
xml文件/res/xmldata.xml开发者自定义
原始文件/res/rawmain.xml开发者自定义
布局/res/layoutmain.xml多种定义,当必须为布局控件
样式主题/res/valuesstyles.xml,themes.xmlstyle

必须按照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()方法来完成

属性

  1. maxEms ,minEms 设置最大最小宽度 em设置宽度
  2. ellipsize 设置省略号
  3. autoLink (none:无效,web:使用URL链接到网页,email:使用邮箱链接到邮件客户端,phone:自动输入号码 等待拨号,map:使街道地址与地图应用相链接以显示对应的位置 all:使用所有链接有效)
  4. linksClickable 是否可以点击

获取用户数据

使用 EditText控件获取用户输入文本

使用Spinner控件为用户提供可输入

使用按钮,多选框,单选组

Button,ToggleButton,CheckBox,RadioButton

获取用户输入的日期和时间

DataPicker

指示器显示数据

ProgressBar 使用SeekBar调整进度

使用RatingBar显示评分数据

Chronometer显示时间推移

显示时间

  1. DigitalClock
  2. AnalogClock

用户提供选项和上下文菜单

使用选项菜单

使用对话框

  1. Dialog
  2. AlertDialog
  3. CharacterPickerDialog
  4. DatePickDialog
  5. ProgressDialog
  6. TimePickerDialog

跟着对话框的生命周期

使用布局设计用户界面

常用 Android API

数据和储存 API

使用内容提供器在应用中共享数据

网络API

Web API

位置服务API

电话API

OpenGL ES 使用3D图形

可选硬件API