Android 开发心得分享
2010-03-18 16:13:00 来源:WEB开发网android开发没什么神秘的地方,只不过是又一个新的操作系统而已(而且还是基于 Linu的)。下面记录下最近的开发心得。
android整个上层java开发框架可以分为四个方面:界面(activity和 appwidget)、消息(Intent和Message)、服务(Service)和数据(Sqllite、Content Provider)。
开发要点摘记:
1、新的序列化方式:
android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。
除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。
Parcelable实现要点:需要实现三个东西
1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下:
writeToParcel (Parcel dest, int flags) 具体参数含义见javadoc
2)describeContents方法。没搞懂有什么用,反正直接返回0也可以
3)静态的Parcelable.Creator接口,本接口有两个方法:
createFromParcel(Parcel in) 实现从in中创建出类的实例的功能
newArray(int size) 创建一个类型为T,长度为size的数组,仅一句话(return new T[size])即可。估计本方法是供外部类反序列化本类数组使用。
示例:
需求:我们经常需要在多个部件(activity或service)之间通过Intent传递一些数据,简单类型(如数字、字符串)的可以直接放入Intent。复杂类型(例如,J2ee中的Bean)的必须实现Parcelable接口。示例如下:
class SampleBean implements Parcelable
{
private Bundle mBundle=new Bundle();
public String getArriveTime()
{
return mBundle.getString("arriveTime");
}
public String getOlTime()
{
return mBundle.getString("olTime");
}
public void setArriveTime(String arriveTime)
{
this.mBundle.putString("arriveTime", arriveTime);
}
public void setOlTime(String olTime)
{
this.mBundle.putString("olTime", olTime);
}
public int describeContents()
{
// TODO Auto-generated method stub
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接