博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android四大组件Activity,及Intent的简单用法
阅读量:7155 次
发布时间:2019-06-29

本文共 4273 字,大约阅读时间需要 14 分钟。

hot3.png

Activity是一种可以包含用户界面的组件,主要用于和用户交互。一个App中可以有多个Activity。

import android.support.v7.ActionBarActivity;import android.os.Bundle;public void MainActivity ectends ActionBarActivity{    @Override    protected void onCreate(Bundle savedInstanceState){            super.onCreate();        setContentView(R.id.activity_main);        }    @Override     protected void onStart(){        super.onStart();        }     @Override      protected void onResume(){         super.onResume();     }     @Override     protected void onPause(){         super.onPause();     }     @Override     protected void onStop(){         super.onStop();     }     @Override     protected void onDestroy(){         super.onDestroy();     }     @Override     protected void onRestart(){         super.onRestart();     }     }

Activity启动后依次执行onCreate(),onStart(),onResume(),当到达onResume状态时Activity就处于可见状态,用户可以与之交互。当Activity1跳转到Activity2时,先执行Activity1的onPause(),再执行Activity2的onCreate()、onStart()、onResume(),最后执行Activity1的onStop()。

Intent:是Android程序中各组件之间进行交互的重要方式

1、显式Intent

Intent intent = new Intent(MainActivity.this,SecondActivity.class);startActivity(intent);//在AndroidManifest.xml中为SecondActivity注册
 

2、隐式Intent

 Intent intent = new Intent("com.example.activitytest.ACTION_START"); startActivity(intent);  //AndroidManifest.xml 
     
         
         
     
 

3、向下一个Activity传递数据

 //MainActivity.java//Intent android.content.Intent.putExtra(String name, String value)String data = "Hello SecondActivity";Intent intent = new Intent(MainActivity.this,SecondActivity.class);intent.putExtra("extra_data",data);startActivity(intent);//SecondActivity.javaIntent intent = getIntent();String data = intent.getStringExtra("extra_data");TextView textView = (TextView)findViewById(R.id.textView);textView.setText(data);

4、返回数据给上一个Activity

 //MainActivity.java  /*void android.support.v4.app.FragmentActivity.startActivityForResult(Intent intent, int requestCode)*/package sunny.example.activityforresult;import android.support.v7.app.ActionBarActivity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.view.View.OnClickListener;public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);    Button forResult = (Button)findViewById(R.id.forResult);  forResult.setOnClickListener(new OnClickListener(){   @Override   public void onClick(View v) {    // TODO Auto-generated method stub    Intent intent = new Intent(MainActivity.this,SecondActivity.class);    /*void android.support.v4.app.FragmentActivity.startActivityForResult(Intent intent, int requestCode)*/    startActivityForResult(intent,1);//requestCode只要是一个唯一值就可以   }     });     } @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){  switch(requestCode){  case 1:   if(resultCode == RESULT_OK){    String returnData = data.getStringExtra("data_return");    TextView returnd = (TextView)findViewById(R.id.returnd);    returnd.setText(returnData );    Log.i("MainActivity",returnData);   }   break;  default:    break;  } }//SecondActivity.javapackage sunny.example.activityforresult;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class SecondActivity extends ActionBarActivity{ @Override protected void onCreate(Bundle savedInstanceState){  super.onCreate(savedInstanceState);  setContentView(R.layout.second);    Button Back = (Button)findViewById(R.id.back);  Back.setOnClickListener(new OnClickListener(){   @Override   public void onClick(View v) {    // TODO Auto-generated method stub        Intent intent = new Intent();    intent.putExtra("data_return", "Hello MainActivity");    //void android.app.Activity.setResult(int resultCode, Intent data)        setResult(RESULT_OK,intent);    finish();   }     }); }}

转载于:https://my.oschina.net/doudoulee/blog/631590

你可能感兴趣的文章
HDFS API编程
查看>>
【转载】遗传算法及matlab实现
查看>>
OAuth2.0基本流程
查看>>
C#数据导出到Excel
查看>>
微信打开网址添加在浏览器中打开提示
查看>>
KB奇遇记(6):搞笑的ERP项目团队
查看>>
iOS UI 21 线程
查看>>
学习jdbc连接数据库
查看>>
Linux时间子系统(十六) clockevent
查看>>
python 函数调用顺序
查看>>
使用 Newtonsoft.Json 操作 JSON 字符串
查看>>
线程4 同步和死锁
查看>>
详谈如何定制自己的博客园皮肤
查看>>
【CF】328 D. Super M
查看>>
HDU1517 A Multiplication Game
查看>>
js装饰者模式
查看>>
ThinkPHP中的函数库载入
查看>>
guava
查看>>
组合数据类型练习,综合练习
查看>>
Nodejs Guides(二)
查看>>