Android学习札记(一)Activity

Android学习笔记(一)Activity
一、Activity基础知识

1、一个Activity就是一个类,并且这个类要继承Activity。

2、需要复写OnCreate()方法。

3、每个Activity都需要在AndroidManifest.xml文件中注册,当项目中存在多个Activity时,存在

<intent-filter>

....

</intent-filter>

的Activity默认先运行。如下:

   //Activity命名为.Bmi2(类名前面加一.),与包名凑起来刚好是这个类的地址
       <activity android:name=".Bmi2"

                 android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

4、当Activity生成之初,运行程序没有任何意义,因为在Activity当中显示出来的内容是各种各样的组件。所以必须为Activity添加控件,如:按钮、文本、下拉菜单等等。



二、Activity与Intent

一个应用程序当中,当一个Activity希望跳转到另外一个Activity时或者跳转之后做些什么,这些事情都是由Intent这个对象来决定的。

startActivity(Inentintent)

一个Intent对象当中包含了一组信息:当中最重要的是1,2,3,5

1、Component name

一个Activity1想要启动另外一个Activity2,则要先指定一个Component name,然后根据Intent对象当中的Component name来决定启动哪一个组件。

2、Action

当一个Activity1启动了另外一个Activity2,通过Intent对象传递了一个方法进来,Activity2应该做些什么,就由Action来指定。

3、Data

通过Intent对象将数据、键值对传递给Activity2。



4、Category

5、Extras

6、Flags



Intent具体用法:

public class Activity01 extends Activity {
    private Button myButton =null;
    private TextView Text;


public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //调用getIntent()方法,就可以得到从Activity02传递到Activity01中intent的对象
       Intent intent2 = getIntent();
        //通过方法名打点getStringExtra加Activity02中定义的键值对的键名获得他所对应的值
        String value2 = intent2.getStringExtra("textIntent02");
        Text=(TextView)findViewById(R.id.Text);
        //在文本域当中不再通过R.java文件调用string下所定义的值,直接显示从Activity02中传递过来的键值对的值
        Text.setText(value2);
        myButton = (Button)findViewById(R.id.myButton);
        //将内部类的对象捆绑在按钮上,只要点击按钮,就会执行内部类
        myButton.setOnClickListener(new myButtonListener());
    }
    //内部类
        class myButtonListener implements OnClickListener{
    //监听器
   @Override
       public void onClick(View v) {
    //生成一个Intent对象
       Intent intent =new Intent();
    //在Intent的请求当中加入了一个键值对,名字是testIntent,值是哈哈哈
       intent.putExtra("testIntent", "哈哈哈");
    //intent.setClass后面的两个参数是,从哪个参数跳转到哪个参数
    //将Activity间的跳转放在intent对象中
       intent.setClass(Activity01.this, Activity02.class);
    //通过当前类名打点调用starActivity方法将intent对象传进去
       Activity01.this.startActivity(intent);
    
   }

}
}



三、常用的四种控件及其用法

1、TextView

2、EditView

3、Button

4、Menu



    所有控件必须先在XML文件中定义,之后才能定义成员变量,然后才能对控件进行相关的操作。

    之后用一下形式讲定义的显示在屏幕上

    symbol = (TextView)findViewById(R.id.symbol);  

    symbol.setText(R.string.symbol);