Android学习笔记01

一.

创建Activity的要点:

1.继承Activity类
2.需要重写onCreate方法
3.需要在AndroidManifest.xml注册
4.为Activity添加控件和内容
5.setContentView(R.layout.activity_main);设置布局文件
6.TextView myTextView=(TextView)findViewById(R.id.myTextView);获取控件

 

二、

Intent
1.Component name
2.Action
3.Data
4.Category
5.Extras
6.Flags

通过Intent跳转Activity

 

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

  myButton = (Button) findViewById(R.id.myButton);
  myButton.setOnClickListener(new MyButtonListener());
}


   class MyButtonListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            /*// 1.跳转到本程序的Activity
             * Intent intent=new Intent(); 
             * intent.putExtra("key", "DATA");
             * intent.setClass(MainActivity.this, OtherActivity.class);
             * MainActivity.this.startActivity(intent);
             */
       //2.跳转到外部Activity 如:发送短信
Uri uri = Uri.parse("smsto://0800000123"); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", "The SMS text"); startActivity(intent); } }

public class OtherActivity extends Activity{

  private TextView myTextView=null;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  setContentView(R.layout.other);
  Intent intent=getIntent();//获取Intent
  String value=intent.getStringExtra("key");
  myTextView=(TextView)findViewById(R.id.textView1);
  myTextView.setText(value);
 }
}

 

 

三、Activity下的菜单

 菜单可以在代码中添加,也可以在res.menu.activity.xml文件中添加

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(0, 1, 1, R.string.exit);//添加菜单
        menu.add(0, 2, 2, R.string.about);
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();//获取菜单ID
        if (id == R.id.action_settings) {
            return true;
        } else if (id == 1) {
            finish();// 关闭程序
        } else if (id == 2) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

 

4.Activity生命周期

启动第一个Activity

FirstActivity --> onCreate 创建时
FirstActivity --> onStart 当可见时
FirstActivity --> onResume 可获得焦点时
---------------------------

从第一个Activity进入第二个Activity
FirstActivity --> onPause 启动另外的Activity时调用,比如当接电话时把数据保存
SecondActivity --> onCreate
SecondActivity --> onStart
SecondActivity --> onResume
FirstActivity --> onStop 当不可见时
--------------------------

从第二个Activity回到第一个Activity
SecondActivity --> onPause
FirstActivity --> onStart
FirstActivity --> onResume
SecondActivity --> onStop
SecondActivity --> onDestroy 被销毁时,当明确执行finish()时,或被Android销毁


Activity是以栈的形式进入存在的,当调用finish()时,将不能再回到这个Activity,因为已经被销毁了。

 

5.在注册Activity的xml文件中,可将Activity的样式改成窗口形式

<activity   android:name="com.example.mars_0500_activity04.SecondActivity"
            android:label="@string/title_activity_second" 
            android:theme="@android:style/Theme.Dialog">
</activity>

 

6.当Activity处于 onPause 、onStop 、onDestroy 时,在android系统资源部足时,将有可能被kill掉。

 

posted on 2014-03-23 23:33  上校  阅读(357)  评论(0编辑  收藏  举报