android Intent 参数传值实例
前端代码:
main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@ id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button1" /> <Button android:id="@ id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button2" /> <Button android:id="@ id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button3" /> </LinearLayout>
second.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@ id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button2" /> </LinearLayout>
third.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@ id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button3" /> </LinearLayout>
后端代码:
MainActivity.java
package com.test; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener { android.widget.Button button1; android.widget.Button button2; android.widget.Button button3; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (android.widget.Button) this.findViewById(R.id.button1); button1.setOnClickListener(this); button2 = (android.widget.Button) this.findViewById(R.id.button2); button2.setOnClickListener(this); button3 = (android.widget.Button) this.findViewById(R.id.button3); button3.setOnClickListener(this); } public void onClick(View arg0) { switch (arg0.getId()) { case R.id.button1: android.content.Intent intent = new android.content.Intent(); intent.putExtra("name", "handson"); intent.putExtra("age", 1); com.pojo.Person person = new com.pojo.Person(); person.setId(1); person.setName("root"); person.setPassword("root"); intent.putExtra("person", person); intent.setClass(this, SecondActivity.class); this.startActivity(intent); break; case R.id.button2: android.content.Intent intent2 = new android.content.Intent(); intent2.setClass(this, SecondActivity.class); this.startActivityForResult(intent2, 300); break; case R.id.button3: android.content.Intent intent3 = new android.content.Intent(); intent3.setAction("com.android.anbo.xueshu"); /* * System.out.println(Uri.parse("anbo://xinlong:90").getScheme()); * System.out.println(Uri.parse("anbo://xinlong:90").getHost()); * System.out.println(Uri.parse("anbo://xinlong:90").getPort()); * System * .out.println(Uri.parse("anbo://xinlong:90/xueshu?name=aaaa") * .getQueryParameter("name")); */ intent3.setData(Uri.parse("anbo://xinlong:90/xueshu?name=aaaa")); this.startActivity(intent3); break; } } public void onActivityResult(int requestCode, int resultCode, Intent data) { System.out.println("result"); System.out.println(requestCode); System.out.println(resultCode); System.out.println(data.getStringExtra("name")); } }
SecondActivity.java
package com.test; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class SecondActivity extends Activity implements OnClickListener { android.widget.Button button2; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); /* * System.out.println(this.getIntent().getStringExtra("name")); * System.out.println(this.getIntent().getIntExtra("age", 0)); * com.pojo.Person person = (com.pojo.Person) this.getIntent() * .getSerializableExtra("person"); System.out.println(person.getId()); * System.out.println(person.getName()); * System.out.println(person.getPassword()); */ button2 = (android.widget.Button) this.findViewById(R.id.button2); button2.setOnClickListener(this); } public void onClick(View v) { Intent i = new Intent(); i.putExtra("name", "sa"); this.setResult(200, i); this.finish(); // android.content.Intent intent = new android.content.Intent(); // intent.setClass(this, MainActivity.class); // this.startActivity(intent); } }
ThridActivity.java
package com.test; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; public class ThridActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.thrid); System.out.println(this.getIntent().getData().getScheme()); System.out .println(this.getIntent().getData().getQueryParameter("name")); } }
评论