android期末复习总结资料2.docx
- 文档编号:12701561
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:17
- 大小:21.48KB
android期末复习总结资料2.docx
《android期末复习总结资料2.docx》由会员分享,可在线阅读,更多相关《android期末复习总结资料2.docx(17页珍藏版)》请在冰豆网上搜索。
android期末复习总结资料2
1.2007年11月,谷歌发起,33家厂商组成开发手持设备联盟(OHA),发布Android平台。
2.Android简介:
原意为“机器人”
符合环保、轻薄短小、功能强大、号称第一。
。
3.Android特点
开放源码、多任务、个性化、虚拟键盘、超强网络功能、集成开发环境。
4、Android开发环境搭建
支持平台:
Windows、MacOS、Linux开发语言:
JAVA、C/C++开发环境需要:
JDK、IDE、SDK
开发环境的搭建套路:
JDK+Eclipse+ADT插件+SDK稍繁琐
JDK+ADTBundle+SDK主流
JDK+AndroidStudio+SDK较新
5、AVD(Android模拟器)的作用
测试不同分辨率下的界面布局
6.Target:
AndroidSDK版本
7.基准屏幕:
480*320density(密度)=160单位dp,dip
8.打开已有项目import
MinimumRequiredSDK:
应用程序支持的最低版本。
TargetSDK:
目标版本。
CompileWith:
编译时使用的平台版本。
ApplicationName:
应用程序的标题
PackageName:
应用程序包名,重要属性!
9、包名采用“反域名命名规则”:
例如:
10.src文件夹
默认包和新建包源码文件的存放位置
res文件夹
最重要的部分,存放各种资源文件
drawable文件夹:
有关图形的资源
关于分辨率问题的处理
图形资源包括普通图片文件和xml文件
layout文件夹:
界面布局文件
关于用户界面
布局文件
纯代码
可视化drag&drop
values文件夹:
参数设置文件
strings.xml字符串
dimens.xml尺寸/度量相关设置
colors.xml颜色值
gen文件夹:
自动生成的文件
R.java资源索引文件
11.如何使用资源索引
XML文件中引用语法:
@类名称/字段名
JAVA代码中引用语法:
R.类名称.字段名
12.创建资源索引的原因:
资源索引不但在使用的语法上较为方便,也可节省内存,因为重复使用资源时,而内存中只保留一份,可提高执行效率。
13.AndroidManifest.xml组成
版本信息application标签activity标签intent-filter标签
14intent-filter标签作用
根据设置的条件筛选Intent要执行的Activity
15.android:
orientation属性
horizontalvertical水平排列垂直排列:
android:
layout_width和android:
layout_height属性
fill_parent或match_parent填满整个外框
wrap_content根据文字自动调整
16.什么是activity?
一般称之为“活动”,在应用程序中一般一个Activity就是一个单独的屏幕。
每一个活动都被实现为一个独立的类,负责显示由视图控件组成的用户接口,并对事件作出响应。
组成:
java文件,进行事件处理xml文件,描述界面视图的组成
17.onCreate方法
类方法的重载setContentView()的作用
18自动引入快捷键:
CTRL+SHITF+O
19.三种最基本的界面组件:
//大小写注意
TextView:
显示各种字符信息EditText:
输入各种字符数据Button:
按钮,响应事件并执行
20.TextViewdp或dip:
设备无关像素,基准屏幕320*480sp:
比例缩放像素,专用于字号;常用属性:
P45表
21.按钮Button例子
publicclassExample3ActivityextendsActivity{
privateButtonbtnDo;
privateTextViewtxtShow;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取得接口组件
btnDo=(Button)findViewById(R.id.button1);
txtShow=(TextView)findViewById(R.id.textView1);
btnDo.setOnClickListener(btnDoListener);
}
privateButton.OnClickListenerbtnDoListener=newButton.OnClickListener(){
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
txtShow.setText("你按到我了!
");
}
};
}
22.Toast弹出消息语法toast即变量名可变化
Toasttoast=
Toast.makeText(主程序类.this,"消息内容",Toast.LENGTH_SHORT);
toast.show();
23.Toast作用
应用程序在执行过程中会需要显示一个小消息告诉用户一些必要信息,该消息在显示短时间后自动消失,并不会干扰用户操作。
23.AlertDialog对话框作用
提供交互操作
24.复选列表CheckBox作用
提供可以复选的选项列表,用户可以同时复选多个选项,也可以一个选项都不复选。
25.Checkbox
监听器对象:
OnCheckedChangeListener
处理方法:
onCheckedChange()设置监听器:
setOnCheckedChangeListener()
26嵌套LinearLayout作用
使得组件的放置同时拥有垂直及水平的布局配置
27单选按钮/单选列表RadioButton、RadioGroup作用
RadioButton组件可供用户在多个选项中进行单选的动作,它经常配合RadioGroup选项组一起使用。
程序中会利用RadioGroup选项组将多个RadioButton组件组合起来,在组中只能单选一个选项,也可以都不选择。
28.onCheckedChange()与CheckBox的差别
29.下拉列表Spinner作用
可以创建选项列表供用户从中选择,很人性的设计,避免用户输入错误,而且平时Spinner界面组件不做选择操作时,会自动收起来,节省空间。
30.创建Spinner选项的步骤
创建数据源ArrayAdaptersetAdapter()方法
31.Spinner
监听器对象:
OnItemSelectedListener
32.ImageView界面组件----显示图像作用
显示图像,让画面更加美观和生动
33.ImageView语法
android:
src=“@drawable/imgname”注意:
不带文件名后缀
34.Gallery画廊组件—画廊展示作用
支持滑动效果,并且可以选择指定的图片。
35.Gallery属性
android:
padding组件和边界的距离
android:
spacing图片间的间隔
36.Gallery使用流程:
创建数据源setAdapter()设置监听器:
OnItemSelectedListener
37.Gallery所使用的图片数据源,必须使用BaseAdapter对象的派生类,派生类必须实现以下方法:
publicclassMyAdapterextendsBaseAdapter
{
@Override
publicintgetCount(){//返回数据源总共有多少元素
return0;
}
@Override
publicObjectgetItem(intposition){//返回指定位置的元素
returnnull;
}
@Override
publiclonggetItemId(intposition){//返回指定位置的元素的id
return0;
}
@Override//返回指定位置的元素
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
returnnull;//根据具体修改
}
}
38.GridView界面组件—表格展示作用
GridView界面组件是在表格中放置图片进行展示,在设置时的重点是规定每一行的字段数,图片展示时会根据列自动折行显示。
39.ListView界面组件----选项列表作用
用户可以从中选择选项,通常使用于数据量较大的列表数据。
40.ListView使用流程
创建数据源setAdapter()设置监听器:
OnItemClickListener
41.ListView自定义布局和自定义Adapter的配合
42.ListView例子LayoutInflater与findViewById()
Inflate()和getView()的配合布局、数据、显示三者的配合
publicclassListView4ActivityextendsActivity{
ListViewlstPrefer;
int[]resIds=newint[]{R.drawable.basketball,R.drawable.football,
R.drawable.baseball,R.drawable.other};
String[]Balls=newString[]{"篮球","足球","棒球","其它"};
String[]engNames={"BasketBall","FootBall","BaseBall","Other"};
MyAdapteradapter=null;
@Override
publicvoidonCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取得资源类文件中的界面组件
lstPrefer=(ListView)findViewById(R.id.lstPrefer);
//建立自定义的Adapter
adapter=newMyAdapter(this);
//设置ListView的数据源
lstPrefer.setAdapter(adapter);
}
publicclassMyAdapterextendsBaseAdapter{
privateLayoutInflatermyInflater;
publicMyAdapter(Contextc){
myInflater=LayoutInflater.from(c);
}
@Override
publicintgetCount(){
returnBalls.length;
}
@Override
publicObjectgetItem(intposition){
returnBalls[position];
}
@Override
publiclonggetItemId(intposition){
returnposition;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
convertView=myInflater.inflate(R.layout.mylayout,null);
//取得mylayout.xml中的组件
ImageViewimgLogo=(ImageView)convertView.findViewById(R.id.imgLogo);
TextViewtxtName=((TextView)convertView.findViewById(R.id.txtName));
TextViewtxtengName=((TextView)convertView.findViewById(R.id.txtengName));
//设置组件内容
imgLogo.setImageResource(resIds[position]);
txtName.setText(Balls[position]);
txtengName.setText(engNames[position]);
returnconvertView;
}
}
}
43.Intent定义
由动作和内容组成,相当于一个网址,可打开指定的网页并传递数据,Intent就是执行各网页间的切换.Intent除了执行内部定义动作,也执行自定义Activity。
44.内部定义动作
浏览网站
Intentintent=newIntent(Intent.ACTION_VIEW,Uri.parse(“”));
调用拨号
Intentintent=newIntent(Intent.ACTION_DIAL,Uri.parse(“tel:
0123456789”));
拨打电话
Intentintent=newIntent(Intent.ACTION_call,Uri.parse(“tel:
0123456789”));
切换页面
Intentintent=newIntent();
Intent.setClass(ThisActivity.this,ToActivity.class);
45.Intent的语法:
Intentintent=newIntent(动作,内容);
46.如何添加Activity
点击包名右击NewOtherAndroidAndroidActivity
47.页面间跳转(固定格式)thisclass保留
Intentintent=newIntent();
intent.setClass(ThisActivity.this,ToActivity.class);
startActivity(intent);
48.附带数据的Intent
页面之间传递数据的方法
Intent传递数据的流程
使用setClass()方法指定执行类
通过Bundle对象打包要传递的数据
使用putExtras()方法将Bundle对象加入intent
使用startActivity()执行intent
–接收Intent附加数据的流程
使用this.getIntent()获取调用者传递的Intent
使用getExtras()方法获取Intent中的Bundle
使用Bundle的getXXX()方法取得具体数据
49.publicclassIntent3ActivityextendsActivity{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//取得界面组件
ButtonbtnPage2=(Button)findViewById(R.id.btnPage2);
//设置button的myListner
btnPage2.setOnClickListener(myListner);
}
privateButton.OnClickListenermyListner=newButton.OnClickListener(){
publicvoidonClick(Viewv){
Intentintent=newIntent();
intent.setClass(Intent3Activity.this,Second.class);
Stringname="David";
intage=27;
Doubletall=183.5;
Bundlebundle=newBundle();
bundle.putString("NAME",name);
bundle.putInt("AGE",age);
bundle.putDouble("TALL",tall);
intent.putExtras(bundle);
//执行附带数据的Intent
startActivity(intent);
}
};
}
publicclassSecondextendsActivity{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.page2);
//取得界面组件
TextViewtxtShow=(TextView)findViewById(R.id.txtShow);
ButtonbtnHome=(Button)findViewById(R.id.btnHome);
//设置button的myListner
btnHome.setOnClickListener(myListner);
//取得bundle
Intentintent=this.getIntent();
Bundlebundle=intent.getExtras();
Stringname=bundle.getString("NAME");
intage=bundle.getInt("AGE");
Doubletall=bundle.getDouble("TALL");
Strings="姓名:
"+name+"\n\r"+
"年龄:
"+age+"\n\r"+
"身高:
"+tall;
txtShow.setText(s);
}
privateButton.OnClickListenermyListner=newButton.OnClickListener(){
publicvoidonClick(Viewv){
finish();
}
};
}
50.Activity的生命周期
作用:
管理资源分配,尤其是内存分配
51.Activity的4个基本状态
•运行(running)状态:
可见,可交互
•暂停(paused)状态:
部分可见,不可交互
•停止(stopped)状态:
不可见
•销毁(killed)状态:
被杀掉后或启动前
52.系统内存不足时的处理:
最优先移除EmptyProcess(空进程)
然后移除BackgroundActivity
然后移除ServiceProcess
然后移除VisibleActivity
最后移除目前活动Activity
53.Activity运行流程
–启动Activity
•onCreate()->onStart()->onResume()
–结束Activity:
按Back键或运行finish()
•onPause()->onStop()->onDestroy()
–调用内建的Activity:
执行Toast、AlertDialog、拨打电话等
•onPause()->onStop()
–从内建的Activity返回原Activity
•onRestart()->onStart()->onResume()
–锁屏
•onPause()->onStop()
–解锁
•onRestart()->onStart()->onResume()
–//切换到App的另一个Activity
•onPause
(1)->onCreate
(2)->onStart
(2)->onResume
(2)->onStop
(1)
–//从另一个Activity返回原Activity
•onPause
(2)->onRestart
(1)->onStart
(1)->onResume
(1)->onStop
(2)->onDestroy
(2)
–点击HOME键回到桌面
•onPause()->onStop()
–重新执行原程序
•onRestart()->onStart()->onResume()
–由系统强制回收后再启动
•onCreate()->onStart()->onResume()
54.
Timer类
功能强大的定时器
语法:
TimermyTimer=newTimer();
myTimer.schedule(timerTask,延迟时间[,间隔时间]);
TimerTask类
定时器任务
单独的线程中运行
语法:
TimerTasktask=newTimerTask()
{
publicvoidrun()
{
//要执行的程序代码
}
};
发生崩溃的原因:
UI只能在主线程中更新
解决办法
Handler类:
消息处理机制
Handlerhandler=newHandler()
{
publicvoidhandleMessage(Messagemsg)
{
super.handleMessage(msg);
switch(msg.what)
{
//根据消息类型做处理
}
}
};
Thread类
线程的概念和作用
线程的创建
publicclassMyThreadextendsThread
{
publicvoidrun()
{
//线程的执行代码
}
}
MyThreadthr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 期末 复习 总结 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)