移动商城036利用Intent对象传递简单数据_第1页
移动商城036利用Intent对象传递简单数据_第2页
移动商城036利用Intent对象传递简单数据_第3页
移动商城036利用Intent对象传递简单数据_第4页
移动商城036利用Intent对象传递简单数据_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训Android北京电子科技职业学院1项目准备主页的实现商品列表与商品详情功能主页与引导页实现登录功能本地收藏夹功能项目扩展2345726项目技能点环境安装使用外部类的方式实现监听事件菜单资源Activity失去焦点AndroidStudio开发环境的使用创建FragmentToolBarActivity重新获得焦点ActivityFragment的生命周期AndroidStudio关闭Activity使用字符串资源Fragment与ViewPagerAndroid虚拟机(AVD)Activity间信使intent使用颜色资源RadioButton运行Android应用程序使用Intent传递数据使用dimen资源ViewPager导航AndroidMonitor利用Intent对象传递可序列化对象使用drawables(vector)和mipmap资源选择器资源的使用ADB从其他Activity返回数据使用代码创建布局SQLite数据库CURD操作源代码获取Activity返回值RelativeLayout相对布局Cursor、Adapter向界面绑定数据对话框资源AndroidLogCatLinearLayout线性布局访问系统ContentProvider项目管理文件AndroidStudio布局编辑器ImageView图片视图LIstView优化Activity的生命周期

ListView列表组件Spinner控件Activity开始

3商品详情页的开发技能点:深入IntentIntent传递对象对象必须是可序列化的,序列化的目的1)永久性保存对象,保存对象的字节序列到本地文件中;2)通过序列化对象在网络中传递对象;3)通过序列化在进程间传递对象实现序列化的方法一是实现Serializable接口,是JavaSE本身就支持的。一是实现Parcelable接口,是Android特有功能,效率比实现Serializable接口高效,可用于Intent数据传递,也可以用于进程间通信(IPC)。Android中Intent传递对象有两种方法:Bundle.putParcelable(Key,Object),方法用于实现了Parcelable接口的对象存入到Bundle中,对应的getParcelable(Stringkey)用于接收键值为key的Parcelable对象Bundle.putSerializable(Key,Object),,与putParcelable的用法一样,只不过该方法用于存放实现了Serializable接口的对象。选择序列化方法的原则1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。3)Parcelable不能使用在要将数据存储在磁盘上的情况,因为在外界有变化的情况下,Parcelable不能很好的保证数据的持续性。尽管Serializable效率低点,但此时还是建议使用Serializable。Serializable实现与Parcelabel实现的区别1)Serializable的实现,只需要implements

Serializable即可。这只是给对象打了一个标记,系统会自动将其序列化。2)Parcelabel的实现,不仅需要implements

Parcelabel,还需要在类中添加一个静态成员变量CREATOR,这个变量需要实现Parcelable.Creator接口。Parcelable接口定义publicinterfaceParcelable{//内容描述接口,基本不用管

publicintdescribeContents();//写入接口函数,打包

publicvoidwriteToParcel(Parceldest,intflags);//读取接口,目的是要从Parcel中构造一个实现了Parcelable的类的实例处理。因为实现类在这里还是不可知的,所以需要用到模板的方式,继承类名通过模板参数传入

//为了能够实现模板参数的传入,这里定义Creator嵌入接口,内含两个接口函数分别返回单个和多个继承类实例

publicinterfaceCreator<T>{publicTcreateFromParcel(Parcelsource);publicT[]newArray(intsize);}}实现Parcelable步骤1)implementsParcelable2)重写writeToParcel方法,将你的对象序列化为一个Parcel对象,即:将类的数据写入外部提供的Parcel中,打包需要传递的数据到Parcel容器保存,以便从Parcel容器获取数据3)重写describeContents方法,内容接口描述,默认返回0就可以4)实例化静态内部对象CREATOR实现接口Parcelable.Creator总结:使用Intent传递对象,要求对象必须是可序列化的,序列化对象就是继承Parcelable或Serializable接口的对象,Serializable的实现,只需要implements

Serializable即可。这只是给对象打了一个标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论