1、The difference of Dalvik and JVM?**
????
????A、编译后的文件格式不一样??
????????Dalvik是 .dex--->.odex。
????????JVM是??.class--->.jar
????B、基于的架构不一样(存储方式)
????????Dalvik是基于寄存器的,是在cpu内部的,利用总线,效率会更高
????????JVM是基于栈的架构?
**2、Android的体系结构**
????A、Application
????B、Application Framework
????????Activity Manager 管理应用程序的生命周期
????????Window Manager???启动应用程序的窗体
????????View system????????
????????Sensor Manager????传感器
????????Location Manager 位置管理
????C、函数库(Android Runtime Library)
????????webkit,SQLite,SSL,OpenGL,SGL
????D、Linux内核(Kernel)
????????安全机制,内存管理,进程管理,网络协议栈,电源管理,wife驱动,显示驱动。
**3、adb: android debug??bridge(安卓调试连接桥)**
????????
????????采用的是Socket(IP+端口号)的方式进行链接
????????reset??adb =????adb kill-server
?????????????????????????????adb start-server
**4、DDMS:????Dalvik Debug manager System**
5、????adb install????***.apk
????
????a,把当前apk拷贝到/data/app目录下
????b,在/data/data目录下会建立一个目录,这个目录和包名一致。
二、Android应用程序的组成(四大组建)
????
1.?Activity ? ? Content Provider ? ? ? ?Broadcast ? ? Service
?????view????????内容提供者(数据库) ? ?广播????????服务
? ? Intent意图(是连接四大组建的纽带)
2. ?assert和res目录的区别
? ? ? a、res下的文件会在R.java文件里面产生一个Id,并会把资源文件进行压缩
? ? ? b、assert不会产生id,也不会进行压缩
?
?三、Android核心组建Activity
? ? ?1、MainActivity.java对应一个activity_main.xml
? ? ?2、fill_parent(由于使用时描述不清楚,所以变成了match)
? ? ? ? ? match_parent ?适配父容器
? ? ? ? ? wrap_content ?包裹内容
? ? ?3、创建Activity的步骤
? ? ? ? ? ? ? ?定义一个类去继承Activity、
? ? ? ? ? ? ? ?重写Activity里面的onCreate方法、
? ? ? ? ? ? ? ?在androidmanifest.xml里面进行注册、
? ? ? ? ? ? ? ?新建一个对应的布局文件,添加响应的组建
? ? ?4、intent-filter ?展示应用程序的图标
? ? ?5、button点击事件写法有四种:
? ? ? ? ? ? ? ? ?a、直接在类中实现OnClick接口
? ? ? ? ? ? ? ? ?b、匿名内部类
? ? ? ? ? ? ? ? ?c、内部类 ?
? ? ? ? ? ? ? ? ?d、新类(Context ?传值)Context上下文描述应用程序的相关信息
?
四、Activity的生命周期
? ? ? 1、OnCreate---> ? ?当Activity被创建时执行
? ? ? ? ? ?OnStart---> ? ? ? ?当Activity看得见,但是还不可进行交互
? ? ? ? ? ?OnResume----> 当Activity可以看得见并且可以进行交互的时候
? ? ? ? ? ?OnPause----> ? ?当Activity不能响应事件时
? ? ? ? ? ?OnStop----> ? ? ? 当Activity看不见时
? ? ? ? ? ?OnDestroy ? ? ? ? 当Activity被销毁时
?
? ? ? 2、可视生命周期:
? ? ? ? ? ? ?OnStart----->OnStop
? ? ? 3、前台生命周期:
? ? ? ? ? ??OnResume--->OnPause
? ? ? ?4、横竖屏切换生命周期:
? ? ? ? ? ? ?a、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
? ? ? ? ? ? ?b、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
?
? ? ? ? ? ? ?c、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
? ? ? ? ? ? android:screenOrientation="landscape"是限制此页面横屏显示,
? ? ? ? ? ? android:screenOrientation="portrait"是限制此页面数竖屏显示。
? ? ? ? ? ? ?步骤一:
? ? ? ? ? ? ? ctrl+F进行横屏切换
? ? ? ? ? ? ? Activity会被销毁并重新创建
? ? ? ? ? ? ? ? ? ? ?onSaveInstanceState-->
? ? ? ? ? ? ? ? ? ? ?onPause-->
? ? ? ? ? ? ? ? ? ? ?onStop-->
? ? ? ? ? ? ? ? ? ? ?onDestroy-->
? ? ? ? ? ? ? ? ? ? ?onCreate-->
? ? ? ? ? ? ? ? ? ? ?onStart-->
? ? ? ? ? ? ? ? ? ? ?onRestoreInstanceState-->
? ? ? ? ? ? ? ? ? ? ?onResume-->
? ? ? ? ? ? ?步骤二:
? ? ? ? ? ? ? ??再按 ctrl+F切换到竖屏,会执行两边生命周期
? ? ? ? ? ? ? ? ? ?onSaveInstanceState-->
? ? ? ? ? ? ? ? ? ?onPause-->
? ? ? ? ? ? ? ? ? ?onStop-->
? ? ? ? ? ? ? ? ? ?onDestroy-->
? ? ? ? ? ? ? ? ? ?onCreate-->
? ? ? ? ? ? ? ? ? ?onStart-->
? ? ? ? ? ? ? ? ? ?onRestoreInstanceState-->
? ? ? ? ? ? ? ? ? ?onResume-->
? ? ? ? ? ? ? ? ? ?onSaveInstanceState-->
? ? ? ? ? ? ? ? ? ?onPause-->
? ? ? ? ? ? ? ? ? ?onStop-->
? ? ? ? ? ? ? ? ? ?onDestroy-->
? ? ? ? ? ? ? ? ? onCreate-->
? ? ? ? ? ? ? ? ? onStart-->
? ? ? ? ? ? ? ? ? onRestoreInstanceState-->
? ? ? ? ? ? ? ? ? onResume-->
? ? ? ? ? ? 步骤三:
? ? ? ? ? ? ? ? 修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation",执行步骤1
? ? ? ? ? ? ? ? ? ? ?onSaveInstanceState-->
? ? ? ? ? ? ? ? ? ? ?onPause-->
? ? ? ? ? ? ? ? ? ? ?onStop-->
? ? ? ? ? ? ? ? ? ? ?onDestroy-->
? ? ? ? ? ? ? ? ? ? ?onCreate-->
? ? ? ? ? ? ? ? ? ? ?onStart-->
? ? ? ? ? ? ? ? ? ? ?onRestoreInstanceState-->
? ? ? ? ? ? ? ? ? ? ?onResume-->
? ? ? ? ? ?步骤四:
? ? ? ? ? ? ? 再执行步骤二,发现不会再打印相同信息,但多打印了一行onConfigChanged
? ? ? ? ? ? ? ? ? ? ?onSaveInstanceState-->
? ? ? ? ? ? ? ? ? ? ?onPause-->
? ? ? ? ? ? ? ? ? ? ?onStop-->
? ? ? ? ? ? ? ? ? ? ?onDestroy-->
? ? ? ? ? ? ? ? ? ? ?onCreate-->
? ? ? ? ? ? ? ? ? ? ?onStart-->
? ? ? ? ? ? ? ? ? ? ?onRestoreInstanceState-->
? ? ? ? ? ? ? ? ? ? ?onResume-->
? ? ? ? ? ? ? ? ? ? onConfigurationChanged-->
?
?五、Intent(意图,即对即将执行的操作的描述)
? ? ? 1、显示意图(显式的去调用)
? ? ? 2、隐式意图
? ? ? ? ? ? ? ? ? ? 意图过滤器:只要满足意图过滤器中的设置(动作、类别、数据)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?该意图就能被激活
? ? ? ? ?非常清楚包名和雷鸣时,用显式意图,不清楚时使用隐式意图。
? ? ?3、传数据
? ? ? ? ? ? 使用方法:putExtra
? ? ? ? ? ? ?返回值:setResult ? ? ? ? ? ? ? ? ? ? onActivityResult
?
? ? ? ? ? ? ? ??