- //---------android -------------------
- 底层是linux内核(android (iso系统)
- 安全管理
- 内存管理
- 进程管理(进程之间通信管理)
- 电源管理
- 硬件驱动(摄像头,键盘驱动,wifi驱动,音频驱动)
- 通信管理
- //--------Libraries--------------
- (系统运行库层,函数库)中间层 将一些底层的操作给暴露出来
- surface Manager :读写管理
- Open GL |ES: 图形特效,以及一些3D模型的渲染
- SGL:一个内置的2D图形引擎
- Meda Framework:多媒体播放的一些类容.
- Free Type: 安卓下的一些字体效果
- SSL:位于TCP/IP协议和各层协议之间,为数据通信提供支持
- SQLite : 移动平台下 有名 的 开源数据库管理
- WebKit: 开源浏览器的引擎
- libc: 标准的 c 的库函数
- //-----------Android runtime-----------
- Dalibike Virtual Machine: 为了优化了 jvm 侵犯了版权 google重写了运行时
- JVM :window
- Core libraies:核心库
- //-----------application FrameWork------------ android SDK
- 1.Activity Manager: 活动的管理 (打开 ,关闭一个界面)
- 2.window Manager: 窗体管理者 (弹出,关闭 对一个对话框)
- 3.Content Providers:内容数据的共享者
- 4.View System:制定控件运行的先后关系
- 5.package Manage:程序的管理器
- 6.TelePhone Manage: 管理手机上的打电话 发短信
- 7.Resouce Manager: 资源管理
- 8.Location Manager:GPS 获取位置
- 9.Notification Manager: 短信通知等
- //------------Appliactions-------------------- 手机只带的应用
- home;桌面
- phone:拨打电话
- brower:浏览器
- game: 游戏
- //------------比较-------------
- JVM Dalvik VM
- .java > .class > .jar .java > .class > .dex >.odex
- 基于栈的架构 (内存) < 效率 基于寄存器的架构(存在CPU中的一小块内存)
- 不支持部分java库, Swing 和AWT
2.android 开发环境的搭建
- 1.下载 与系统 符合的 JDK http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-6u3-jdk-6u29-downloads-523388.html
- 记住要配置 JDK环境变量
- 2.下载 Android SDK ADT 套件 (包含了eclipse工具啦,这样就不用我们在myeclipse中配置这配那的了)
- http://developer.android.com/index.html -->get SDK
- 3.下载后 找到 SDK Manager.exe 运行下 后要下载一些工具 这个 会很慢,一般都不会成功,因为 google中 地址中 "-" 解析不出来
- 这里 有个办法:
- 所以修改 hosts 文件
- C:\Windows\System32\drivers\etc -->hosts--> 加入
- 74.125.237.1 dl-ssl.google.com
- 这样 就可以更新下来了啦
//使用 android SDK Mansger 来下载一些 需要的工具 平台,支持库 驱动等
- 1.Document For Android SKD :帮助文档
- 2.SDK Platform: SDK平台 下载后, 才能创建这个平台的模拟器,和编译android 代码
- 3.Samples for SDK : SDK 的实例代码
- 4. ARM : 处理器产商, 处理器的架构 不生产处理器 (摩托罗拉,三星) 95%使用 arm 处理器
- Intel X86 : lenovo v880 用的比较少 (window 平台上 使用后,模拟器速度会快点)
- MIPS : 有流行的趋势
- 上面都是 cpu 模拟器
- 5.Gooogle API: 比如 google 地图 (mapview) 等
- 6.Sources for Android SDK : 源码
- ----Extras
- 1.android Support libary : 新的控件 支持 低版本的 用户兼容的 支持库
- 2.google adWeb ads SDK : 广告的 在应用中嵌入 广告 (使用他 赚钱)
- 3.Google Play Service:
- 4.Google Play billing Library: 需要钱的应用 就往帐号上大钱的这样一个支持库
- 5.Google web Driver: 模拟器的 照相机 使用 电脑的 摄像头的驱动
- 6.Google USE driver: 插上手机到 电脑上, 需要的驱动
//------创建 模拟器
打开 android2\adt-bundle-windows-x86_64-20130219\eclipse eclipse.exe
里面就可以创建模拟器了
有个 手机 图标 :里面就可以创建 不同平台 不同频宽的 模拟器
打开后就可以设置里面 语言啦 你知道的
//----------启动中出现的一些问题
- //--1.eclipse 打开就报错: 应该即使 JDK 安装的版本 不符合你系统的要求
- 比如 64位系统 32 位的jdk
- //--2.点击 start 模拟器无法运行
- invalid command -line parameter: Files\ANdroid\android-sdk\tools/emulator-arm.ext: Hint:usr @foo to ....
- 方法一: 检测 JDK 安装的路径是不是有中文 有 就就该
- 方法二: 添加 Android_SDK_HOME 环境变量 : 指向 android SDK目录 然后重启
- Android_SDK_HOME :D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk
- //--3. 之前 开启过 模拟器 不知道什么原因 这次启动不了
- start 弹出窗下出现
- WARNING: SD Card image already in use
- WARNING: Cache partition already in use ...
- 其实就是 出现共享数据 持久化 的问题(
- 这次启动的模拟器还是用的之前模拟器的数据)
- 每个模拟器都对应系统中个一个文件
- C:\Users\Bin\.android\avd\HVGA.avd
- 只要删除 文件夹里面的 把里面的[文件夹: :twisted: ] 删除掉就可以 (lock)
- //--4 模拟器没有注册网络 (使用的桥连接 连接window系统的网络)
- 修改 本地连接中的 IP只用 自定义Ip DNS服务器
//--------SDK 目录中 常见工具的使用
- D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk
- 1.add-ons: 存放一些工具 ,驱动
- 2.extras: 附加的一些工具,支持一些jar ,web摄像头的 驱动
- D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\samples
- 3.samples: 实例代码 (apiDemo 这个 里面的例子) 可以在模拟器的 API demo 看到效果
- 里面还有很多游戏 和应用
- 示例代码也是分平台的 也需要在 Android SDK Manager 中下载后才有
- D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\platforms
- 4.platform: 开发支持的平台
- D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\platform-tools
- 5.platform-tools:平台相关的工具
- 在 cmd 中 运行里面的工具命令
- adb.exe :android程序的调试桥(window+ ,360手机助手 等都是这个东西,只是换了外貌)
//------adb.exe 的使用
- 1.到网站上 下载一个 apk 的程序 就可以使用 adb 来安装
- http://www.appchina.com/ 到这个网站上去下载
- com.yingyonghui.market_825_30024412.apk 讲这个工具进行安装
- cmd --cd d: D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\platform-tools
- adb install com.yingyonghui.market_825_30024412.apk --就可以看到模拟器中多了一个安装程序
- adb uninstall com.yingyonghui.market(包名) 就可以卸载了
- (也可以通过手机里面应用管理卸载)
- adb devices 查找所有的 模拟器 (有多个时候有用)
- adb -s emulator-554 inatall com.yingyonghui.market_825_30024412.apk 将这个应用安装到指定的emulator-554 这个模拟器上
- adb -s emulator-5554 push file:///C:/Users/Bin/Desktop/getface.jpg /sdcard/a.jpg
- --\将桌面的图片 导入到 模拟器中
- adb -s emulator-5554 pull /sdcard/a.jpg c:\aa.jpg
- --将手机里的图片导入到 桌面
- ctrl+11 就会变成 横竖屏幕
- 小键盘的 9 和 7 也可以借还 横竖屏
- --配置 adb 的环境变量
- 讲 adb的路径 添加到 path路径中去就可以了
- 如果 我们电脑上装了 windows+ 或者 360手机安全卫士的 如果 adb 的版本不同 会出现给一些奇怪的问题 所以 建议卸载 第三方软件
- emulator-5554
- emulator-5556
- 是两个模拟器的 端口号 , 可以相互之间打电话 和 发短信
//--接下来就来创建我们第一个 HelloWorld 工程 哈哈
不用说啦
- file--> new -->Android Application Project-->
- Application Name: 安装到手机上的应用名称
- Project Name:项目名称
- Package Name:包名
- Minimun Required SDK :支持最小版本的 应用 一般为 2.1 2.2
- Target SDK:支持最大版本的额 应用 目前 4.2
- Compile with :编译用的 SDK 版本
- Theme:是否使用的 自动布局
- //-->next
- Mark this project as a library: 标记该应用为 一个 项目中的 jar
- Create activity: 创建一个窗体
- Create custom launcher icon: 创建一个自定义 图标
- Working sets: 此项目需要引用的 其他项目
- //-->next
- clipart :选择自定义的一个图片
- //-->next
- Create Activity:创建一个窗体 选择一个系统自定义好的窗体
- //--next
- Activity Name:窗体的名称
- Layout Name:布局名称
- Navigation Type: 导航类型
- //--OK 创建好了
// ------解释下 项目中的 各个文件的 作用
- assets 目录:资产目录,存放一些应用程序的资源文体
- Android 4.2.2 :使用的 android SDK 版本
- libs:三方的支持的jar 包,会自动添加到build path里面
- res:应用程序的资源文件
- drawable:存放 图片资源
- AndroidManifest.xml: 应用程序的清单文件.
- gen: 自动生成的 java文件目录
- src: java的源代码的存放目录
- main 函数
- 1.读取apk文件 中的 清单文件
- 软件安装的过程
- 0.开发工具帮助我们生成apk文件 (安装包)
- 1.拷贝一些文件到系统的某个目录(windows)
- android: 讲apk文件拷贝到 /data/data/目录下 (创建一个文体)
- /data/data/com.itheima.helloworld/ 保存数据
- 2.在系统的注册表里面配置一些信息(windows)
- android: 下面两个文件就类似注册表文件
- /data/system/package.xml
- /data/system/package.list
- <package name="com.itheima.helloworld" >
- (eclipse 工具 DDMS视图中 就有直接导出这两个文件的 功能 其实就是 使用的 adb pull 命令)
- 变异资源文件 生存对应的R文件
- 打包 .java -->.class--> .dev
- aapt: android appliaction package tools 工具
- ddms: dalvik debug manager system
- (eclipse 视图中有个 DDMS 视图
- File Explorer:列出该设备中所有的文体 )