大话android之传递值对象(1)----serializable篇
2016-05-10 16:04
429 查看
传递值对象,顾名思义就是将值对象进行交互,所实现的接口一般有两个,serializable跟Parcelable, serializable是Java内置的序列话接口,它是全自动的实现简单方便。
360问答解释的serializable:继承了serializable 就是表示这个类可以序列化使用序列化保存数据比直接写在文件里更有安全性 而且读取的时候处理也简单还有一个更重要的用途就是在rmi和ejb使用的时候
作为参数传递的对象必须是serializable
以下是实现代码(最难不过.java 所以xml就不再写了)
首先是一个自定义数据对象
主页面
副页面
360问答解释的serializable:继承了serializable 就是表示这个类可以序列化使用序列化保存数据比直接写在文件里更有安全性 而且读取的时候处理也简单还有一个更重要的用途就是在rmi和ejb使用的时候
作为参数传递的对象必须是serializable
以下是实现代码(最难不过.java 所以xml就不再写了)
首先是一个自定义数据对象
package com.example.note_9; import java.io.Serializable; import android.os.Parcel; import android.os.Parcelable; //创建一个Users类,利用get set方法封装两个对象,写一个构造方法也是必不可少的。在提取对象时会用到 public class Users implements Serializable{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Users(String name,int age){ this.name=name; this.age=age; } }接下来是要跳转的两个页面
主页面
package com.example.note_9; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Object Button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //千篇一律的鼠标事件代码 final Button btn=(Button)this.findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //创建一个intent 往里面放跳转页面的两个页面 Intent i=new Intent(MainActivity.this,Second.class); //putextra 第一个参数中放要放要提取的对象的主键名, 第二个参数实现类的对象并赋值 i.putExtra("Users", new Users("传参",20)); startActivity(i); } }); } }
副页面
package com.example.note_9; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class Second extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Intent i=getIntent(); final TextView tv=(TextView)this.findViewById(R.id.tv); //创建类的对象,并提取主键 Users user=(Users) i.getSerializableExtra("Users"); tv.setText(String.format("Users info(name=%s,age=%d)", user.getName(),user.getAge())); } }
相关文章推荐
- Fragment的切换方法
- Android创建桌面快捷方式
- Android 从网上下载图片并显示到ListView上
- Andriod调用WebService交互(.net)
- Android_动态权限管理的解决方案
- Android 如何对apk文件进行反编译以及重新打包签名
- Java反射机制的原理及在Android下的简单应用
- Android 如何对apk文件进行反编译以及重新打包签名 标签: apktoolandroid反编译jebSmali2Java 2016-05-10 16:00 3897人阅读 评论(0) 收藏
- android学习之jni编程初探
- BroadcastReceiver要点总结
- android Matrix图片随意的放大缩小,拖动
- Android自动化测试框架开发(二)Monkey、MonkeyRunner介绍和分析
- Android handleMessage和sendMessage 简单示例
- Android5.1.1源码 - zygote fork出的子进程如何权限降级
- Java、Android 开发环境搭建
- Android 超强图片工具类BitmapUtil
- android 给url添加cookie
- Android 多个listview的实现
- Android音频系统之AudioPolicyService
- Android Context解析