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函数
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函数
相关文章推荐
- android 代码实现控件之间的间距
- 解決Linux下Android开发真机调试设备不被识别问题
- [Android]在代码里运行另一个程序的方法
- [软件咨询]WPS2012正式版已发布 金山Office移动版4.0发布
- Android笔记-Linux Kernel Ftrace (Function Trace)解析
- android USB如何修改VID具体实现
- Android Mouse实现过程详细笔记
- 深入Android Browser配置管理的详解
- Android Mms之:深入理解对话列表管理
- Android APP与媒体存储服务的交互
- android 多线程技术应用
- Android之采用execSQL与rawQuery方法完成数据的添删改查操作详解
- Android数据类型之间相互转换系统介绍
- 通过Android trace文件分析死锁ANR实例过程
- Android实现左右滑动效果的方法详解
- Android 各国语言缩写及简称详细介绍
- Android 自动判断是电话,网址,EMAIL方法之Linkify的使用
- android IPC之binder通信机制
- Android应用开发中模拟按下HOME键的效果(实现代码)
- Android 读写文件方法汇总