Android程序设计复习笔记(一)

第一章 Android系统及其开发过程

Android系统的系统架构

Android系统分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

应用程序层:最上层的应用,应用程序包括电话拨号程序、短信程序、日历、音乐播放器、浏览器、联系人管理程序等

应用程序框架层:应用程序框架可以说是一个应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定。该框架包含:该框架包含:活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器、XMPP服务。 

运行库层:通过一些封装库来为Android提供应用开发支持,如SQLite提供了数据库的支持。Android的系统运行库包含两部分,一个是系统库,另一个是运行库。

Linux内核层:Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动(如显示,音频,照相机,蓝牙,WI-FI,电源管理等等)关于内核的作用简单说就是提供了进程管理、文件网络管理、系统安全权限管理、以及系统与硬件设备通讯基础。而在无论Android还是iOS这类高度依赖框架的多层次操作系统上,内核对上层开发者来说是几乎不可见的,只能通过开放给你的框架接口进行相关操作。

Android开发分类

1、系统移植开发

2、Android 应用程序开发

  1. 原生APP开发
  2. 混合开发( Hybrid APP )      
  3. 特点:与Html5混合,Html5和Android 之间产生交互,当前的主流方式

Android开发环境

1、Eclipse + ADT(Android Development Tools插件)

2、Android Studio(当前主流的开发环境,推荐安装)

Android API和在线帮助文档

在Android 类库中,各种包写成android.* 的方式,重要包的介绍如下:

  • android.app:          提供高层的程序模型、提供基本的运行环境。
  • android.content:    包含各种的对设备上的数据进行访问和发布的类。
  • android.database:  通过内容提供者浏览和操作数据库。
  • android.graphics:   底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上。
  • android.location:    定位和相关服务的类。
  • android.media:       提供一些类管理多种音频、视频的媒体接口。
  • android.net:            提供帮助网络访问的类,超过通常的java.net.*接口。
  • android.os:             提供了系统服务、消息传输、IPC 机制。
  • android.opengl:     提供OpenGL 的工具,3D 加速。
  • android.provider:   提供类访问Android 的内容提供者。
  • android.telephony: 提供与拨打电话相关的API交互。
  • android.view :        提供基础的用户界面接口框架。
  • android.util:           工具性的方法,例如时间日期的操作。
  • android.webkit:      默认浏览器操作接口。
  • android.widget:     包含各种UI 元素(大部分是可见的)在应用程序的屏幕中使用。

Android项目结构

1、Java源代码目录

  1. 资源目录res及资源类型 (res目录用于存放项目所需要的声音、图片、用户界面等资源文件)
  • values:存放字符串、颜色、尺寸等资源
  • layout:xml用户界面布局文件布局文件
  • drawable:图片
  • anim:xml格式的动画1
  • menu:菜单资源
  • raw:任意文件,一般为较大文件,会生成资源id
  • assets:与raw相似,但不会生成资源id
  1. 引用资源

当在程序中引用资源需要使用R类,其引用形式如下:

R.资源文件类型.资源名称

例如:

(1)在Activity中显示布局视图:

setContentView(R.layout.main);

(2)程序要获得用户界面布局文件中的按钮实例Button1:

mButtn = (Button)findViewById(R.id.Button1);

(3)程序要获得用户界面布局文件中的文本组件实例EditText1:

mEditText = (EditText)findViewById(R.id.EditText1);

4、AndroidManifest.xml项目配置文件

Android应用程序架构分析

1、逻辑控制层与表现层

在Android应用程序中,逻辑控制层与表现层是分开的设计的。逻辑控制层由Java应用程序实现,表现层由XML文档描述。

2、Android程序的组成结构

     

 

第二章 图形用户界面设计

本章课程重点和难点

  1. View类的概念
  2. 常见组件的使用方法
  3. 布局的概念及应用
  4. Toast消息提示的使用

用户界面组件包widget和View类

  1. View是用户界面组件的共同父类,几乎所有的用户界面组件都是继承View类而实现的,如TextView、Button、EditText等。
  2. 对View类及其子类的属性进行设置,可以在布局文件XML中设置,也可以通过成员方法在Java代码文件中动态设置

          

 

文本标签TextView与按钮Button

按钮Button实现OnClickListener监听接口:当单击按钮时,通过OnClickListener监听接口 触发onClick()事件,实现用户需要的功能。

OnClickListener接口有一个onClick()方法,在按钮Button实现OnClickListener接口时,一定要重写这个方法。

按钮Button调用OnClickListener接口对象的方法如下:

按钮对象. setOnClickListener(OnClickListener对象);

 文本编辑框EditText

方法

功能

EditText(Context context)

构造方法,创建文本编辑框对象

getText()

获取文本编辑框的文本内容

setText(CharSequence text)

设置文本编辑框的文本内容

Android布局管理

Android系统的布局管理指的是在XML布局文件中设置组件的大小、间距、排列及对齐方 等。

 Android系统中常见的布局方式有5种,它们分别是:

LinearLayout、FrameLayout、TableLayout、RelativeLayout、GridLayout。

组件大小的属性

wrap_content:根据组件内容的大小来决定组件的大小;

match_parent:使组件填充所在容器的所有空间;

组件大小的单位

px:像素,图像的基本单位,采用点或方块显示;

dpi:像素密度;

dp(dip):device independent pixels(设备独立像素),与终端上的实际物理像素点无关。可以保证在不同屏幕像素密度的设备上显示相同的效果;

sp:比例像素,设置字体大小;

线性布局LinearLayout

线性布局LinearLayout将组件按照水平或垂直方向排列。在XML布局文件中,由根元素LinearLayout来标识线性布局。

在布局文件中,由“android:orientation”属性来控制排列方向,其属性值有水平(horizontal)和垂直(vertical)两种:

设置线性布局为水平方向

android:orientation="horizontal"

设置线性布局为垂直方向

android:orientation="vertical"

文本编辑框EditText

文本编辑框EditText用于接收用户输入的文本信息内容。

文本编辑框EditText继承于文本标签TextView。

方法

功能

EditText(Context context)

构造方法,创建文本编辑框对象

getText()

获取文本编辑框的文本内容

setText(CharSequence text)

设置文本编辑框的文本内容

帧布局FrameLayout

帧布局FrameLayout是将组件放置到左上角位置,当添加多个组件时,后面的组件将遮盖之前的组件。在XML布局文件中,由根元素FrameLayout来标识帧布局。

表格布局TableLayout

  1.  表格布局TableLayout是将页面划分成行列构成的单元格。
  2. 在XML布局文件中,由根元素TableLayout来标识表格布局。
  3. 表格的列数由android:shrinkColumns定义,例如,android:shrinkColumns = “0, 1, 2”,即表格为3列,其列编号为第1、2、3列。
  4. 表格的行由<TableRow> </TableRow>定义。组件放置到哪一列,由android:layout_column指定列编号。

相对布局RelativeLayout

相对布局RelativeLayout是采用相对其它组件的位置的布局方式。在相对布局中,通过指定ID关联其他组件,与之右对齐、上下对齐或屏幕中央等方式来排列组件。

网格布局GridLayout

网格布局GridLayout是把设置区域划分为若干行和若干列的网格,网格中的一个组件可以占据多行或多列。

选项按钮和进度条

  1. 进度条ProgressBar能以形象地图示方式直观显示某个过程的进度
  2. 复选按钮CheckBox用于多项选择的情形,用户可以一次性选择多个选项。复选按钮CheckBox是按钮Button的子类,其属性与方法继承于按钮Button。
  3. 单选组件RadioGroup用于多项选择中只允许任选其中一项的情形。单选组件RadioGroup由一组单选按钮RadioButton组成。

图像显示ImageView与画廊组件Gallery

ImageView类用于显示图片或图标等图像资源,并提供图像缩放及着色(渲染)等图像处理功能。

Gallery类是Android中控制图片展示的一个组件,它可以横向显示一列图像。

Gallery类经常与图片切换器ImageSwitcher配合使用,用图片切换器ImageSwitcher类展示图片效果。使用ImageSwitcher时必须用ViewFactory接口的makeView()方法创建视图。

消息提示Toast

在Android系统中,可以用Toast来显示帮助或提示消息。

该提示消息以浮于应用程序之上的形式显示在屏幕上。

并不获得焦点,不会影响用户的其他操作,使用消息提示组件Toast的目的就是为了尽可能不中断用户操作,并使用户看到提供的信息内容

列表组件 ListView和ListActivity

ListView是一种列表控件

ListView类是Android程序开发中经常用到组件,该组件时必须与适配器配合使用,由适配器提供显示样式和显示数据。

列表组件 ListView和ListActivity

当整个Activity中只有一个ListView组件时,可以使用ListActivity。

ListActivity类继承于Activity类,默认绑定了一个ListView组件,并提供一些与ListView处理相关的操作。

 ListActivity类常用的方法为getListView(),该方法返回绑定的ListView组件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值