zoukankan      html  css  js  c++  java
  • Activity

    1、activity的自身功能声明:常见的MAIN及LAUNCHER表示该activity拥有被桌面app启动的功能。

    <intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter>  

    2、启动其它activity:

      显式启动:同一个app中,指定类名。

    例如:Intent intent =newIntent(this,SignInActivity.class);
    startActivity(intent);

      隐式启动:可跨app,指定action或者category、data等。

    Intent intent =newIntent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
    startActivity(intent);

    3、启动其它activity获取结果: startActivityForResult()

    例如:获取选中通讯录Intent intent =new Intent(Intent.ACTION_PICK,Contacts.CONTENT_URI);
    startActivityForResult(intent, PICK_CONTACT_REQUEST);

      处理activity返回结果:requestCode用于区分启动的activity,resultCode需要了解启动的activity的定义规范。

    @Override protected void onActivityResult(int requestCode,int resultCode,Intent data){ if(resultCode ==Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST){

    4、生命周期:在paused、stopped状态时进程可被kill,应在onPause()、onResume()保存、恢复重要数据,kill之后从onCreate()开始,onStop()之后先onRestart()再onStart(),其它正常对应create--destroy, start--stop, resume--pause。

      resumed:可见,有用户焦点--running

      paused:可见,无焦点

      stopped:不可见

      onSaveInstanceState()应只保存ui临时状态,在layout中给每个widget赋予唯一id。

    5、A启动B:A->onPause(), B->onCreate(), B->onStart(), B->onResume(), 如果A不可见则A->onStop();

     
  • 相关阅读:
    nfs共享目录及sersync实时同步
    rsync备份
    MySQL基础操作
    源码包安装MySQL
    二进制安装MySQL
    Centos6防火墙-iptables版
    linux系统mongdb基础(1)
    linux系统ElK基础filebeat收集日志(4)
    linux系统ElK基础(3)
    linux系统ElK基础(2)
  • 原文地址:https://www.cnblogs.com/toven/p/2607012.html
Copyright © 2011-2022 走看看