-
Android定义:基于Linux的自由及开源代码的操作系统。
由操作系统,中间件,用户界面和应用软件组成,被誉为“第一个完整、开放而免费的移动平台”。 -
Android的体系架构共分为四层,从高到低分别是Android应用层,Android应用框架层,Android系统运行层和Linux内核层。(Dalvik虚拟器)
-
模拟器使用AVD配置确定被模拟设备的外观、功能和系统映像。每个 AVD 都可以作为一台独立的设备工作,并拥有专用的用户数据存储空间、SD 卡等。当您使用 AVD 配置启动模拟器时,它会从 AVD 目录自动加载用户数据和 SD 卡数据。
-
Android目录结构:
Java/(Java源码存放目录)
Res/(资源文件存放目录)
AndroidManifest.xml(整个程序的主配置文件):
(1)在此文件中可以指定应用程序使用到的服务。(2)新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。 -
apk是Android Package的缩写,即Android安装包。通过将apk文件直接传到Android模拟器或Android手机中执行及安装。
-
打包流程:
(1) 编译器将您的源代码转换成 DEX文件,将所有其他内容转换成已编译资源。
(2) APK 打包器将 DEX 文件和已编译资源合并成单个 APK。不过,必须先签署 APK,才能将应用安装并部署到 Android 设备上。
(3) APK 打包器使用调试debug或发布release密钥库签署您的 APK
(4) 在生成最终 APK 之前,打包器会使用 zipalign 工具对应用进行优化,减少其在设备上运行时的内存占用。 -
签名的意义:为了保证应用程序开发商合法ID,防止部分开发商混淆替换已经安装的程序,保证我们每次发布版本的一致性。
-
LogCat的右上方的五个字母表示五种不同类型的日志信息 ,他们的级别依次增高
[V]:详细(Verbose)信息 [D]:调试(Debug)信息
[I]:通告(Info)信息 [W]:警告(Warn)信息
[E] :错误(Error)信息
使用Log.v()、 Log.d()、 Log.i() 、Log.w() 、Log.e()五个函数在程序中设置“日志点” -
Android提供了以下几种基于监听接口的事件处理模型:
1)OnClickListener接口:单击事件。
2)OnLongClickListener接口:长按事件。
3)OnFocusChangeListener接口:焦点改变事件。
4)OnKeyListener接口:键盘事件。
5)OnTouchListener接口:触摸事件。
6)OnCreateContextMenuListener接口:上下文菜单事件。 -
消息提示常用的方式
(1)Toast
一种快速的即时消息。消息内容简短。悬浮于应用程序的最上方。不获得焦点。
(2)Notification
消息内容显示于手机的状态栏中。按住状态栏往下拉,可以查看系统的提示消息。
(3)AlertDialog
在界面上弹出一些对话框,用来提示用户输入信息或者让用户做出选择。 -
Toast基本写法:
Toast.makeText(getApplicationContext(), “默认Toast样式”,
Toast.LENGTH_SHORT).show(); -
AlertDialog.Builder常用方法:
-
资源的访问:
(1)引用自定义的资源
@[package]type/name(如:@string/hello)
@为资源引用的标志,package 为资源所在的包名
(2) 引用系统资源 @android:type/name
(3) R.java 访问资源R.type.name(如:R.string.hello)
也可以引用android系统资源,要在R的前面加上包名android -
Android支持的尺寸单位
px(像素):每个px对应屏幕上的一个点。
dip(设备独立像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dip=1px。但随着屏幕密度的改变,dip与px的换算也会发生改变。
sp(比例像素):主要处理字体的大小,可以根据用户字体大小首选项进行缩放。
in(英寸):标准长度单位。每英寸等于2.54厘米。
pt(磅):屏幕物理长度单位,1/72英寸。
mm(毫米):屏幕物理长度单位。 -
数组资源文件位于res/values/arrays.xml文件中,根元素是标记,在该元素中,包括以下3个子元素。
子元素:用于定义普通类型的数组。
子元素,用于定义整数数组。
子元素,用于定义字符串数组。 -
使用菜单资源
1.选项菜单
当用户单击设备上的菜单按键时,弹出的菜单就是选项菜单。
(1)重写Activity中的onCreateOptionsMenu()方法。
(2)重写onOptionsItemSelected()方法,用于当菜单项被选择时,作出相应的处理。
2.上下文菜单
当用户长时间按键不放时,弹出的菜单就是上下文菜单。
(1)在Activity的onCreate()方法中注册上下文菜单。
(2)重写Activity中的onCreateContextMenu()方法。
(3)重写onOptionsItemSelected()方法,用于当菜单项被选择时,作出相应的处理。 -
Android用户界面框架-视图树(理解即可)
视图树由View和ViewGroup构成
View是界面的最基本的可视单元,存储了屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等功能
View也是一个重要的基类,所有在界面上的可见元素都是View的子类
ViewGroup是一种能够承载含多个View的显示单元
ViewGroup功能:一个是承载界面布局,另一个是承载具有原子特性的重构模块 -
数据适配器:是连接数据源和视图界面的桥梁。
作用:把复杂的数据填充在指定界面。
数组适配器:用于绑定格式单一的数据。
简单适配器:用于绑定格式复杂的数据视图界面中。 -
线性布局
在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列 -
框架布局
-
表格布局
android:layout_column 子元素所在的列,从0开始
android:layout_span子元素跨越的列数
android:shrinkColumns 进行收缩的列
android:stretchColumns进行拉伸的列 -
相对布局
-
绝对布局
-
Android系统有四个重要的组件,分别是Activity、Service、BroadcastReceiver和ContentProvider
(1) Activity是一个应用程序组件,用户可以用来交互为了完成某项任务。
(2) Service是在一段不定的时间运行在后台,不和用户交互应用组件。
(3) BroadcastReceiver是用来接受并响应广播消息的组件。不包含任何用户界面,可以通过启动Activity或者Notification通知用户接收到重要信息。
(4) ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider访问其他应用程序的私有数据 -
启动Activity:public void startActivity (Intent intent)
关闭Activity:public void finish () -
Activity生命周期指Activity从启动到销毁的过程
Activity表现为四种状态,分别是活动状态、暂停状态、停止状态和非活动状态 -
事件的回调函数
-
Intent的作用
启动Activity和Service
在Android系统上发布广播消息 -
启动Activity方式
显式启动,必须在Intent中指明启动的Activity所在的类
隐式启动, Android系统根据Intent的动作和数据来决定启动哪一个Activity -
Intent过滤器是一种根据Intent中的动作(Action)、类别(Categorie)和数据(Data)等内容,对适合接收该Intent的组件进行匹配和筛选的机制
Intent过滤器可以匹配数据类型、路径和协议,还包括可以用来确定多个匹配项顺序的优先级(Priority)
应用程序的Activity组件、Service组件和BroadcastReceiver都可以注册Intent过滤器,则这些组件在特定的数据格式上就可以产生相应的动作 -
SQLite数据库特点
更加适用于嵌入式系统,嵌入到使用它的应用程序中
占用内存非常少,运行高效可靠,可移植性好
提供了零配置(zero-configuration)运行模式 -
简单存储:一种轻量级的数据保存方式
SharedPreferences不仅能够保存数据,还能够实现不同应用程序间的数据共享
SharedPreferences支持三种访问模式
私有:仅有创建程序有权限对其进行读取或写入
全局读:不仅创建程序可以对其进行读取或写入,其他应用程序也读取操作的权限,但没有写入操作的权限
全局写:创建程序和其他程序都可以对其进行写入操作,但没有读取的权限 -
Android使用的是基于Linux的文件系统,程序开发人员可以建立和访问程序自身的私有文件,也可以访问保存在资源目录中的原始文件和XML文件,还可以在SD卡等外部存储设备中保存文件
-
Service是Android系统的后台服务组件,适用于开发无界面、长时间运行的应用功能
Service特点:
没有用户界面
比Activity 的优先级高,不会轻易被Android系统终止
即使Service被系统终止,在系统资源恢复后Service也将自动恢复运行状态
用于进程间通信(Inter Process Communication,IPC),解决两个不同Android应用程序进程之间的调用和通讯问题 -
Service使用方法
(1)启动方式
通过调用Context.startService()启动Service,通过调用Context.stopService()或Service.stopSelf()停止Service
Service是由其他的组件启动的,但停止过程可以通过其他组件或自身完成
如果仅以启动方式使用的Service,这个Service需要具备自管理的能力,且不需要通过函数调用向外部组件提供数据或功能
(2)绑定方式
通过服务链接(Connection)或直接获取Service中状态和数据信息
服务链接能够获取Service的对象,因此绑定Service的组件可以调用Service中的实现的函数
使用Service的组件通过Context.bindService()建立服务链接,通过Context.unbindService()停止服务链接
如果在绑定过程中Service没有启动,Context.bindService()会自动启动Service
同一个Service可以绑定多个服务链接,这样可以同时为多个不同的组件提供服务 -
Service生命周期包括
全生命周期
活动生命周期
onCreate()事件回调函数: Service的生命周期开始,完成Service的初始化工作
onStartCommand()事件回调函数:活动生命周期开始,但没有与之对应的“停止”函数,因此可以近似认为活动生命周期也是以onDestroy()标志结束
onDestroy()事件回调函数: Service的生命周期结束,释放Service所有占用的资源
Android复习01
最新推荐文章于 2024-05-22 09:56:05 发布