Android开发

来源:互联网 发布:读读日报 知乎日报 编辑:程序博客网 时间:2024/05/12 01:16

看了一本书Android开发的书(Android移动应用开发从入门到精通),然后给朋友做了一个项目,回头把那本书又看了一遍,有些查漏补缺的东西需要记录一下。

Activity事件顺序:



注意:

1:onResume是获取资源的最佳场所,尤其是在线程密集型应用中。可以做到先把Activity启动,然后慢慢加载资源。

2:onPause事件中适合停止、保存和释放Activity事件,被Pause的Activity会自动保存页面数据,但是在用户清理内存或者系统内存较低的情况下,会被自动清除和关闭。因此,onPause事件是Activity最后一次彻底保存数据的地方。onPause事件操作最好不要耗时太多,因为新的Activity要在当前Activity的onPause事件执行完以后再启动。

3:onUserInteraction事件是当Activity运行过程中,按键、屏幕等被初始化时调用此方法

4:onUserLeaveHint事件是Activity正在运行时,用户按了返回键或者Home键离开当前Activity时、在onPause事件发生前触发

5:onSaveInstanceState事件用于保存当前Activity的数据到Bundle中,在onResume事件触发时利用传递的Bundle参数恢复数据,但是此事件不保证所有情况下都能保存数据,所以onPause事件是保存Activity的最佳地方。

6:onDestroy事件在两种情况下发生:自然结束或系统因为内存等原因强行结束。

Activity跳转:

Activity跳转由两种方式:startActivity()和Intent,前一种可以实现直接启动其它Activity,比如启动页启动主菜单页,startActivity()加上Finnish()可以完美解决启动页再次被调用的情况。

动画:

动画类是android.view.animation.AnimationUtils中

动画包括三种:

1、  载入gif图片。

2、  逐帧动画。定义各个帧的图片(用BitmapDrawable类定义),用AnimationDrawable类将加载所有BitmapDrawable类,并设置时间间隔。

3、  补间动画。各帧之间的补充动画操作由系统自动完成,分四种:透明(Alpha)、旋转(Rotate)、缩放(Scale)、移动(Tanslate)。

先定义补间,有两种方式:XML(在/res/anima/下创建某种补间定义)和程序定义(例如旋转补间:RotateAnimation类),然后由具体的补间对象对具体的动画元素(比如图片)实现四种补间动画效果。也可以同时定义多种动画效果。

图形:

1、  绘制图像。通过继承View类、实现OnDraw方法获取Canvas类进行绘制

2、  绘制自定义字体。canvas.DrawText(“自定义字体”,20,20,Paint类);

3、  绘制图片。canvas.DrawBitmap();

4、  旋转图片。Matrix类操作。

5、  绘制常用的图形,矩形等。用ShapeDrawable类。

系统资源:都存放在/tools/lib/res/default

Android布局:

Android所有Widget和布局的基类是android.View类

AdapterView:

AdapterView主要包括ListView、GridView和GalleryView等。AdapterView主要用Adapter类(主要包括ArrayAdapter和CursorAdapter)实现赋值。

Tab页面

Tab页面由TabActivity和TabHost组成。TabHost由TabSpace组成。

Switch

Switch一般包括ImageSwitch和TextSwitch两种

ScrollView

有滚轴的页面

SlidingDrawer

有手柄的控件,按住手柄可以滑动控件


多线程:线程类.queueEvent用于加入主线程,线程类.post是返回主线程

地图:

可以采用com.google.android.maps.MapView控件访问google地图

相机:

用Camera类进行操作

电话:

用TelephoneManager类操作

3D:

使用OpenGL ES操作

硬件操作:

设备传感器包括地磁传感器、加速度传感器和Wi-Fi传感器等,前两个使用SensorManager类进行操作。Wi-Fi传感器使用WiFiManager类进行操作。

通知:

通知使用Notification类进行操作。可以通过状态栏发布通知,可以使用震动、声响发布通知,也可以使用自定义通知发布通知。

服务:

服务有两种包括后台服务和远程对象调用接口。通过集成Servise类并实现onCreate、onStart和onDistroy方法。

销售:

使用proguard工具(proguard.sourceforge.net)可以将android程序编译打乱,难以反汇编。


0 0