android中使用Intent在activity之间传递数据

来源:互联网 发布:apache maven是什么 编辑:程序博客网 时间:2024/05/19 07:11

android中intent传递数据的简单使用:

1.使用intent传递数据:

  首先将需要传递的数据放入到intent中

  Intent intent = new Intent(MainActivity.this,OtherActivity.class);

  intent.putExtra("name", "使用Intent传递数据");

  startActivity(intent);

  然后再目标activity中接收数据:

  Intent intent=getIntent();

  intent.getStringExtra("name")//获取数据

 

2.使用intent传递静态变量:

  在目标activity中设置一个静态变量,启动目标activity时将数据存到静态变量中,然后再目标activity中直接读取。

  Intent intent = new Intent(MainActivity.this,

     Other2Activity.class);

  Other2Activity.data = "使用intent传递静态变量";

  startActivity(intent);

 

3.使用intent传递全局变量

  新建类MyApp继承Application,在AndroidManifest.xml文件中指定application节点的name属性为MyApp(android:name=".MyApp")

  public class MyApp extends Application {

   publicString data;

   publicString getData() {   return data;  }

   public voidsetData(String data) {   this.data =data;  }

   @Override  public void onCreate() {

       super.onCreate(); 

     setData("hello world"); 

  } }

}

 

  启动目标activity时将数据写入全局变量中:

 

    Intent intent = new Intent(MainActivity.this,Other3Activity.class);

    MyApp myApp = (MyApp) getApplication();

    myApp.setData("使用intent传递全局变量");

    startActivity(intent);

 

  在目标activity中接收数据:

 

  MyApp myApp=(MyApp)getApplication();

  myApp.getData();

 

4.使用剪切板传递数据

将需要传递的数据写入到剪切板中:

Intent intent =new Intent(MainActivity.this,

                       ClipboardActivity.class);

                ClipboardManagerclipboardManager=(ClipboardManager)getSystemService(MainActivity.this.CLIPBOARD_SERVICE);

                clipboardManager.setText("使用剪切板传递数据");

                startActivity(intent);

 

然后在目标activity中取值:

ClipboardManager clipboardManager=(ClipboardManager)getSystemService(ClipboardActivity.CLIPBOARD_SERVICE);

       clipboardManager.getText();

 

以上就是一些简单的activity之间数据的传递。另外,我在开发完APP都会用一些APP在线自动化测试工具进行测试:www.ineice.com
0 0
原创粉丝点击