在activity之间通过静态变量传递数据

在activity之间通过静态变量传递数据

一、简介

主要作用:解决intent不能传递非序列化的对象

评价:简单方便,不过intent方式更加简单和方便

二、具体操作

1、在传输数据的页面弄好数据,传递给接收数据的页面

Obj1 obj=new Obj1("fry",22);
Activity01.obj=obj;

2、在接收数据的页面显示数据

输出obj即可

3、具体代码

传输数据的页面

Intent intent=new Intent();//初始化intent
intent.setClass(MainActivity.this,Activity01.class);//连接
Obj1 obj=new Obj1("fry",22);
Activity01.obj=obj;
startActivity(intent);//打开activity

接收数据的页面

public static Obj1 obj;

setContentView(R.layout.activity01);
textView_ans=(TextView) findViewById(R.id.textView_ans);
textView_ans.setText("obj: "+obj);

三、代码实例

结果图

代码

activityStaticDataSend.MainActivity

 1 package activityStaticDataSend;
 2
 3
 4
 5
 6
 7
 8 import com.example.activityStaticDataSend.R;
 9
10 import android.app.Activity;
11 import android.content.Intent;
12 import android.content.Loader;
13 import android.os.Bundle;
14 import android.view.View;
15 import android.view.View.OnClickListener;
16 import android.widget.Button;
17
18
19
20 public class MainActivity extends Activity{
21     private Button btn_openActivty;//创建一个button对象
22      protected void onCreate(Bundle savedInstanceState) {
23             super.onCreate(savedInstanceState);//父类操作
24             setContentView(R.layout.activity_main);//引入名为activity_main的界面
25             btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button
26             btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听
27
28                 @Override
29                 public void onClick(View v) {//onclick事件
30                     // TODO Auto-generated method stub
31                     Intent intent=new Intent();//初始化intent
32                     intent.setClass(MainActivity.this,Activity01.class);//连接
33                     Obj1 obj=new Obj1("fry",22);
34                     Activity01.obj=obj;
35                     startActivity(intent);//打开activity
36                 }
37             });
38         }
39 }

activityStaticDataSend.Activity01

 1 package activityStaticDataSend;
 2
 3
 4
 5
 6 import com.example.activityStaticDataSend.R;
 7
 8 import android.app.Activity;
 9 import android.os.Bundle;
10 import android.util.Log;
11 import android.widget.TextClock;
12 import android.widget.TextView;
13
14 public class Activity01 extends Activity{
15     public static Obj1 obj;
16     private TextView textView_ans;
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         // TODO Auto-generated method stub
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity01);
22         textView_ans=(TextView) findViewById(R.id.textView_ans);
23         textView_ans.setText("obj: "+obj);
24     }
25 }
时间: 2024-10-13 07:09:54

在activity之间通过静态变量传递数据的相关文章

android 使用静态变量传递数据

使用静态变量传递数据之通用方式. 测试应用:当前页面点击button传递数据到一个新的页面显示在textview中. 首先在,mainActivity.xml文件中加入一个button按钮 <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="测试

Activity之间利用intent单个传递数据和批量传递数据

1.利用intent传递数据,若是单个传递数据时,利用putExtra即可完成传递 intent.putExtra("tel", "15607209140");//单个数据传递 Bundle b=new Bundle(); b.putString("name1", "zp"); b.putString("name2", "db");//批量传递数据 intent.putExtras(b)

android产品研发(十)--&gt;不使用静态变量保存数据

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了Android中的几种常见网络协议:xml,json,protobuf等,以及各自的优缺点,一般而言主要我们的App涉及到了网络传输都会有这方面的内容,具体可根据项目的需求确定各自的网络传输协议.这里可参考android产品研发(九)–>App网络传输协议 而本文讲解的其实并不是一个技术方面,而是一个android产品研发过程中的技巧:尽量不使用静态变量保存核心数据.这是为什么呢?这是因为android的进程并不是安全的,包括applicat

借助Intent实现Android工程中Activity之间Java对象的传递——实现Parcelable接口

借助Intent实现Android工程中Activity之间Java对象的传递有两种方式:一种所传递对象实现了Serializable接口:另一种是所传递对象实现了Parcelable接口,本博客总结传递对象实现Parcelable接口的情况下如何实现Java对象传递: 代码1.添加名为"User.java"的文件: package com.ghj.vo; import android.os.Parcel; import android.os.Parcelable; public cl

借助Intent实现Android工程中Activity之间Java对象的传递——实现Serializable接口

借助Intent实现Android工程中Activity之间Java对象的传递有两种方式:一种所传递对象实现了Serializable接口:另一种是所传递对象实现了Parcelable接口,本博客总结传递对象实现Serializable接口的情况下如何实现Java对象传递: 代码1.添加名为"User.java"的文件: package com.ghj.vo; import java.io.Serializable; public class User implements Seria

Android activity之间的跳转和数据传递

1.Activity之间的跳转 并且 传递数据 A Activity进行的操作 Intent intent = new Intent(context, B.class); intent.putExtra("tn",tn); intent.putExtra("payMode",payMode); context.startActivity(intent); B activity接收数据 protected void onCreate(Bundle savedInsta

NGINX和PHP之间的环境变量传递

昨天遇到的,想将IP访问转换成域名访问.则NGINX需要将相关的变量转换后传递给PHP. 网上有一系统的方法: 前面讲过该不该把信息写在服务器配置文件里?.通过php扩展hidef来define常量,这里介绍一下如何在nginx中设置$_SERVER变量值? 1.通过nginx的fastcgi_param来设置 在nginx配置文件中,可以在nginx总体的配置文件nginx.conf中,也可以在单独的网站配置环境中进行设置,如:www.test.com.conf 在配置环境server段loc

多activity界面跳转并传递数据

1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:id="@+id/activity_main&quo

iOS --- 通过openURL实现APP之间跳转并传递数据

在IOS中,实现一个应用启动另外一个应用,使用UIApplication的openURL:方法就可实现,这里以test跳到test02为例.(需要先创建这两个工程) 注册自定义URL协议(在test中) 首先被启动的应用需要向iPhone注册一个自定义URL协议.这是在info.plist文件进行的. 1. 右键,选择“Add Row” 2. Key值选择“URL types” 3. 打开“Item 0″,然后为该key增加一个URL identifier.可以是任何值,但建议用“反域名”(例如