首页 > 技术文章 > android笔记

smallrock 2014-02-11 22:58 原文

1、创建Activity要点
1.一个Activity就是一个类,这个类要继承自Activity
2.这个类需要复写onCreate方法
3.每一个Activity都要在AndroidManifest.xml文件内进行配置
4.每一个Activity类对应一个布局文件,在res-->layout文件夹下面,要对其进行设置:setContentView(R.layout.activity)
5.在布局文件中添加控件
6.这Activity类中可以使用findViewById找到布局文件中添加的控件,获得控件时要通过强制转换才能进行属性赋值

 1 package com.example.dialogactivity;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.Button;
 9 
10 public class FirstActivity extends Activity{//集成关系
11 
12     /**
13      * 方法复写
14      */
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         // TODO Auto-generated method stub
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.first_activity);
20         
21         Button btnFirst = (Button)findViewById(R.id.btnFirst);
22         btnFirst.setOnClickListener(new MyButtonClickListener());
23     }
24     
25     /**
26      * 监听事件
27      * @author Administrator
28      *
29      */
30     class MyButtonClickListener implements OnClickListener{
31 
32         @Override
33         public void onClick(View arg0) {
34             // TODO Auto-generated method stub
35             Intent intent = new Intent();
36             intent.setClass(FirstActivity.this, SecondActivity.class);
37             FirstActivity.this.startActivity(intent);
38         }
39         
40     }
41 
42 }

 

2、TextView控件设置文本:tv.setText("");

3、Activity的生命周期
1.FirstActivity:OnCreate-->OnStart-->OnResume
OnCreate:第一次被创建,设置使用的布局文件,对按钮绑定监听器
OnStart:当Activity能被看见的时候调用此方法
OnResume:当Activity获得用户焦点的时候,能在在上面进行操作的时候,这个Activity获得焦点,调用此方法
OnPause:当启用SecondActivity的时候会调用FirstActivity的OnPause方法,这个方法用来保存此时在这个Antivity里面的信息
SecondActivity:OnCreate-->OnStart-->OnResume,当启用SecondActivity的时候调用OnCreate-->OnStart-->OnResume
OnStop:当SecondActivity执行完OnResume的时候调用FirstActivity的OnStop方法,这里需要注意的是只有当SecondActivity完全覆盖了FirstActivity的时候才会执行FirstActivity的OnStop方法,如果SecondActivity是一个弹出框,则FirstActivity不会执行OnStop方法。
点击返回按钮:
SecondActivity执行OnPause
FirstActivity执行OnRestart-->OnStart-->OnResume
SecondActivity执行OnStop-->OnDestroy
2.当系统资源不够用的时候,首先将不可见的Activity销毁掉,即如果Activity处于OnPause、OnStop、OnDestroy的状态时,系统会将这些资源销毁掉。
3.Task:android在执行的过程中Activity是以栈的形式在系统中运行,当Activity执行finish方法时会调用OnDestroy方法,将Activity销毁掉,此时在栈中就不会存在这个Activity对象了

State diagram for an Android Activity Lifecycle.(复制)

4、使用对话框
在AndroidManifest.xml文件中注册Activity时只要在Activity节点中添加android:theme属性即可,如下:

 1 <activity
 2   android:name="com.example.dialogactivity.FirstActivity"
 3   android:label="@string/tvFirst">
 4   <intent-filter>
 5     <action android:name="android.intent.action.MAIN" />
 6 
 7     <category android:name="android.intent.category.LAUNCHER" />
 8   </intent-filter>
 9 </activity>
10 <activity
11   android:name="com.example.dialogactivity.SecondActivity"
12   android:label="@string/tvSecond"
13   android:theme="@android:style/Theme.Dialog">//SecondActivity为对话框
14 </activity>

这里对Activity生命周期的影响时,当Activity是一个对话框时不会覆盖父Activity,即父Activity不会执行OnStop方法。

推荐阅读