Android 之数据传递小结

Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,常用的的有五种传递方式。它们各有利弊,有各自的应用场景。下面分别介绍一下:

1、 Intent对象传递简单数据

Intent的Extra部分可以存储传递的数据,可以传送int, long, char等一些基础类型。

[1]传递页面:

Intent intent = new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
Bundle bundle = new Bundle();     //打包发送
bundle.putString("name","123");    //绑定参数
intent.putExtra("maps",bundle);
startActivity(intent);

[2]接收页面:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TextView tv = new TextView(this);
    Intent intent = this.getIntent();
    Bundle bundle = intent.getBundleExtra("maps");     //获取打包数据bundle
    String name = bundle.getString("name");     //取出需要的数据
    tv.setText(name);
    setContentView(tv);
}

或者

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.second);
  TextView txt = (TextView)this.findViewById(R.id.txt);
  Intent intent = this.getIntent();
  Bundle bundle = intent.getBundleExtra("maps");     //获取打包数据bundle
  String name = bundle.getString("name");     //取出需要的数据
  txt.setText(name);
 }

2.、Intent对象传递复杂数据

有时候我们想传递如ArrayList之类复杂些的数据,这种原理是和上面一种是一样的,只是在传参数前,要用新增加一个List将对象包起来。如下:

时间: 2024-10-01 03:59:20

Android 之数据传递小结的相关文章

android Touch事件传递小结

这次还是先贴上测试代码吧.. 主布局文件是个三层结构,最外层和中间层都是LinearLayout的子类,里层是个TextView: <com.example.touchevent.OutterLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/o

Android页面跳转和数据传递

Android应用开发-页面跳转和数据传递 Activity Android四大组件之一 可以理解为Android中的界面,每一个界面都是一个Activity Activity的使用必须在清单文件中进行配置 在清单文件中, 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-filter> <action android:name="android.intent.action.M

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

Android数据传递方法

Android中,Activity之间的数据传递有些复杂,比如通过Intent和Bundle等等,传递复杂对象时必须是实现了Serializable接口的类,这在很多时候使得处理页面间的数据传递很不方便.在JavaWeb中,Session对象传递数据很实用方便,对此,在Android中可不可以自己实现一个类似JavaWeb中的Session呢? 其实很简单,在不严谨的情况下,具体实现过程如下: /*/////////////////////////////////////////////////

Android开发之WebView与js的数据传递

在Android开发中不可避免的会出现,使用一个WebView来显示一个h5页面.如果仅仅只是显示h5页面,这不需要特殊的处理,但是很多情况下会出现,js和WebView的交互.比如:将html表单中的数据,传递到Activity中,在Activity中对数据校验,再上传到服务器. 那么js和WebView如何进行的交互的呢? 创建AndroidHtml项目.主要代码如下: MainActivity.java:     private WebView mWebView;     public s

【Android数据传递】全局变量的使用方法

[Android数据传递]全局变量的使用方法  印第安的老乔克 2013-02-18 21:36:14 android中Application是用来保存全局变量的,在package创建的时候就存在了,到所有的activity都被destroy掉之后才会被释放掉.所以当我们需要全局变量的时候只要在application中去实现,通过调用Context的getApplicationContext或者Activity的getApplication方法来获得一个Application对象,就可以设置或读

Android剪切板传递数据传递序列化对象数据

一.剪切板的使用介绍 1. 剪切板对象的创建 使用剪切板会用到,ClipboardManager对象,这个对像的创建不可以使用构造方法,主要是由于没有提供public的构造函数(单例模式),需要使用Activity.getSystemService(Context.CLIPBOARD_SERVICE)获取该对象.  2. 对象调用的主要方法介绍 在Android-11(Android 3.0)版本之前,利用剪切板传递数据使用setText()和getText()方法,但是在此版本之后,这两个方法

Android基础笔记(七)-页面跳转和数据传递

Activity简介 Activity的简单使用 Activity之间的跳转 意图传递数据 创建Activity获取返回数据 如何调用系统发送短信的页面 如何发送短信 Activity简介 Activity是Android的四大组件之一,它用于展示界面.它提供一个屏幕,用户可以用来交互,可以通过setContentView(View)来显示指定的控件. 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activit

(Android review)Activity之间的数据传递

一.基本知识点 1.Activity之间传递数据1)传递基本类型或String intent.putExtra("username", username);  getIntent(); intent.getStringExtra("username"); 2)以bundle的形式传 Bundle bundle = new Bundle();    bundle.putString("username", username);    bundle.