- 浏览: 82641 次
- 性别:
- 来自: 成都
最新评论
-
284772894:
好文章,谢谢
android硬件传感器 -
康妮西:
求这个View的解释望博主联系,我的联系方式:kangnixi ...
让scrollview在滚动的过程中自动定位页的边边 -
muyu114:
你这个是啥意思啊,有什么效果没有
让scrollview在滚动的过程中自动定位页的边边
Activity之间跳转,传值,主要是通过intent来连接,以及传递数据。
1.通过intentest.putExtra(“key,字符串”, value(基本数据类型));
Intent test = new Intent();
test = putExtra("name", true);
包括:
public Intent putExtra (String name, double[] value)
public Intent putExtra (String name, int value)
public Intent putExtra (String name, CharSequence value)
public Intent putExtra (String name, char value)
public Intent putExtra (String name, float value)
public Intent putExtra (String name, byte[] value)
public Intent putExtra (String name, Serializable value)
。。。。。。
2.通过Bundle
public Intent putExtra (String name, Bundle value);
public Intent putExtra (Bundle value);
Bundle类用作携带数据,类似于map。他存储的是 key-value的键值对。
通过put与get方法分别存取各种类型的数据
public void putString (String key, String value)
public String getString (String key)
下面详细介绍Bundle:
原文出处:
http://www.cnblogs.com/salam/archive/2010/10/27/1862730.html
3.传递自定义的序列化对象
自定义序列化类
1.介绍
用于不同Activity之间的数据传递
1.重要方法
clear():清除此Bundle映射中的所有保存的数据。
clone():克隆当前Bundle
containsKey(String key):返回指定key的值
getString(String key):返回指定key的字符
hasFileDescriptors():指示是否包含任何捆绑打包文件描述符
isEmpty():如果这个捆绑映射为空,则返回true
putString(String key, String value):插入一个给定key的字符串值
readFromParcel(Parcel parcel):读取这个parcel的内容
remove(String key):移除指定key的值
writeToParcel(Parcel parcel, int flags):写入这个parcel的内容
二、实例
//FirstActivity putdata
。。。。。。
Intent intent = new Intent();
intent.setClass(FirstActivity.this, NextActivity.class);
Bundle mBundle = new Bundle();
//put data
mBundle.putString("name", "aliusa");
intent.putExtras(mBundle);
startActivity(intent);
。。。。。。
//NextActivity getData
。。。。。。
//get data
Bundle b=getIntent().getExtras();
String info=b.getString("name");
System.out.println("name ="+info);
。。。。。。
三、与SharedPreferences的区别
SharedPreferences是简单的存储持久化的设置,就像用户每次打开应用程序时的主页,它只是一些简单的键值对来操作。它将数据保存在一个xml文件中
Bundle是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状
3.startActivityForResult(itent, int requestCode)
如果我们想在secondeActivity关闭的时候告知开启它的activity好做相应的处理的时候可以用
startActivityForResult(itent, int requestCode)配合
onActivityResult(int requestCode, int resultCode, Intent data){};来解决。
解释:
int requestCode,请求码,用于标识请求源,也就是区分什么地方开启了他。
int requestCode,结果码,标识什么时候关闭该页面返回。
Intent data,可以在关闭页面的时候,通过intent向上一个页面传递参数。
举例:
。。。。。。
在fistActivity中开启SecondActivity
final long index = 2000;
final Intent itent = new Intent(context,MergeDetailActivity.class);
itent.putExtra(“index”, index);
startActivityForResult(itent, CODE_MERGE_SUBMIT);
在SecondActivity中取值
Intent intent = getIntent();
int index= intent.getLongExtra(“index”, 0);
在secondActivity关闭的时候put data
final Intent data = new Intent();
data.putExtra(“index”,index );
setResult(1, data);
finish();
secondeActivity关闭后在firstActivity中get Data
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == 1) {
final int index = data.getLongExtra(“index”, -1);
// do some special
}
super.onActivityResult(requestCode, resultCode, data);
}
1.通过intentest.putExtra(“key,字符串”, value(基本数据类型));
Intent test = new Intent();
test = putExtra("name", true);
包括:
public Intent putExtra (String name, double[] value)
public Intent putExtra (String name, int value)
public Intent putExtra (String name, CharSequence value)
public Intent putExtra (String name, char value)
public Intent putExtra (String name, float value)
public Intent putExtra (String name, byte[] value)
public Intent putExtra (String name, Serializable value)
。。。。。。
2.通过Bundle
public Intent putExtra (String name, Bundle value);
public Intent putExtra (Bundle value);
Bundle类用作携带数据,类似于map。他存储的是 key-value的键值对。
通过put与get方法分别存取各种类型的数据
public void putString (String key, String value)
public String getString (String key)
下面详细介绍Bundle:
原文出处:
http://www.cnblogs.com/salam/archive/2010/10/27/1862730.html
3.传递自定义的序列化对象
自定义序列化类
public class Contacts implements Parcelable { public static final String PARCELABLE_KEY = "aliusa.cn.ui.Contacts.parcelableKey"; private int id; private String name; public Contacts(int id,String name){ this.name = name; this.id = id; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int describeContents() { return 0; } //关键的事 @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(id); dest.writeString(name); } //关键的事情 public static final Parcelable.Creator<Contacts> CREATOR = new Parcelable.Creator<Contacts>() { public Contacts createFromParcel(Parcel in) { return new Contacts(in); } public Contacts[] newArray(int size) { return new Contacts[size]; } }; //关键的事 private Contacts(Parcel in) { id = in.readInt(); name = in.readString(); } }
传递参数 Contacts contact = new Contacts("0001", "aliusa"); Bundle bundle = new Bundle(); bundle.putParcelable(Contacts.PARCELABLE_KEY , contact); intent.putExtra(parcelableKey, contact);
读取参数 final Contacts contact = (Contacts) getIntent().getExtras().getParcelable(Contacts.PARCELABLE_KEY);一、API文档说明
1.介绍
用于不同Activity之间的数据传递
1.重要方法
clear():清除此Bundle映射中的所有保存的数据。
clone():克隆当前Bundle
containsKey(String key):返回指定key的值
getString(String key):返回指定key的字符
hasFileDescriptors():指示是否包含任何捆绑打包文件描述符
isEmpty():如果这个捆绑映射为空,则返回true
putString(String key, String value):插入一个给定key的字符串值
readFromParcel(Parcel parcel):读取这个parcel的内容
remove(String key):移除指定key的值
writeToParcel(Parcel parcel, int flags):写入这个parcel的内容
二、实例
//FirstActivity putdata
。。。。。。
Intent intent = new Intent();
intent.setClass(FirstActivity.this, NextActivity.class);
Bundle mBundle = new Bundle();
//put data
mBundle.putString("name", "aliusa");
intent.putExtras(mBundle);
startActivity(intent);
。。。。。。
//NextActivity getData
。。。。。。
//get data
Bundle b=getIntent().getExtras();
String info=b.getString("name");
System.out.println("name ="+info);
。。。。。。
三、与SharedPreferences的区别
SharedPreferences是简单的存储持久化的设置,就像用户每次打开应用程序时的主页,它只是一些简单的键值对来操作。它将数据保存在一个xml文件中
Bundle是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状
3.startActivityForResult(itent, int requestCode)
如果我们想在secondeActivity关闭的时候告知开启它的activity好做相应的处理的时候可以用
startActivityForResult(itent, int requestCode)配合
onActivityResult(int requestCode, int resultCode, Intent data){};来解决。
解释:
int requestCode,请求码,用于标识请求源,也就是区分什么地方开启了他。
int requestCode,结果码,标识什么时候关闭该页面返回。
Intent data,可以在关闭页面的时候,通过intent向上一个页面传递参数。
举例:
。。。。。。
在fistActivity中开启SecondActivity
final long index = 2000;
final Intent itent = new Intent(context,MergeDetailActivity.class);
itent.putExtra(“index”, index);
startActivityForResult(itent, CODE_MERGE_SUBMIT);
在SecondActivity中取值
Intent intent = getIntent();
int index= intent.getLongExtra(“index”, 0);
在secondActivity关闭的时候put data
final Intent data = new Intent();
data.putExtra(“index”,index );
setResult(1, data);
finish();
secondeActivity关闭后在firstActivity中get Data
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == 1) {
final int index = data.getLongExtra(“index”, -1);
// do some special
}
super.onActivityResult(requestCode, resultCode, data);
}
发表评论
-
Android_SDK_NDK_JNI
2014-09-10 12:26 690Android SDK、NDK、JNI的简 ... -
如何检查apk是否签名
2012-02-22 16:46 2447Use this command : (Jarsigner i ... -
切割bitmap
2011-11-15 16:09 943Bitmap resource = BitmapFactory ... -
TextView控件属性列表
2011-10-08 15:58 1139纯属转载: http://www.cnbl ... -
元数据Meta Data
2011-09-30 16:30 1116<meta-data andr ... -
Android UI Operation in Thread
2011-09-21 17:16 1069Android UI Operation in Thread ... -
系统自带样式Android:theme
2011-06-23 15:58 2203Android应用开发——系统自带样式Android:them ... -
EditText自动获取焦点并弹出输入法的问题
2011-06-16 16:25 49951.每次启动新的Activity的时候,输入法总是弹出来,太烦 ... -
Service Broadcast BroadcastReceiver AlarmManager,Notification利用service定时/周期性发送广播
2011-05-31 16:35 38401.如题 主要实现 1.启动service,关 ... -
android硬件传感器
2011-05-30 16:07 13308纯属转载:http://dev.10086 ... -
权限permission
2011-05-27 18:03 1245纯属于转载: http://blog.csdn.net/ ... -
读写系统设置——日期与时间使用网络提供的值(时间与网络同步)
2011-05-27 17:19 2509//读_1.带默认参数的 Settings.Syste ... -
读写系统设置
2011-05-27 17:13 1767Android的很多设置想关的东西都存储在数据库中 andro ... -
Display_获取屏幕宽高
2011-05-06 12:19 945public static void intScreen(A ... -
seletctAll___利用ScrollView+RadioGroup+RadioButton实现相似互斥
2011-05-03 17:58 2052假如你有多个匹配list,在这些匹配list中存在这样的一些匹 ... -
selectAll___CheckBox in ListView
2011-05-03 17:32 14191.如果你有一个ListView,listView的 adap ... -
Layout___模块重用之include布局整合
2011-04-06 14:04 1324在Android的开发中,我们知道布局文件可以让我们很 ... -
value-string
2011-04-06 13:36 2065我们知道在android的value文件夹下,string.x ... -
利用PorterDuff.Mode做橡皮擦效果
2011-04-01 18:03 10706http://stackoverflow.com/questi ... -
UI___tab view 的实现
2011-03-24 15:19 1934一.通过xml文件实现 1.创建一个tab iew,所需的x ...
相关推荐
Android-Activity之间数据传递的多种方式. 在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起。它们各有利弊,有各自己的应用场景。
在Android中传递数据的方法非常多,本次介绍4中比较常用的数据传递方法: 1.通过Intent传递数据 2.通过静态变量(static)传递数据 3.通过剪贴板(Clipboard)传递数据 4.通过全局对象传递数据 在...
activity间的数据传递
Android例子源码Activity间的数据传递
有助于初学的同学理解activity间的数据传递机制,希望大家支持一下
安卓开发-Activity间数据传递和回传
使用ViewModel解决多个Activity数据共享问题(Kotlin版)
Activity之间传递数据
资源包括如何在一个activity A里激活另一个activity B。 然后在两个activity之间用handler传输数据。在activity A里定义全局变量handler,用sendMessage来发数据,在handler里数据以消息队列的方式发送。
Activity间的数据传递是一个演示Android不同Activity间的数据传递的例子,用到的控件很多EditText TextView SeekBar RadioGroup RadioButton ImageButton Button 都有涉及,属于最初级的例子,适合新手朋友了解学习...
Android源代码 演示3个功能: (1)Intent打开另外一个Activity (2)Intent拨电话 (3)Intent在2个Activity间传递数据
Android activity间的数据传递,选择头像。Android activity间的数据传递,选择头像。
Activity之间的数据传递 简单功能的实现 对新手有所帮助
利用广播Broadcast Receiver,在2个不同的Activity传递数据
Android 笔记-Fragment 与 Activity之间传递数据,使用setArgument方法的例子
两个Activity之间传递参数的代码
Android PopupWindow与Activity之间的数据传递
activity与activity利用接口相互传递数据,超简单
Activity间数据传递与版本兼容问题
Activity review activity之间的数据传递