android应用基于JAVA, 支持SQL,由于底层是LINUX,所以支持C/C++
目前有两种编程:基于ADT的JAVA编程,基于NDK的C编程
Android编程环境需要哪些:
官方推荐用JDK+ECLIPSE+ADT+ADK(WINDOWS开发环境下)
什么是ADK,ADT:
ADK=android SDK(以后都用ADK简称)
ADT就是ECLIPSE下的开发插件
什么是NDK:
NDK是一系列工具的集合,简而言之就是用C\C++开发Android
android划分为四类核心组件类分别: Activity,Service,Broadcast Receiver ,ContentProvider,相同组件和不同组件之间的导航通过intent来完成.
Activity:
一个Activity通常是一个单独的屏幕,每个Activity都实现为一个独立的类,并且继承于Activity这个基类,
调用statActivity()方法,可以从屏幕导航到另一个屏幕, 打开Activity的条件被封装在intent中。旧的屏幕会保存在历史堆栈中。也可以从历史堆栈中删除。
Service
一个Service是一种长生命周期的,没有用户界面的程序,Activity会使用Context.startService()来启动一个Service, 从而保持在后台运行。
使用Context.bindService()方法连接到一个Service上。
BroadcastReciver
是为实现系统主播而提供的一种组件,如:提示用户手机的电量。
ContentProvider
前面说的每个程序都是共享的,这意味着数据是不能共享的,通过使用ContextProvider来实现不同组件之间数据的共享。
View
是Android中图形用户的界面的基类,提供了可视化界面的展示,图形界面展示分为三层,底层Activity,Activity上面是Window,window上面是views,view又可以分为View和ViewGroup,
view是基本控件,viewGroup是指布局控件,
Intent
是不同组件之间相互导航的纽带。封闭了不同组件之间导航查找的条件
Emulator模拟器, Android Asset Packaging Tool(AAPT)android资源打包工具, Dalvik Debug Monitor Service (ddms) dalvik调试监视服务,Android Debug Bridge(adb)Android调试桥, DX工具(.class转换成.dex文件);
命令:
android create avd -n <name> -t <targetid> [-<option><value>]
android list target
android
emulator.exe 仿真模拟器
启动模拟器:emulator -avd<avd_name>
查询当前模拟器实例数量 adb devices
adb push 从系统复制文件到设备, adb pull 从设备复制到系统 如:adb push d:\text.txt /sdcard/
shell命令: 系统的各种命令, system/bin/目录下, adb shell 进入shell
AAPT资源打包工具, aapt P -A assets -S res -M AndroidManifest.xml -F \bin\resources.ap_
DX,java语言的类文件编译成一种.dex文件, dx --dex --dump-to=d:\myadnroidpro\bin\classes.dex --core-library d:\myandroidpro\bin
mksdcard:是设备中有数据存储设备的,就能够将硬盘空间镜像为数据存储设备, mksdcard 64M d:\mysdcard.img
assets 中保存的一般是原生的文件, res 中的资源可以通过R资源类直接访问的,
引用资源文件一般的格式是: @包名:资源类/资源名称
res/admin XML动画文件
res/drawable/ 一些位图文件
res/layout/ XML布局文件
res/values/ 各种 xml资源文件 arrays.xml XML数组文件; colors.xml XML颜色文件 dimens.xml XML尺寸文件 styles.xml XML格式文件
res/xml/ 任意的XML文件
res/raw/ 直接复制到设备中的原生文件
res/menu/ xml 菜单文件
颜色值定义
通过RGB三原色和一个alpha值来定义的,开始是一个井#, #RGB #ARGB #RRGGBB #AARRGGBB
颜色资源XML文件的定义
文件格式:<resources> 根元素; <color></color>
获得颜色方法: Resources.getColor();
引用资源格式: java代码中:R.color.color_name XML文件中:@package:color/color_name
使用颜色资源:
使用字符串资源
引用格式:@string/字符串资源名称
字符串在XML文件的定义
字符串在XML中的格式<string name=""></string>
获得字符串的方法:Resources.getString()
引用字符串的格式:R.string.string_name xml:@package:string/string_value
使用尺寸资源dimen
px,in,mm,cm,pt,dp,sp
在XML中的定义 <dimen name=""></dimen>
获得尺寸资源: getResources().getDimension()
R.dimen.dimen_name xml:@package:dimen/dimen_name
使用原始XML资源
使用drawables资源
使用布局(layout)资源
使用菜单(menu) 资源