当前位置: 代码迷 >> Android >> Android学问总结(一)
  详细解决方案

Android学问总结(一)

热度:40   发布时间:2016-04-28 00:21:42.0
Android知识总结(一)

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

?

? ? ? ? ? ? ? ??

  相关解决方案