深入浅出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
使用偏好设定来记住上次设定的数据,减少重复输入。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
全志R58的官方开发板加载bmi160驱动的步骤3B.txt 开发板:全志R58的官方开发板R58_PER3_LPDDR3_32X1_V1_1.pdf(板载加速度传感器bma250) 目标:外挂bmi160模块可以检测到加速度和角速度(acc+gyr/加速度传感器+陀螺仪) BSP:r58_20160823.tar.gz(2016/8/22从全志的git服务器拿下来的系统) 显示:HDMI输出1080p分辨率的LCD显示器。 计划步骤: 1、打通开发板上的bma250(证明开发板硬件是好的。全志官方的BSP也是好的。) 2、将驱动程序bma250.c中的bma250全部替换为bmi160,验证是可以加入新的gsensor的(陀螺仪类似)。 3、借用bma250.c这个驱动程序,初始化的部分修改为初始化bmi160,调通BMI160的gsensor部分。 4、完善全志/博世提供的bmi160的驱动程序,调通BMI160的gsensor部分。 (陀螺仪部分鱼刺类似,陀螺仪部分借用l3gd20.c来验证bmi160的gyr部分) 下面进行第三步:借用bma250.c这个驱动程序,初始化的部分修改为初始化bmi160,调通BMI160的gsensor部分。 为了方便观察,直接注释掉除了bma250之外的全部的gsensor: Z:\home\wwt\only_bma250_r58\android\device\softwinner\common\hardware-common\libhardware\libsensors\aw_sensors\sensorDetect.cpp struct sensor_extend_t gsensorList[] = { { { "bma250", LSG_BMA250, }, { "Bosch 3-axis Accelerometer", "Bosch Sensortec", 1, 0, SENSOR_TYPE_ACCELEROMETER, 4.0f*9.81f, (4.0f*9.81f)/1024.0f, 0.2f, 0,0,0, { }, }, }, }; Z:\home\wwt\only_bma250_r58\android\device\softwinner\octopus-perf\configs\gsensor.cfg ;Direction parameter adjustment, including the x, y, z axis, and xy interchange four variables, ;the name of the module used for identification, and drive registered name consistent ;-------------------------- ;name:bma250 ;-------------------------- gsensor_name = bma250 gsensor_direct_x = false gsensor_direct_y = true gsensor_direct_z = true gsensor_xy_revert = true Z:\home\wwt\only_bma250_r58\android\device\softwinner\octopus-perf\BoardConfig.mk #gsensor & Gyr sensor SW_BOARD_USES_SENSORS_TYPE = aw_sensors 注意:lunch的f1选项在HAL层中使用的ST的9轴(ACC+GYR+MAG)传感器。 #gsensor & Gyr sensor SW_BOARD_USES_SENSORS_TYPE = lsm9ds0 Z:\home\wwt\only_bma250_r58\android\device\softwinner\octopus-perf\init.sun8i.rc on boot # use automatic det
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值