Android Intent demo

来源:互联网 发布:淘宝金币流量 编辑:程序博客网 时间:2024/06/06 05:13
package com.xiuye.android;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);if(savedInstanceState != null){//只有程序从create重新开始执行的时候,才会执行下面的,但一般create只在开始执行一次。String data = savedInstanceState.getString("savedCache");Log.v("MainActivity:onCreate", data);Toast.makeText(this, data, Toast.LENGTH_LONG).show();}Button button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "你点击了按钮1", Toast.LENGTH_SHORT).show();}});Button button2 = (Button) findViewById(R.id.button2);button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {finish();}});Button redirect = (Button) findViewById(R.id.button4);redirect.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this,SecondActivity.class);startActivity(intent);}});Button button5 = (Button) findViewById(R.id.button5);button5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent("com.xiuye.android.testImplicitIntent");startActivity(intent);}});Button button6 = (Button) findViewById(R.id.button6);button6.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent("com.xiuye.android.testImplicitIntent");intent.addCategory("com.xiuye.android.myOwnCategory");startActivity(intent);}});Button browser = (Button) findViewById(R.id.browser);browser.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("https://www.baidu.com"));startActivity(intent);}});Button dial = (Button) findViewById(R.id.dial);dial.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(Intent.ACTION_DIAL);intent.setData(Uri.parse("tel:10086"));startActivity(intent);}});Button parameter = (Button) findViewById(R.id.parameter);parameter.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this,SecondActivity.class);String data = "哈喽,你好呀!";intent.putExtra("extra_data", data);startActivity(intent);}});Button result = (Button) findViewById(R.id.result);result.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, SecondActivity.class);startActivityForResult(intent, 1);}});Button third = (Button) findViewById(R.id.thirdActivity);third.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this,ThirdActivity.class);startActivity(intent);}});}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putString("savedCache", "保存activity被killed的数据;我觉得应该是整个activity的数据保存在application级别的内存中");Log.v("MainActivity:onSaveInstanceState", "保存activity被killed的数据;我觉得应该是整个activity的数据保存在application级别的内存中");}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {case 1:if(resultCode == RESULT_OK){String returnedData = data.getStringExtra("data_return");Toast.makeText(this, returnedData, Toast.LENGTH_LONG).show();}break;default://不起任何作用String returnedData = data.getStringExtra("data_return");Toast.makeText(this, returnedData, Toast.LENGTH_LONG).show();break;}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch(item.getItemId()){case R.id.add_item:Toast.makeText(this, "你点击了增加菜单", Toast.LENGTH_SHORT).show();;break;case R.id.remove_item:Toast.makeText(this, "你点击了删除菜单项", Toast.LENGTH_SHORT).show();break;default:Toast.makeText(this, "你点了那个我也不知道,哈哈", Toast.LENGTH_SHORT).show();break;}return true;}}

package com.xiuye.android;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.view.Window;import android.widget.Button;import android.widget.Toast;public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.second_layout);if(savedInstanceState != null){String data = savedInstanceState.getString("savedCache");Log.v("SecondActivity", data);Toast.makeText(this, data, Toast.LENGTH_LONG).show();}Button button3 = (Button) findViewById(R.id.button3);final Intent intent = getIntent();button3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String data = "接收到传递的信息是:"+intent.getStringExtra("extra_data");Toast.makeText(SecondActivity.this, data, Toast.LENGTH_LONG).show();}});Button returnResult = (Button) findViewById(R.id.returnResult);returnResult.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.putExtra("data_return", "你好呀,我已经收到了你的消息");setResult(RESULT_OK,intent);finish();}});}@Overridepublic void onBackPressed() {Intent intent = new Intent();intent.putExtra("data_return", "你好呀,我已经收到了你的消息");setResult(RESULT_OK,intent);finish();//如果没有finish,回退键将不起作用}}

package com.xiuye.android;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class ThirdActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.third_layout);if(savedInstanceState != null){//只有程序从create重新开始执行的时候,才会执行下面的,但一般create只在开始执行一次。String data = savedInstanceState.getString("savedCache");Log.v("ThirdActivity:onCreate", data);Toast.makeText(this, data, Toast.LENGTH_LONG).show();}Button dialogbutton = (Button) findViewById(R.id.openDialog);dialogbutton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(ThirdActivity.this,DialogActivity.class);startActivity(intent);}});Log.v("ThirdActivity", "onCreate创建");}@Overrideprotected void onStart() {super.onStart();Log.v("ThirdActivity", "onStart开始");}@Overrideprotected void onRestart() {super.onRestart();Log.v("ThirdActivity", "onRestart重新开始");}@Overrideprotected void onResume() {super.onResume();Log.v("ThirdActivity", "onResume恢复");}@Overrideprotected void onPause() {super.onPause();Log.v("ThirdActivity", "onPause暂停");}@Overrideprotected void onStop() {super.onStop();Log.v("ThirdActivity", "onStop停止");}@Overrideprotected void onDestroy() {super.onDestroy();Log.v("ThirdActivity", "onDestroy销毁");}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putString("savedCache", "保存activity被killed的数据;我觉得应该是整个activity的数据保存在application级别的内存中");Log.v("ThirdActivity:onSaveInstanceState", "保存activity被killed的数据;我觉得应该是整个activity的数据保存在application级别的内存中");}}

package com.xiuye.android;import android.app.Activity;import android.os.Bundle;public class DialogActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.dialog_layout);}}

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.xiuye.android"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="17" />    <application        android:allowBackup="true"        android:icon="@drawable/book"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.xiuye.android.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity android:name="SecondActivity">                        <intent-filter >                                <action android:name="com.xiuye.android.testImplicitIntent"/>                <category android:name="android.intent.category.DEFAULT" />                <category android:name="com.xiuye.android.myOwnCategory"/>            </intent-filter>                    </activity>        <activity android:name="ThirdActivity" android:icon="@drawable/book" android:label="@string/app_name" android:logo="@string/hello_world"></activity>        <activity android:name="DialogActivity" android:theme="@android:style/Theme.Dialog">        </activity>                    </application></manifest>

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item android:id="@+id/add_item" android:title="Add"></item>    <item android:id="@+id/remove_item" android:title="Remove"></item>    </menu>

<RelativeLayout 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:gravity="top"    tools:context="${relativePackage}.${activityClass}" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/button1"        android:layout_marginTop="10dp"        android:text="关闭" />    <Button        android:id="@+id/button4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/button2"        android:layout_marginTop="10dp"        android:text="显示Intent跳转" />    <Button        android:id="@+id/button5"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/button4"        android:layout_marginTop="10dp"        android:text="隐式Intent跳转" />    <Button        android:id="@+id/button6"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/button5"        android:layout_marginTop="10dp"        android:text="隐式Intent跳转自定义category" />    <Button        android:id="@+id/browser"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/button6"        android:layout_marginTop="10dp"        android:text="打开百度网页" />    <Button        android:id="@+id/parameter"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/browser"        android:layout_marginTop="10dp"        android:text="向第二个页面传递数据" />    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/textView1"        android:layout_marginTop="10dp"        android:text="弹出提示" />    <Button        android:id="@+id/result"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/button1"        android:layout_alignBottom="@+id/button1"        android:layout_alignParentRight="true"        android:text="返回数据给上一个活动" />    <Button        android:id="@+id/thirdActivity"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/button2"        android:layout_alignBottom="@+id/button2"        android:layout_alignParentRight="true"        android:text="跳转到第三个页面" />    <Button        android:id="@+id/dial"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_above="@+id/button5"        android:layout_alignParentRight="true"        android:text="打10086" /></RelativeLayout>


0 0
原创粉丝点击