Android基础.docx
- 文档编号:3246710
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:34
- 大小:2.98MB
Android基础.docx
《Android基础.docx》由会员分享,可在线阅读,更多相关《Android基础.docx(34页珍藏版)》请在冰豆网上搜索。
Android基础
第一章.安卓平台和开发环境
学习目标:
●Android平台特性及架构
●搭建Android开发环境
●使用Eclipse开发Android应用
●Android项目的目录结构介绍
●Android模拟器使用
课程内容:
1.了解安卓平台特性
允许重用和替换组件的应用程序框架
专门为移动设备优化的Dalvik虚拟机
基于开源引擎WebKit的内置浏览器
自定义的2D图开库提供了最佳的图开效果,此外还支持基于OpenGlES1.0规范的3D效果
支持数据结构化存储的SQLite
支持常见的音视频和图片格式(如MPEG4,H264,MP3.AAC.AMR.JPG,PNG,GIF);
GSM电话(需要硬件支持)
蓝牙EDGE.3G和WIFI
摄像头,GPS,指南针和加速计
包括设备模拟器,调试工具,优化工具,和Eclipse加发插件等丰富的开发环境
平台架构
Application应该程序
Android提供了一组应该程序,包括Email客户端,SMS程序,日历,地图,浏览器,通讯录等,这部分程序均使用Java语言编写.
ApplicationFramework(应该程序框架)
无论Android提供的应该程序还是开发人员自己编写的应该用程序.都需用使用到ApplicationFramework通过使用ApplicationFramework,不公可以大幅度简化供其牟编写,面具提高了程序的复用性.
Libraries(库)
Android提供了一组C/C++库,它们为平台的不同组件所使用.开发人员通过ApplicationFramework来使用这些库所提供的不同功能
AndroidRuntime(Android运行时)
Android运行时包括核心库和Dalvik虚拟机两部分.核心库中提供了Java语言核心中包含的在部分功能,虚拟机负责运行程序.Dalvik虚拟机专门针对移动设备进行编写.不公效率更高,而且内存占用更少
LinuxKernel(Linux内核)
Android平台使用Linux2.6版内核提供的核心系统服务.这些服务包括安全性,内存管理,进程管理等.
2.搭建Android开发环境
JDK下载及安装
AndroidSDK下载与安装
Eclipse下载与安装
ADT插件安装及配置
3.创建Android工程
打开Eclipse后选择File>>New>>AndroidApplicationProject
AppliactionName:
应用程序名称
ProjectName:
项目名称
PackageName:
应用程序包名,程序在手机中的唯一标示
MinimumRequiredSDK:
程序支持的最低版本
TargetSDK:
程序目标版本
CompileSDK:
编译使用版本
4.程序目录介绍
src:
项目源代码
gen:
自动生成只读文件
-R.java:
资源文件静态ID
-BuildConfig.java:
Deubg设置文件
assets:
应用程序需要使用到的文件,不会生成静态ID
bin:
编译后的2进制代码
libs:
程序引用到的jar包
res:
程序资源文件夹
-drawable:
存放图片
-layout:
布局文件
-menu:
菜单
-values:
颜色,字符串,数组,尺寸等..
AndroidManifest.xml:
项目配置文件,记录应用程序组件
proguard-project.txt:
代码混淆文件
project.properties:
项目所需环境
5.安卓开发工具
Android虚拟设备管理器
AndroidSDK管理器
Android模拟器
Dalvik调试监控服务DDMS
Android调试桥ADB
adb,Android,emulator,mksdcard指令
学员作业
搭建环境,创建第一个工程并且显示到模拟器上
第二章.用户界面设计(布局)
学习目标:
●掌握Android基础控件TextView,Button,ImageView
●掌握Android六大布局
●在Activity中设置布局并显示
课程内容:
1.布局文件所在位置
Android布局文件存放于res/layout目录下
在布局时注意点
1)确定布局管理器类型
2)在布局管理器中添加相需要的组件
3)修改Activity里指向的布局文件
2.Android基础组件
1)TextView文本视图
TextView是Android中用的最多的控件,显示一行或者多行文本,也可以给上下左右设置图片,并且结合SpannableString和其子类可以做到图文混排。
结构
java.lang.Object
|-android.view.View
|-android.widget.TextView
View常用属性
(所有视图类都直接或间接继承于View,共享View的所有属性和方法)
VIew常用属性
android:
background
设置背景色/背景图片。
android:
clickable
是否响应点击事件。
android:
id
给当前View设置一个在当前布局中的唯一编号
android:
onClick
点击时从上下文中调用指定的方法。
这里指定一个方法名
称,一般在Activity定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可:
publicvoidonClickButton(Viewview)
android:
onClick="onClickButton"
android:
padding
设置上下左右的边距,以像素为单位填充空白。
android:
visibility
设置是否显示View。
visible(默认值,显示),
invisible(不显示,但是仍然占用空间)
gone(不显示,不占用空间)
TextView常用属性
TextView常用属性
android:
autoLink
设置是否当文本为URL链接/email/电话号码/map时,
文本显示为可点击的链接。
可选值(none/web/email/phone/map/all)
android:
drawableBottom
android:
drawableLeft
android:
drawableRight
android:
drawableTop
在TextView上下左右输出一张图片
android:
gravity
设置文本位置,如设置成“center”,文本将居中显示。
android:
lines
设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:
text
设置显示文本内容
android:
textColor
设置文本颜色
android:
textSize
设置文本大小
说明:
TextView中含有EditText的很多属性,设置并没有效果,在后面章节中给出属性
TextView设置跑马灯效果
设置单行,焦点,ellipsize,和宽度小于文本长度
2)Button按钮
Android中,Button继承于TextView,并且设置了样式,属性和方法与TextView一模一样。
3)ImageView图片
ImageView用来显示任何Drawable对象,通常用来显示图片
常用属性
android:
src用来设置drawable
scaleType图片的缩放方式
adjustViewBounts在改变图片大小时,是否按照长宽比来进行缩放
3.布局
1)ViewGroup
Android的UI界面都是由View和ViewGroup及其派生类组合而成的。
其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器,其本身也是从View派生出来的。
AndroidUI界面的一般结构可参见下面的示意图:
一般来说,开发Android应用程序的UI界面都不会直接使用View和ViewGroup,而是使用这两大基类的派生类。
ViewGroup.LayoutParams类
用于子控件向父窗体传达自己的意图,每个不同的ViewGroup子类都有自己的LayoutParams类,其中定义了包含在布局中的子控件特殊的属性
android:
layout_width设置控件宽度可用常量wrap_content包裹内容
android:
layout_height设置控件高度match_parent匹配父窗体
2)线性布局管理器(LinearLayout)
特点:
每行或者每列中,只能放一个组件,不会换行,当组件一个一个的排到窗体的边缘后,剩下的组件不会被显示,在垂直线性布局管理器中,每一行只能放一个组件,在水平线性布局管理器中,每一列只能放一个组件
布局属性:
android:
orientation设置布局走向
可选常量vertical垂直方向
horizontal水平方向
android:
gravity设置布局内组件对齐方式
3)表格布局管理器(TableLayout)
特点:
与常用的表格类似,可以添加多个TableRow占一行,TableRow也是容器,每添加一个组件,就可以添加一列,各个列可以自定义设置UI主件独占一行,继承LinearLayout支持所有有LinearLayout的属性
布局属性
android:
collapseColumns="0"设置被隐藏列的序号
android:
shrinkColumns="0,1"设置允许收缩的序号
android:
stretchColumns="1"设置允许被拉伸的列
4)帧布局管理器(FrameLayout)(层布局)
特点:
FrameLayout中的子元素总是以屏幕的左上角层叠在一起
5)绝对布局管理器(AbsoluteLayout)(已过期,无法适应屏幕)
特点:
AbsoluteLayout所有控件都可以指定layout_x,layout_y设置左上角坐标
6)相对布局管理器(RelativeLayout)
特点:
按组件的相对位置来多布局,如某个组件在某个组件的上边,下边,左边,右边
布局内子控件属性
XML属性
描述
android:
layout_above
其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的上方
android:
layout_alignBottom
其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的下边界对齐
android:
layout_alignLeft
其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的左边界对齐
android:
layout_alignParentBottom
其属性值为boolean值,用于指定该组件是否与布局管理器底端对齐
android:
layout_alignParentLeft
其属性值为boolean值,用于指定该组件是否与布局管理器左边对齐
android:
layout_alignParentRight
其属性值为boolean值,用于指定该组件是否与布局管理器右边对齐
android:
layout_alignParentTop
其属性值为boolean值,用于指定该组件是否与布局管理器顶端对齐
android:
layout_alignRight
其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的右边界对齐
android:
layout_alignTop
其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的上边界对齐
android:
layout_below
其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的下方
android:
layout_centerHorizontal
其属性值为boolean值,用于指定该组件是否位于布局管理器水平居中的位置
android:
layout_centerInParent
其属性值为boolean值,用于指定该组件是否位于布局管理器的中央位置
android:
layout_centerVertical
其属性值为boolean值,用于指定该组件是否位于布局管理器垂直居中的位置
android:
layout_toLeftOf
其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的左侧
android:
layout_toRightOf
其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的右侧
例子:
7)网格布局管理器(GridLayout)
GridLayout是Android4.0新增布局
常用属性
android:
rowCount 设置网格布局行
android:
columnCount设置网格布局列
设置布局到Activity上
在Activity的onCreate中调用setContentView(intresId)将布局显示到Activity界面上
课后练习
1,尝试开发一个程序,使用表格布局实现一个带显示快捷方式的程序功能菜单如图:
2,尝试开发一个软件提示更新的程序,如下图:
3,尝试开发一个程序,应用相对布局实现一个泡泡龙界面如下图
第三章.Android应用程序与Activity
学习目标:
●Android应用程序生命周期
●Activity类简介与Activity生命周期
●Log类与LogCat视图的使用
●Activity启动,关闭,配置
●Activity交换数据方式和返回处理结果
课程内容:
1.Android应用程序生命周期介绍
与传统应用程序平台不同,Android应用程序不能控制它们自己的生命周期,相反,应用程序必须监听应用程序状态的变化并做出适当的反应,而且特别要注意为随时被终止而做好准备
AndroidApplication类简介
每次程序运行时,应用程序Application类都保持实例化状态,通过扩展Application类,可以完成
1)共享数据,在应用程序组件之间传递对象
2)对系统广播做出响应(如低内存)
3)管理和维护多个应用程序组件使用的资源
扩展和使用Application类
1)扩展publicclassMyApplicationextendsApplication
2)将MyApplication单例化
3)在Manifest中注册,当程序运行时,MyApplication将会实例化
android: name="包名.MyApplication" android: icon="@drawable/ic_launcher" android: label="@string/app_name" android: theme="@style/AppTheme"> 重写应用程序的生命周期事件 1)onCreate: 在创建应用程序时调用,可以重写这个方法来实例化应用程序单态,以及创建和实例化任何应用程序状态变量或共享资源 2)onLowMemory: 在系统处于资源匮乏状态时,具备良好行为的应用程序可以释放额外的内存 3)onTrimMemory: API4.0后引入,系统会根据不同的内存状态来回调。 4)onConfigurationChanged: 在配置改变时,进行处理 2.Activity类简介与Activity生命周期 什么是Activity Activity是Android的核心对象,为Android系统提供的一个可视的用户交换接口,所有和用户的交互都发生在这里(类似于网页,和WINDOWS窗口)Activity在创建时生成各种控件视图(VIEW)这些视图负责具体功能,例如TextViewButton等.Activity通常使用全屏模式,也有浮动窗口模式(通过设置属性windowIsFloating)和嵌入模式. Activity是Android程序中最基本的模块,它是为用户操作而展示的可视化用户界面,一个应用中可以只有一个Activity,也可以有多个,每个Activity的作用及其数目取决于应用程序及其设计. 注意: 一个Activity也可以使用超过一个窗口,如,在Activity运行过程中弹出的一个供用户反应的小对话框,或者,当用户选择了屏幕上特定项目后显示的必要信息 Activity的常用属性 XML属性 描述 android: name 指定Activity对应的类名 android: theme 指定应用什么主题 android: label 设置显示的名称,一般在Launcher里面显示 android: icon 指定显示的图标,在Launcher里面显示 android: screenOrientation 指定当前Activity显示横竖等 android: configChanges 当配置list发生修改时,是否调用onConfigurationChanged方法 android: exported 是否允许activity被其它程序调用 android: launchMode 设置Activity的启动方式standard、singleTop、singleTask和singleInstance,其中前两个为一组,后两个为一组 android: windowSoftInputMode 定义软键盘弹出的模式 Activity生命周期 输出日志信息Log与LogCat视图 Log.d方法 输出DEBUG故障日志信息 Log.e方法 用来输出ERROR错误日志信息 Log.i方法 用来输入INFO程序日志信息 Log.v方法 用来输入VERBOSE冗余日志信息 Log.W方法 用来输入WARN警告日志信息 选择Window>>ShowView>>Other>>Android>>LogCat打开LogCat视图 MainActivity启动流程 启动其他Activity //创建一个意图,用来从当前Activity跳转到另外一个Activity Intentintent=newIntent(MainActivity.this, DetailActivity.class); //启动Activity startActivity(intent); Intent(意图)是一个对象,负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android系统则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用,详细部分我们后面章节在介绍。 关闭Activity 调用finish()方法关闭当前的Activity。 说明: 如果当前的Activity不是主活动,那么执行finish()方法后,将返回调它的那个Activity,否则,将返回到主屏幕中. Activity传递参数 当在一个Activity中启动另一个Activity,而这些Activity之间又经常要交换数据,这时可以通过Intent来实现,因为Intent通常被称为是两个Activity之间的信使,通过将要传递的数据保存在Intent中,就可以将其传递到另一个Activity中。 Intent中可以存放基础数据和序列化后的数据类型,也可以将数据存放在Bundle中,在放入Intent进行传递 说明: Bundle是一个字符串值到各种Parcelable类型的映射,用于保存要携带的数据包传递一个一个的字符 调用另一个Activity并返回结果 在Android应用开发时,有时需要在一个Activity中调用另一个Activity,当用户在第二个Activity中选择完成时,程序自动返回到第一个Activity中,第一个Activity必须能够获取并显示用户在第二个Activity中选择的结果,或者,在第一个Activity中将一些数据传递到第二个Activity,由于这某些原因,又要返回到第一个Activity中,并显示传递的数据.如程序中经常出现的”返回上一步”功能,这时,也可以通过Intent和Bundle来实现,与在两个Activity之间交换数据不同的是,此处需要使用startActivityForResult()方法来启动另一个Activity。 课后项目 1,实现应用对话框主题的关于Activity 提示,关于弹出框,可以设置activity的主题属性, android: theme="@android: style/Theme.Dialog" 2,实现一个选择头像的功能 第四章.Android基础控件 学习目标: ●掌握View的常用监听事件 ●掌握Android中基础控件和常用属性 ●掌握各种控件的动态创建和属性设置 ●掌握各种控件的独有监听事件 课程内容: 在Activity中,使用ViewfindViewById(intresId)方法与布局中的控件绑定 1.View常用事件接口 View的事件监听是指用户与应用交互,当用户对View进行点击,长按,触摸,移动等动作时,程序对这些动作进行处理 OnClickListener点击View时 OnLongClickListener长安View时 OnToucheListener触摸View时 您需要记住以下几点: 1)监听器是个接口,它包含了一个事件触发时系统会去调用的函数 2)在实现类中,根据您项目的需要重写这个函数 3)实现后的监听器需要绑定到按钮上,就像一个耳机可以发出声音,但您不去戴它,您是听不到它发出的声音的。 一般的情况是这个View可能需要这个监听器,而另外一个View需要另外一个监听器,每个监听器各司其职,但功能相似时,也可以多个按钮共同绑定一个监听器。 4)各种控件,都有常用的事件,绑定监听器的函数命名规则是setOn****Listener 设置监听的几种方法 1)让Activity实现接口 2)匿名内部类 3)onClick可以在xml中设置 4)外部类 5)成员变量 2.基础组件 1)EditText编辑框 EditText继承于TextView,拥有TextView中所有的属性和方法,一般用来提供给用户进行文字,密码等输入操作 注: EditText大部分属性都属于TextView,但在TextView上设置没有效果 常用属性 android: capitalize 设置英文字母大写类型。 设置如下值: sentences仅第一个字母大写;words每一个单词首字母大小,用空格区分单词;characters每一个英文字母都大写。 在模拟器上用PC键盘直接输入可以出效果,但是用软键盘无效果。 androi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 基础