1、 Android体系结构
Android是基于Linux内核的软件平台和操作系统,采用了软件堆栈的架构,共分为4层:第一层是Linux内核,提供由操作系统内核管理的底层基础功能;第二层是中间件层,由函数库和Android运行时构成;第三层是应用程序框架层,提供了Android平台基本的管理功能和组件重用机制;第四层是应用程序层,提供了一系列核心应用程序。
2Dalvik虚拟机基于寄存器的Java虚拟机,每个应用程序在一个独立的Dalvik虚拟机上运行
3.apk(Android Package)文件,该文件实际上是个压缩包,可改为.zip解压缩
4Android两种开发环境:JDK + Eclipse + ADT + Android SDK
                        JDK + Android Studio + Android SDK
514Min SDK Version最低SDK版本
22Target SDK Version目标SDK版本
22Compile SDK Version编译的SDK版本
6adbAndroid Debug Bridge,连接PCAndroid设备的桥梁
adb connect 127.0.0.1:6555
查看设备:adb devices
安装软件:adb install <apk文件路径>
卸载软件:命令1adb uninstall <软件名>
命令2adb uninstall -k <软件名>
登录设备shell:命令1adb shell
命令2adb shell <command命令>
从计算机上发送文件到目标机:adb push <本地路径> <远程路径>
从目标机上下载文件到计算机:adb pull <远程路径> <本地路径>
eclipse开发手机app显示帮助信息:adb help
7Android项目目录:(代码与资源分开)
src    源代码目录
gen    目录(R.java文件是ADT自动生成,不能手动修改,R.java作用:
src中的代码通过R.java访问res中的资源)
res    资源目录(/res/layout/目录:界面布局文件,xml;/res/raw不参加编译的资源,不能生成对应文件)
l 清单文件(声明应用程序属性信息,声明组件,声明权限,唯一一个组件BroadcastReceiver不需在AndroidManifest中注册)
8、四大组件:ActivityServiceBroadcastReceiverContentProvider,前3个组件的组件之间的通信由Intent实现,另一app需通过ContentResolver来与ContentProvider通信。
Activityapp的表示层,作用:与用户交互,显示信息;Service用于无用户界面,但需长时间在后台运行的应用;BroadcastReceiver监听系统广播、其它应用程序广播、其它组件广播,并响应广播消息;ContentProvider用于进程间共享数据。
9、声明权限以访问其他功能:<uses-permission>
10setContentView(UI控件),所有UI控件都继承自View类,View类有一个非常重要的子类:ViewGroup(容器)
ViewGroup(容器)
界面布局          AdapterView(Adapter配套使用,Adapter提供控件和资源)
              ArrayAdapter只能处理列表项内容全是文本的情况
Adapter子类       
              SimpleAdapter不仅可以处理列表项全是文本的情况,当列表项中还有其他控件时,同样可以处理
setAdapter
具体UI控件有哪些:TextViewEditTextButtonImageButtonCheckBoxRadioButtonSpinnerListViewTableHost
界面布局属性取值:
线性布局---LinearLayout    android:layout_width   
android:layout_height   
android:orientation
表格布局---TableLayout      android: collapseColumns
android: shrinkColumns   
android: stretchColumns
相对布局---RelativeLayout  android:layout_centerHrizontal
android:layout_centerVertical    android:layout_centerInparent
android:layout_alignParentBottom  android:layout_alignParentLeft
android:layout_alignParentRight  android:layout_alignParentTop
android:layout_alignWithParentIfMissing
android:layout_below              android:layout_above
android:layout_toLeftOf          android:layout_toRightOf
android:layout_alignTop          android:layout_alignLeft
android:layout_alignBottom        android:layout_alignRight
android:layout_marginBottom      android:layout_marginLeft
android:layout_marginRight        android:layout_marginTop
帧布局---FrameLayout
网格布局---GridLayout        android:columnCountandroid:rowCount
android:layout_rowSpan
android:layout_columnSpan
绝对布局---AbsoluteLayout
11、不同设备显示兼容性——尺寸单位:dp;文字大小单位:sp
Patch9图片:控件拉伸变形
12、事件处理:、onClick()
Activity的启动:
直接启动 startActivity(Intent  intent)
带返回值启动:startActivityForResult(Intent  intent, int requestCode)
Activity的停止:
finish ():结束当前Activity
finishActivity(int requestCode):结束以startActivityForResult(Intent  intent,  int    requestCode)启动的Activity
启动的代码(实验3):
Intent intent = new Intent(MainActivity.this, SecActivity.class);
startActivity(intent);
Intent附加数据方法:intent.putExtra()Bundle
(1)Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.putExtra("string_key", "string_value");
startActivity(intent);
MainActivity接收数据:
Intent intent=getIntent();
String StringExtra("string_key");
(2)Bundle bundle =new Bundle();
bundle.putString("string_key", "string_value");
intent.putExtra("key", bundle);
startActivity(intent);
MainActivity接收数据:
Intent intent =getIntent();
Bundle bundle =BundleExtra("key");
String String("string_key");
7个生命周期方法:
onCreate()、onStart()、onRestart()、onResume()、onPause()、onStop()、onDestroy()
生命周期状态图:
Activity4种状态:
运行状态:Activity位于前台,用户可见,获得焦点
暂停状态: Activity可见,但被其它Activity覆盖,没有获得焦点
停止状态:不可见,失去焦点
销毁状态:Activity结束,或所在进程被结束
Activity4种启动模式,分别为standardsingleTopsingleTasksingleInstance
13HandlerLooperMessageQueue工作原理
Looper:每个线程只有一个Looper,负责管理MessageQueue,不断从MessageQueue中取出消息,并将消息分发给对应的Handler处理
MessageQueue:消息管理,由Looper负责管理
Handler:把消息发送给Looper管理的MessageQueue,并负责处理Looper分给它的消息
                      Looper
            Handler            MessageQueue

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。