android总结(前十一章)_android开发工作总结

2020-02-28 其他工作总结 下载本文

android总结(前十一章)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“android开发工作总结”。

第二章基本控件

1、基本控件(常用控件)有六种

textview(文字控件)Button(按钮)Edittext(文本框)Imageview(图片控件)Checkbox(复选框)Radiobutton(单选框)

2、使用这些控件需要两步:

第一步:在xml文件(布局文件)里面写控件Id

{@+id/布局文件名字_控件类型名_控件功能} width、Height、background wrap_content(自适应)【够用就行】

match_parent(站满父控件或者是站满父容器)fill_parent(功能和match_parent一样)

第二步: 在代码中(在activity类中)关联控件(findviewbyid)

3、各控件详解

TextView:

常用属性:text、textSize、textColor(#FFFFFF)、textStyle(粗bold、斜italic、粗斜bold|italic)RadioButton: xml中一定要用radiogroup来包裹radiobutton 2 在代码中一定要实例化radiogroup(可以不实例化radiobutton)

Button:

btton.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ } });EditText: 常用属性:autoText(自动拼写辅助)、digits(只接受某些数字)、hint(输入为空时给提示)

CheckBox:

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ public void OnCheckedChanged(CompoundButtonbuttonView, booleanisChecked){

} } });switch(buttonView.getId()){ case R.id.chk: break;

RadioButton: RadioButton.setOnCheckedChangeListener(new OnCheckedChangeListener(){ public intcheckedId){

} }

RadioGroup.void OnCheckedChanged(RadioGroupgroup, switch(checkId){ case R.id.chk: break;

});

4、事件:

键盘

et.setOnKeyListener(new View.OnKeyListener(){ publicboolaenonKey(View arg0,int arg1,KeyEvent arg2){

触屏 id(arg1 == KeyEvent.KEYCODE_A){ publicbooleanonTouchEvent(MotionEvent event){ if(event.getAction()== MotionEvent.ACTION_DOWN)float x = event.getX();

第三章布局

1、四种布局:线性,帧,表格,相对

线性布局:控件在布局中呈横向或纵向线性排列(线性布局的嵌套可以代替除帧布局之外的大多数布局)

帧布局:层状排列的布局(控件之间的覆盖)

表格布局:设置layout_row和layout_column确定空间位置(为0表示第一行,第一列)

跨越多行或多列layout_rowSpanlayout_columnSpan

相对布局:(找好参照物)

Layout_alignParentBottom 与父控件底边对齐 Layout_centerVertical 垂直方向上对父控件居中 Layout_alignLeft 和以定位的子控件左边界对齐 Layout_above 在定位的子控件上方

2、布局中的常用属性:

单独指定某一边的边距(控件与其他控件)Layout_marginLeftlayout_marginRightlayout_marginToplayout_marginBottom 控件内部内容与控件边界的距离 PaddingButtom=“39px” 是否可见visibility

应用:计算器归零和退格键

占用一个位置

第四章资源文件

一、Value1、String资源

1、目录:

res/values/string.xml2、格式

Hello world!

android:text=“@string/hello_world” String s = getString(R.string.hello_world);

3、R文件代码

public static final cla string { public static final inthello_world=0x7f050001;}

4、语言转换,同一name,对应不同值

2、Style1、格式

2、使用

使用系统自带格式

3、步骤

3、color1、格式

二、drawable1、使用

在res文件夹下,新建drawable文件,将图片复制到此目录。Drawabledrawable = getResources().getDrawable(R.drawable.a)android:src=“@drawable/img0” 第五章选择控件

1、四种选择控件

ListView,Spinner(下拉菜单),GridView(二维选项网格),Gallery(水平排列列表框)

2、Listview的适配器有几种?

1、Baseadapter【自定义的适配器】

步骤:

自定义类继承BaseAdapter,四个方法(项的个数datasource.size()、返回项arg0、返回项idarg0、返回项的view),当view为一项时

TextViewtv = new TextView(MainActivity.this);Tv.setText(datasource.get(arg0));Return tv;当 view为多项时

//布局文件解析成View LayoutInflaterinflater = getLayoutInflater();

View row = inflater.inflater(R.layout.listitem,arg2,false);//找到相应控件

TextViewtv =(TextView)row.findViewById(R.id.textView1);//设置显示内容

Tv.setText(datasource.get(arg0));return row;

2、Arrayadapter【单一数据的适配器】

3、Simpleadapter【不需要重写的自定义适配器】

3、Simplecursoradapter【为数据库提供的适配器】

3、Item点击监听事件

四个参数分别为:你现在点击的控件AdapterView、点击的项、点击的数据的位置、项的id。

4、数据刷新:

5、持有者优化(baseadapter)

1、步骤:

自定义Wrapper

自定义自定义类继承BaseAdapter,四个方法(项的个数datasource.size()、返回项arg0、返回项idarg0、返回项的view)

当row为空,生成新的。通过setTag()传递view。

2、在持有者优化中常见的错误

1.出现在项布局文件中【项布局的控件可能会和其他控件id重复】

2.出现在解析优化的时候。传入的context不正确。【getApplicationContext不建议】Activity类.this 解析的布局关联错误

3.解析优化的时候写了if没有写else【导致wapper为空】 4.Getview方法中没有return view 而是默认return null; 5.在持有者关联控件时view.findViewById,View丢掉了

使用选择控件:

优化:为什么要对listview进行优化呢?(节省资源,提高效率)

6、其他选择控件

1.Spinner(下拉菜单)

用法

点击事件

下拉方式

2.gridview 用法

Xml

第六章高级控件和容器

1、进度条一共有几种:

1.progrebar

例图

2.seekbar 设置拖动图标

点击事件

3.rating 两颗已亮,每次最少加两颗星

2、TabHost和ViewFlipper 1.tabhost 布局文件

关联添加

不要忘了tabHost.setup();

设置图标

动态添加tabhost项,利用 选项卡内容工厂new TabContentFactory()

2.ViewFlipper3、自定义控件

1.四种思路

2.简单自定义控件的步骤:

1.创建一个类,集成(view或者布局或者是其他控件)2.重写三个构造方法

3.如果自定义控件可点击,重写相应的点击事件(注意:不是点击监听)4.使用【在xml布局文档中使用包名+类名的方式来引用控件】 5.如果是集成的布局,那么我们可能会需要创建公开的监听方法,来实现自定义控件的子控件某些监听

实例,继承与现有控件,重写点击事件

3.复杂自定义控件的步骤:

实例,继承于布局LinearLayout

实例,继承与FrameLayout

第七章菜单

Android中常用菜单有三种: 选项菜单(option menu)上下文菜单(context menu)子菜单(sub menu)【次级菜单】

选项菜单

1.写法

showAsAction【actionbar】 选项菜单的创建过程

重写activity的onCreateOptionsMenu,动态或者静态加载菜单 //(选做)调用menuitem.seticon();为菜单项设置图标

重写activity的onOptionsItemSelected()进行点击事件的响应

直接添加也可以,四个参数

选项菜单能够显示出来的最多有6个,选项菜单的项多于6个时,那么多出来的菜单项就会放在更多选项中进行显示

2.点击事件

3.动态添加item

4.XML

上下文菜单:

1.官方解释:

当用户长按activity界面时,弹出的菜单就是上下文菜单;

2.上下文菜单的创建步骤:

1.创建菜单:重写onCreateContextMenu,动态或静态去添加菜单项 2.创建响应事件:onContextItemSelected 3.为控件或视图注册上下文菜单:registerForContextMenu【ps:注册方法,控件或视图作为参数】

上下文 Context:

activity的context(界面上下文)

获取界面上下文:在activity中默认就可以获取到 应用的context(应用上下文)

通过getApplication();getApplicationContext();

子菜单【次级菜单】

1.官方解释:

子菜单就是将相同功能的分组进行多级显示

2.子菜单的创建方式:

菜单组

1.组的创建

2.常用属性

设置一组都不可点击

设置不可见

设置一组为单选

设置两组单选,设置字体颜色 大小

第八章消息和对话框

1、Dialog 1.用法

2.设置按钮点击事件

3.四种设置主体方法

设置list

多选框

自定义布局

2、Toast 1.普通用法

2.自定义

View可以使一个控件,一个布局

3、其他对话框

1.DatePickerDialog&TimePickerDialog&ProgreDialog 默认显示日期为2000年2月1日,月份从0开始

默认显示时间为10点21分,24小时制

横向,可加文字

4、自定义Dialog 1.思路

自定义Style

2.代码

第九章

Activity的生命周期

1、简介

2、开启与关闭

3、创建

创建一个布局、创建一个类继承activity、重写OnCreate方法、关联布局文件、关联控件、注册activity 入口activity的action写法

Action和category可以有多个,但是action和category一定要一一对应

4、Activity的生命周期

onCreate->onstart->onresume->onPause->onStop->onDestory onCreate->第一次创建activity时执行(只要当前activity不被销毁【只要当前的生命周期没有执行onDestory,那么onCreate就不会被执行第二次】)

【做一些数据或者控件的初始化操作】 onstart-> 界面可见

Onresume-> activity 获得焦点(界面可见并且可操作)onPause->activity失去焦点(界面可见但不可操作)onStop->界面不可见

onrestart->onstart->onresume->onPause->onStop->onDestory 3+4=7;

三层循环(生命周期的循环)+四个阶段 = 7个方法

三层循环

activity四个阶段:

1.开始activity:onCreate->onstart 2.Activity失去焦点:onresume->onPause 3.Activity重新获取焦点:onPause->onresume 4.关闭activity:onPause->onStop->onDestory

5、重构传参

1.第一次oncreat,bundle为空,需要判断。放在onRestoreInstanceState就不会了

2.横竖换屏,屏幕尺寸改变不会影响

第十章

Intent1、Activity启动

1.显示

第一种:Intent intent = new Intent(MainActivity.this,SecondActivity.cla);第二种:ComponentName 第三种:intent.setCla(MainActivity.this,SecondActivity.cla);第四种:intent.setClaName(“包名”,”包名+类名”);

2.隐式启动,调用action name

当两个action一样时;会进入选择

3.Intent开启流程

4.LaunchMode2、Intent传参

1.可传bundle,如果值没传进去,可设置默认

3、Activity返回

1.startActivityForResult执行流程:

(activity a , activity b;在a中启动b,然后在b中做操作给a返回结果)(1)在a中使用startActivityForResult来开启b【注:在启动时请求码requestCode要注意】

(2)在b的onCreate获得a传过来的intent(使用getIntent方法),做操作获取数据。把结果放进intent,使用setResult方法把结果传回给a 【注:setResult方法之后一定要关闭当前activity】

(3)在a中重写方法onActivityResult,在方法中判断请求码和结果码,判断成功后,从intent中获取结果数据,并更改UI界面

第十一章

Service1、本地服务的开启

1.startservice方法启动

流程

StartService关闭服务

2.bindservice方法启动

《android总结(前十一章).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
android总结(前十一章)
点击下载文档
相关专题 android开发工作总结 一章 前十 Android android开发工作总结 一章 前十 Android
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文