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
使用偏好设定来记住上次设定的数据,减少重复输入。

深入浅出Android之学习笔记的更多相关文章

  1. Android自动化学习笔记:编写MonkeyRunner脚本的几种方式

    ---------------------------------------------------------------------------------------------------- ...

  2. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  3. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

  4. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  5. Android 数字签名学习笔记

    Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...

  6. Android:日常学习笔记(9)———探究持久化技术

    Android:日常学习笔记(9)———探究持久化技术 引入持久化技术 什么是持久化技术 持久化技术就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失 ...

  7. Android:日常学习笔记(9)———探究广播机制

    Android:日常学习笔记(9)———探究广播机制 引入广播机制 Andorid广播机制 广播是任何应用均可接收的消息.系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播.通过将 In ...

  8. Android:日常学习笔记(8)———开发微信聊天界面

    Android:日常学习笔记(8)———开发微信聊天界面 只做Nine-Patch图片 Nine-Patch是一种被特殊处理过的PNG图片,能够指定哪些区域可以被拉升,哪些区域不可以.

  9. Android:日常学习笔记(8)———探究UI开发(5)

    Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...

随机推荐

  1. 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络Vgg

    上周我们讲了经典CNN网络AlexNet对图像分类的效果,2014年,在AlexNet出来的两年后,牛津大学提出了Vgg网络,并在ILSVRC 2014中的classification项目的比赛中取得 ...

  2. Android崩溃提示 “EGL_BAD_CONFIG"

    这两天将之前提到的一个室内定位程序的ArcGIS的SDK从10.2.8迁移到100.1.0. 期间反复出现奇怪的问题,最终定位到这个问题: java.lang.RuntimeException: cr ...

  3. django模板语法之include

    假如我们有以下模板index.html,代码为: <!DOCTYPE html> <html lang="en"> <head> <met ...

  4. memset的实验

      关于memset的实验 实验一:memset对char数组赋初值 #include<iostream> using namespace std; int main() { char a ...

  5. 小随笔:利用Shader实现模型爆炸和沙粒化的效果

    0x00 前言 上一篇小随笔<小随笔:利用Shader给斯坦福兔子长毛和实现雪地效果>中,我和大家聊了聊著名的斯坦福兔子和利用geometry shader实现的一些效果.这篇文章继续沿用 ...

  6. axure扫盲

    axure扫盲 zhuyuansj   2017.10.18 20:39* 字数 162 阅读 25评论 2喜欢 3 编辑文章 坐我旁边的前端今天正好初学axure,然后我就顺便学了几招比较基础的,这 ...

  7. 》》stroll--各种特效下拉菜单

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. 自己主动化 远程登陆linuxserver并运行命令 —— expect

    原文地址:http://blog.csdn.net/wangyuling1234567890/article/details/41149429 LinuxserverA登陆LinuxserverB s ...

  9. leetcode第一刷_Populating Next Right Pointers in Each Node II

    很自然的推广,假设去掉全然二叉树的条件呢?由于这个条件不是关键,因此不会影响整体的思路.做法依旧是每次找到一层的起点,然后一层一层的走. 假设是全然二叉树的话,每层的起点就是上一层起点的左孩子,兄弟之 ...

  10. Ubuntu Linux訪问小米手机存储卡

    操作系统: 麒麟14.04 安装工具 sudo apt-get install mtpfs libfuse-dev libmad0-dev sudo mkdir /media/mtp 重新启动与使用 ...