• 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掉。

  • 相关阅读:
    Django cache (缓存)
    Django CSRF
    Django 中的 Cookie 和 Session
    Django views 中的装饰器
    Ajax 基础
    JavaScript 对象
    Django ORM 操作
    Django 视图
    Django 路由系统
    Django 模版语言
  • 原文地址:https://www.cnblogs.com/zhuawang/p/3619927.html
Copyright © 2020-2023  润新知