您的位置:首页 > 移动开发 > Android开发

android 整体复习笔记(一)

2013-07-17 19:46 169 查看
这里是第一章到第五章的笔记。

第一章 环境搭建

0、同一个view添加两个事件监听时,仍然会执行各自的事件。不同view拥有同一个事件监听时,可以单独写成一个类,实现事件监听接口;把多个view传递过来,进行事件注册和监听。

1、安装和使用。

2、系统架构。应用层、框架层(API)、函数库、Linux内核

3、虚拟机,Dalvik;与java的JVM的区别。

都是虚拟机,android应用是用java写出来的。不同:Dalvik是在JVM基础之上进行改良后的虚拟机;体积小,运行效率高;Dalvik不能解析.class文件;只能运行.dex文件。不能运行大型的应用程序,不能和JVM一样运行大型的应用程序。

4、开发环境。工具,JDK、eclipse、Android SDK、ADT。

5、Android SDK目录结构。adb服务是pc电脑和手机之间通信的服务或桥梁。

adb start-server

adb kill-server

adb decices

adb install apk路径 (路径不能包含中文)

adb -s emulator-5554 shell

linux服务器没有界面,只能远程使用shell命令;系统比较稳定,可以长时间运行,内核是完全开源的,军用系统;而windows系统不稳定,只能短时间运行。

第二章 第一个android应用程序

1、res文件里的内容都会生成R.java,会打包进行编译,但是raw不会被编译。不需要生成R.java的文件可以放在assets文件,该文件夹不会被编译。

2、xml:布局内容是动态的,可以再代码中编译。非动态的内容一般都会使用xml文件

3、AndroidManifes.xml:配置四大组件,权限

4、发布应用,签名。

5、Tree View。查看应用整体布局效果。

<UI界面>

第三章 资源访问

1、TextView 和Button不需要自定义;其他大多数组件都应该选择自定义,不使用系统原生组件。

2、开发过程中,注意使用string,做到国际化、方便更改。

3、R.java文件不必认为修改,自动生成。xml文件组件更换顺序后,需要删除R.java文件,重新生成。

4、尺寸 dp;字体 sp

5、Drawable资源,xml。bitmap,背景平铺。按钮按下弹起(StateListDrawable);LayerDrawable,层叠;ShapeDrawable,自定义文本框。ClipDrawable,截取一个片段的图片

第四章 用户界面

1、getLayoutflater.inflate(),利用这种方法把布局文件加载到内存。setcontentView(layout),也是加载到内存。

2、Alertdialog对话框会阻塞,是早期的API。Alertdialog.Bulider多一些方法,中间按钮,现在大都使用Alertdialog.Builder。

3、对话框、消息框需要show();

4、布局管理,布局嵌套不能太多,一般嵌套三层即可。

第五章 组件详解

1、autoLink,自动的打开相对应得程序

2、AutoCompleteTextView 利用集合、数组存放数据,会用到适配器ArrayAdapter.该适配器也可以传集合。该组件不适合BaseAdapter适配器。

3、选项卡可以放Activity。画廊视图只适用于图片切换,已过时。ViewPager(适配器PagerAdapter)不仅可以切换图片,也可以切换其他View。

4、进度条,用于等待时间长;转圈的进度条,等待时间比较短。进度条刻度;利用线程取进度值。

5、ImageView,src与background。图片要拉伸,缩小,一般使用src。

5.1 ImageSwitcher相当于一个容器。专门对图片进行切换。其实,用动画也可以实现图片切换。

5.2 为ImageSwitcher设置动画效果。如下:

inAnimation=""

outAnimation=""

5.3 ImageSwitcher添加图片

setFactory(new ViewFactory){

public View makeView(){

return view;

}

}

6、ListView和gridView

6.1 焦点:某个时间同一个地方只有一个焦点。与用户在交互过程中触发的行为才会残生焦点。

listView 父view焦点:descendanFocusability=""

其他地方:requestFcous(),请求焦点

6.2 gridView 拉伸、列行的间距

第六章 适配器与事件

1、ArrayAdapter 适用于简单的应用

SimpleAdapter 可用性不强

BaseAdapter getItem(),得到指定的哪一行的对象;getItemId(),得到指定哪一行的id。listView显示行数有限,还没有显示的数据会在互用滑动过程中延迟加载、已经显示的数据则从集合中移除;list加的减,相当于缓存的效果。

2、监听器(委托事件模型) 事件源、事件、注册监听

回调事件处理,onTouchEvent()是典型的回调事件机制。通过回调机制处理事件会传播,子view传播到父view;返回false表示传播;true表示不传播。

3、手势Gesture。首先,通过一定速度或移动距离可以判断用户滑动的方向和是否触发。其次,要有合适的容错性。

在onTouchEvent()中返回gesture.onTouchEvent(event)

滑动式必定会调用onScroll();而onFling()要满足一定条件,达到一定速度,手势必须要抬起来才会调用该方法。

4、Configuration 响应系统设置。只有在ActivityManifest中设置了Configuration change时才会调用。

横屏和竖屏。

5、Handle消息传送机制。在非ui线程中不能设置组件的属性,只有利用Handle通知主线程(UI线程)设置组件属性。handle.postDlayed()多少时间后执行什么,这个方法可以对组件做操作。延迟多少时间再操作主线程,也会阻塞后面的代码执行。(lesson18)。例如,等待图片的加载,只有等待部分图片加载到内存后,才能设置显示图片。否则,设置的图片不会显示出来。

6、线程处理方法。Thread必须依靠Handle、message。

任务线程:AsyncTask<T>。doInBackground(bject... values)和onProgressUpdate(Object... values);里面的参数实际上就是一个数组。可以传多个参数。如:publishProgress(1,2,3,4)。线程结束后的操作:onPostExecute()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: