您的位置:首页 > 移动开发 > Android开发

Android学习第二天——Intent & Activity的生命周期

2013-12-30 01:04 453 查看
    今天学习了利用Intent在两个Activity间进行以及调用操作,并且了解了Activity的生命周期。
   Intent(意图)

    通过生命Intent类型的变量,然后利用Intent的putExtra方法,将键值对传递到另外一个Activity上,并且通过getIntent方法获取传递来的intent,然后通过getStrngExtra方法获取键值对的值(获取过程中,要注意获取的键值对的数据类型,调用相对应的方法进行获取),以下为代码:

  
//MainActivity.java

package com.example.activity_03;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class MainActivity extends Activity {

 

 private EditText editText1;

 private EditText editText2;

 private Button mybutton;

 private TextView textView;

 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  editText1 = (EditText)findViewById(R.id.editText1);

  editText2 = (EditText)findViewById(R.id.editText2);

  mybutton = (Button)findViewById(R.id.myButton);

  textView = (TextView)findViewById(R.id.textView);//为控件取得对象

  mybutton.setText(R.string.mybutton);

  textView.setText(R.string.plus); 

  

  mybutton.setOnClickListener(new mybuttonListener());//绑定监听器到mybuttonListener()函数中

 }

 class mybuttonListener implements OnClickListener{

  @Override

  public void onClick(View arg0) {

   // TODO Auto-generated method stub

   String editstr1 = editText1.getText().toString();

   String editstr2 = editText2.getText().toString();

   Intent intent = new Intent();//新建Intent对象,进行Activity之间的调用

   

   intent.putExtra("one", editstr1);

   intent.putExtra("two",editstr2);//传递两个输入框中的值

   

   intent.setClass(MainActivity.this,other.class);//启动other。java

   

   MainActivity.this.startActivity(intent);//调用intent对象,进行传值操作

   

  }

  

 }

 @Override

 public boolean onCreateOptionsMenu(Menu menu) {//回调函数,作为Menu键的响应函数

  // Inflate the menu; this adds items to the action bar if it is present.

  //第二个数字是itemid

  menu.add(0, 1, 1,R.string.about);

  menu.add(0, 1, 1,R.string.exit);

  

  getMenuInflater().inflate(R.menu.activity_main, menu);

  return true;  

 }

 @Override

 public boolean onContextItemSelected(MenuItem item) {//menuitem的响应函数

  // TODO Auto-generated method stub

  if(item.getItemId() == 2){

   finish();

  }

   

  return super.onContextItemSelected(item);

 }

 

}

//other.java

package com.example.activity_03;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.TextView;

public class other extends Activity {

 

 private TextView value;

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.other);

   value = (TextView)findViewById(R.id.textView2);

  

  

  Intent intent = getIntent();//获取传递过来的intent

  

  String onestr = intent.getStringExtra("one");

  String twostr = intent.getStringExtra("two");//接受传递过来的值

  

  int oneint = Integer.parseInt(onestr);

  int twoint = Integer.parseInt(twostr);//进行数据类型的转换,把String转换成int

  

  value.setText( oneint*twoint + "");//由于前者是整型,但是setText要的是字符串,因此,要加个”“

  

  

 }

}

Activity的生命周期

安卓生命周期示意图



-主要的函数方法有下面七个

 * oncreat(布局文件、监听器)

 * onstart(该Activity被用户看到的时候)

 * onresume(该Activity获得焦点的时候)

 * onpause(用户启动了另外一个Activity时启用)

 * onstop

 * onDestroy(关闭或者系统资源不足时)

 * onRestart

 

启动一个新的Activity,就会启动三个函数

 * oncreat

 * onstart

 * onresume

启动另外一个Activity时,原本的Activity会启用onpause函数

另外一个Activity启动以下函数:

 * oncreat

 * onstart

 * onresume

启动成功后,原本的Activity启动onstop函数

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息