• 深入浅出Android之学习笔记


    1、查看启动log

    [2011-01-11 14:44:21 - BMI] Android Launch!

    [2011-01-11 14:44:21 - BMI] adb is running normally.

    [2011-01-11 14:44:21 - BMI] Performing com.demo.android.bmi.Bmi activity launch

    [2011-01-11 14:44:21 - BMI] Automatic Target Mode: Preferred AVD 'Android2.3' is available on emulator 'emulator-5554'

    [2011-01-11 14:44:21 - BMI] Uploading BMI.apk onto device 'emulator-5554'

    [2011-01-11 14:44:21 - BMI] Installing BMI.apk...

    在安装的过程中,FrameWork会根据AndroidManifest.xml注册、登录这个应用程序所建立的Activity,并实现注明会使用到的服务。

    "※在安装应用程序的时候, Android 框架会根据应用程序提供的清单,将信息注册于

    Android 框架的注册表中。"

    [2011-01-11 14:44:28 - BMI] Success!

    [2011-01-11 14:44:28 - BMI] Starting activity com.demo.android.bmi.Bmi on device emulator-5554

    [2011-01-11 14:44:30 - BMI] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.demo.android.bmi/.Bmi }

    通过ActivityManager启动intent

    [2011-01-11 14:44:32 - BMI] Attempting to connect debugger to 'com.demo.android.bmi' on port 8608

    2、解读Manifest文件所传达的信息

    <?xml version="1.0" encoding="utf-8"?>

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"

          package="com.demo.android.bmi"

          android:versionCode="1"

          android:versionName="1.0">

        <application android:icon="@drawable/icon" android:label="@string/app_name">

            <activity android:name=".Bmi"

                      android:label="@string/app_name">

                <intent-filter>

                    <action android:name="android.intent.action.MAIN" /> //说明这个Activity是此应用程序的入口.

                    <category android:name="android.intent.category.LAUNCHER" />

                </intent-filter>

            </activity>

        </application>

        <uses-sdk android:minSdkVersion="9" />

    </manifest> 

    在应用框架中加入一个application,它的图标是drawable/icon,它的名字是string/app_name

    该应用程序里面定义了一个主要的activity,当我们启动这个程序的时候,虚拟机会去寻找

    定义了[android.intent.category.LAUNCHER]内容的[.Bmi]activity,并呼叫执行。

    另外Android应用程序的运行流程,主要存在于四种载体中:

    Activity/Broadcast Intent Receiver/Service/Content Provider

    3、Android Activity

    每个Activity通常负责处理一个荧幕的内容。可将Activity看成是MVC模式中的control,Activity负责管理UI,并接受事件触发。

    4、Android Intent

    Activity之间可以通过Intent实现信息的传递。

    5、Android Debug

    可通过LOG记录检查程序执行的过程和参数是否符合我们的期望。

    6、Activity的活动周期(LifeCycle)

    在Android 平台上,同一个时刻只会有一个Activity 处于活动(Active)或运行(Running)状态。

    其他的Activity 都处于未启动(Dead)、停止(Stopped)、或是暂停(Pause)的状态。

     
    上面七个状态又可以归纳成三组
    1、资源分配(create/destroy)
    2、可见与不可见(start/restart/stop)
    3、使用者是否直接存取屏幕(resume/stop)
     
     
     
    7、Android Preferences
    使用偏好设定来记住上次设定的数据,减少重复输入。
  • 相关阅读:
    vim lua对齐indent无效
    C中的私有成员
    Lua 设置table为只读属性
    c语言结构体可以直接赋值
    Lua5.3 注册表 _G _ENV
    火狐浏览器调试ajax异步页面时报错NS_ERROR_UNEXPECTER
    ajax向后台请求数据,后台接收到数据并进行了处理,但前台就是调用error方法
    maven安装之后,或者升级之后遇到的问题:could not find or load main class org.codehaus.plexus.class.....
    jenkins执行shell命令,有时会提示“Command not found”
    shell 脚本替换文件中某个字符串
  • 原文地址:https://www.cnblogs.com/zhangkeyu/p/6647404.html
Copyright © 2020-2023  润新知