最近手头项目3.0版本要上线了, 没有那么多工作压力了, 抽空看了看之前在云笔记上做的笔记 都是一些基础知识 给大家分享出来吧
一、什么是Android?【了解 】Android(中文俗称安卓)是一个以Linux内核为基础的半开源的移动设备操作系统,可以用在手机、平板电脑和其他移动嵌入式设备上。它由Google所领导的Open Handset Alliance(OHA,开放手机联盟)所维护和持续开发,它的1.0 Beta版在2007年上市,截止2012年底,Android系统已经成为世界上市场份额最大的手机操作系统。
二、 Android的发展历史【了解】
- Android公司于2003年在美国加州成立,创始人Andy Rubin;
- 2005年由Google收购注资,并组建开放手机联盟;
- 2007年11月12日,Google发布Android1.0操作系统;
- 2008年9月,首款搭载Android 1.0 OS的Android手机诞生T-Mobile G1。不支持触摸输入,因此G1配置实体键盘。(HTC宏达电代加工);
- 2009年4月30日发布Android 1.5 Cupcake。这是Android发展历史上第一个重要的里程碑。此后,Android系统版本都是以甜点进行命名,并以字母排序;
- 2009年9月15日发布Android 1.6 Donut。Android1.6首次支持了CDMA网络;
- 2009年11月Android 2.0 Eclair降临了。它是Android发展历史上第二个重要的里程碑;
- 2010年5月20日发布Android 2.2 Froyo。直到Android2.2发布时,谷歌似乎才开始认真考虑Android的企业级功能;
- 2010年12月7日发布Android 2.3 Gingerbread。该版本开始对NFC的支持(Near Field Communication);
- 2011年2月2日发布Android 3.0 Honeycomb。“蜂巢”正式进军平板电脑。
- 2011年10月19日在香港发布Android4.0 Sandwich。4.0是Android发展历史上又一次重大的升级;
- 2012年6月28日发布Android 4.1/4.2 Jellybean。Android4.1是谷歌继蜂巢之后,一次全新的平板策略尝试。
三、移动操作系统简介【了解】
1. Windows Mobile / Phone它是由微软公司推出的移动设备操作系统。它的一大优势是将用户熟悉的Windows桌面环境应用在了移动设备中,这样可以减少用户的适应时间,并能让用户在移动设备上使用到与桌面Windows中相同的应用程序。与其桌面操作系统相同,Windows Mobile / Phone也是不开放源代码的。Windows Mobile / Phone使用C#和C++作为应用的开发语言。
2. IOS它是由苹果公司为iPhone、iPad和iPod Touch开发的移动操作系统,它的原名叫做iPhone OS,苹果公司于2010年6月的WWDC大会上宣布将其改为iOS。它的1.0版本于2007年6月发布,截至目前的最新版是iOS 8,于2012年6月在WWDC大会上发布,它可以应用在iPhone 3GS及之后的产品,iPad 2及之后的产品和iPod Touch 4代和5代中。iOS操作系统下的游戏和动画程序使用了苹果开发的内置加速器,从而可以获得非常出色的2D和3D画面效果,同时iOS的桌面环境也很美观。与微软的系统相似,iOS也是不开源的。iOS使用Objective-C作为应用的开发语言。
3. Symbian
大名鼎鼎的Symbian操作系统曾经一度称霸手机领域达数年之久,它的第一代系统于1999年被推出,叫做Symbian 5.0,在2005年全球出货量猛增,2008年被诺基亚全资收购,成为后者旗下公司。但是之后由于代码滞后、第三方开发难度大、触屏体验不佳和版本兼容性差等缺点,与竞争对手iOS和Android相比不再具有优势,从而逐渐被对手抢占了市场份额。Symbian曾开放过一段时间源代码,但后来又封闭了。Symbian使用C++作为应用的开发语言。
4 .BlackBerry中文名叫做黑莓(不过RIM官方一直未认可“黑莓”这个中文名),它是由加拿大的RIM公司推出的一种移动电子邮件系统终端,其特点是支持推动式电子邮件、移动电话、文字短信、互联网传真、网页浏览及其他无线信息服务。大部分BlackBerry设备都具有全键盘输入功能,BlackBerry手机特别适合于常处理电话、短信和电子邮件业务的商务人群。BlackBerry使用Java作为应用的开发语言。
5. Android它是由Google公司于2007年11月发布的一款基于Linux内核的手机操作系统,它是由一个被Google领导的叫做开放手机联盟的国际组织所维护和更新,其主要的工作都是由Google公司所完成的。
Android系统具备一套完整的智能手机需要具备的功能,且是开放源代码的,虽然后来被证明了其只算是开放了部分源代码,属于半开源的系统,但它仍然是一份不可多得的、功能完整的可用于学习移动开发技术的优秀素材。Android使用Java作为主要的应用开发语言,在需要更改Android的底层功能时,需要使用C或C++。
四、 Android版本更替【了解】 Android项目的创始人Andy Rubin过去是一名狂热的机器人爱好者,曾自行设计并制造过小机器人,所以Android曾有两个以机器人命名的内部版本代号,分别是Astro(阿童木,1.0正式版)和Bender(发条机器人,1.1版),这两个版本之后,由于商标问题,Google将Android的版本代号由机器人系列改为现在的甜点系列。Android的版本代号有一定规律,他按照英文字母A、B、C、D的顺序,依次类推命名,现在最新的版本已经到了k字母,叫做android 4.4 KitKat(奇巧),也就是4.4版。Android L即Android5.0是最新一代的Android操作系统,由于谷歌官方发布此版本名称为Android L,所以按常理是没有Android5.0一称,AndroidL本身含有字母并不代表本版本有代号,谷歌官方也承认版本无代号。
版本号
发布时间
重要的更新内容
1.0 Beta
2007-11-12
发布Android SDK预览版,供开发者测试使用,并收集用户反馈
1.0
Astro(阿童木)
2008-09-23
发布第一个正式稳定版Android SDK v1.0
Google开放了Android平台的源代码
1.1
Bender(发条机器人)
2009-02
发布了Android SDK v1.1
1.5
Cupcake(纸杯蛋糕)
基于Linux 2.6.27
2009-04-30
支持播放和拍摄影片,并上传到Youtube
支持立体声蓝牙耳机
采用WebKit技术的浏览器
大大提高GPS性能
提供屏幕虚拟键盘
Home界面增加音乐播放器和相册
应用程序自动随着智能手机旋转
1.6
Donut(甜甜圈)
基于Linux 2.6.29
2009-09-15
支持手势
支持CDMA网络
重新设计了Android Market
支持OpenCore2引擎
2.0 / 2.1
Éclair(松饼)
基于Linux 2.6.29
2009-10-26
支持HTML5
制作新的联系人程序
Google Maps升级为3.1.2版
支持Microsoft Exchange
支持蓝牙2.1
支持内置相机闪光灯
改进虚拟键盘
支持数码变焦
2.2(API-8)
Froyo(冻酸奶)
基于Linux 2.6.32
2010-05-20
支持将软件安装至扩展内存
集成Chrome的V8 JavaScript引擎到浏览器
支持Adobe Flash 10.1
支持USB分享器
支持WiFi热点功能
2.3(API-9,API-10)
Gingerbread(姜饼)
基于Linux 2.6.35
2010-12-07
支持WXGA的屏幕尺寸
电话薄集成Intent Call功能
支持NFC(近场通信)
优化游戏开发支持
新增下载管理员
从YAFFS转变为EXT4文件系统
加入屏幕截图功能
加入Google Talk
修复UI
3.0(API-11)/ 3.1(API-12)/ 3.2(API-13)
Honeycomb(蜂巢)
基于Linux 2.6.36
2011-02-02
3.X都是平板电脑上使用的版本
新版的Gmail
加入3D加速处理
加入专为平板电脑设计的界面
支持多核心处理器
优化了7寸平板的显式
4.0(API-14,API-15)
Ice Cream SandWich(冰激凌三明治)
基于Linux 3.0.1
2011-10-19
加入HOLO主题,并推荐第三方应用使用该主题
相机自带全景模式
大幅改动用户界面
4.1(API-16)/ 4.2(API-17)
Jelly Bean(果冻豆)
基于Linux 3.0.31
4.1:2012-06-28
4.2:2012-10-30
4.1版的重要更新内容:
增加“牛油”性能,让用户体验更加顺滑
加入Google Now活动通知功能
加入脱机语言输入
Google Play中加入电视片和电影的购买
大幅改变用户界面设计
集成更多的Google云
不再自带Flash Player
4.2版的重要更新内容:
支持多用户账户
加入通知中心里的设置键
更新Google Now
加入手势输入
支持多媒体无线传输Miracast
加入照片球(球形全景拍摄)功能
4.3(API-18)
Jelly Bean(果冻豆)
4.3:2013-7-25
支持多用户切换和首先账户
支持智能蓝牙
支持“Bluetooth AVRCP 1.3”
Wi-Fi后台自动搜索功能
支持OpenGL ES 3.0
虚拟环绕立体声
流媒体加密
4.4(API-19)
kitkat(奇巧)
4.4:2013-9-4
支持蓝牙MAP;
支持Chromecast;
更加准确、迅速的Chrome网页渲染体验;
手机丢失后通过Andorid Device Manager寻找或重置手机;
“应用下载”界面重新设计;
更简单的Home界面切换方式;
Email界面重新设计;
底部Android按键导航栏可隐藏;
五、 Android的系统架构【掌握】
- 系统核心层(Linux Kernel):该层主要包括:驱动、内存管理、进程管理、网络协议等组件。
本地库和运行时环境层:- Java不能直接访问硬件,要访问硬件,必须使用NDK。NDK是由c/c++语言编写的库(.so文件),该层是对应用程序框架层提供支持的层。
- 应用程序框架层(Application FrameWork):该层一般都是开发人员直接调用的API。该层主要由Java语言编写。
- 应用程序层(Applications):由运行在Dalvik虚拟机上的app组成。(Dalvik是Google公司为Android专门设计的Java虚拟机,运行Java程序的速度比JVM更快)。该层由Java语言编写。
Java的虚拟机与Dalvik虚拟机的区别:1.java中的虚拟机多个应用程序在同一个虚拟机中执行,android的每一个应用程序都在单独的进程中,每个应用程序都有一个单独的 Dalvik虚拟机实例;2.java虚拟机基于栈结构, Dalvik基于寄存器。3.java虚拟机直接编译运行字节码文件,安卓虚拟机需要dx工具将字节码变成dex中间码
![]()
六、 在Windows下搭建Android开发环境1.Android开发环境搭建前准备【掌握】2.开发环境搭建(常规安装步骤):【掌握】
- JavaSDK(software development kit)
- AndroidSDK
- Eclipse及ADT插件(android development tools)
2. 1、安装JavaSDK( http://www.oracle.com/technetwork/java/javase/downloads/index.html ),配置环境变量2.2、安装Eclipse( http://www.eclipse.org/downloads/ )2.3、安装Android SDK( http://developer.android.com/sdk/index.html 注意:下载的是sdk tools需要选择下载sdk版本 ),完成配置2.4、安装ADT插件,下载安装包(https://dl-ssl.google.com/android/eclipse/)2.5、创建AVD
3.快速安装【掌握】3. 1、拷贝其他机器中android sdk和eclipse3.2、修改Eclipse中配置信息3.3、创建AVD(android virtual device)备注:下载网址: http://developer.android.com/sdk/index.html 一般仅提供最新的sdk版本
【Eclipse的首选项设置:】1、字符集设置:
- Windows---Preferences----General——Editors——TextEditors——Spelling——utf-8
- Windows---Preferences----General——Workspace——Other——UTF-8
七、Android学习路线图:
- 学习Android要具备的基础知识
- JavaSE基本知识:集合、IO操作、线程
- WEB开发知识:HTML、jsp、servelet
八、如何学习Android?
- 熟练模仿出当天课堂演示代码的内容;
- 完成讲师布置的作业;
- 手写笔记,整理当天学习过程中核心代码
- 有问题及时查api 不明白的单词查阅有道词典
八、Andorid要掌握的核心内容:
- Android开发环境配置
- Android界面编程(常用布局、基本组件)
- Android高级组件编程(Dialog设计、ListView设计及分页、Toast、Notification、Menu、WebView)
- 事件处理
- Activity及Intent
- Android应用资源的访问
- Android网络应用开发及异步任务AsyncTask
- Android数据存储(内部存储及SDcard存储)和IO
- 使用ContentProvider实现数据共享
- Service编程
- Broadcast编程
- 图像图像处理
- 性能优化、apk安装、平板技术开发
九、Android-sdk目录结构介绍:
- tools
- platforms
- platform-tools
- docs
十、Android HelloWorld【掌握】
- 创建项目
- 编写代码
- 建立AVD(Android模拟器)
- 运行Hello World
十一、HelloWorld及Android项目目录结构介绍【重点掌握】![]()
- src(开发人员源码放置目录)
- gen(自动生成R.java,所有的资源文件都会在R.java文件中以final static 内部类的形式被注册。所以可以通过R..id,R.layout等形式来访问资源。)
- assets(资产目录。在这个目录中放置的资源文件,不会在R.java文件中被注册。一般程序中的音频或视频文件可以放置在这个目录下。)
- bin(编译后的class等文件在此目录。系自动生成)
- libs(项目自动生成 主要存放第三方jar包)
- res(资源文件。是Android编程中最重要的目录。所有的资源都定义在这个目录下。)
- drawable(图片放置的目录)【备注:android中不允许图片资源的文件名中出现大写字母,并且不能以数字开头】
- layout(布局文件放置的目录)
- menu(菜单文件放置的目录)
- values(字符串、尺寸等文件放置的目录)
- AndroidManifest.xml (Android清单文件——是Android开发中非常重要的文件。
- 该文件中定义了本App的版本号;
- 适用的手机操作系统最大及最小的兼容版本号;
- 整个项目中每写一个组件(Activity、Service、Broadcast),都需要在该清单文件中注册;
- 运行本程序的权限等等。
【备注:】res和assests目录的不同:
- 是否在R.java文件中被注册;
- res所放的文件类型是规定好的;而assests目录下放置的文件类型不限制;
- 访问方法不同。res中文件使用R.内部静态类.id来访问;而assest中的文件通过IO流来访问。
十二、需要掌握的单词缩写:专业英文缩写及词汇:API,JDK,SDK,Dalvik,ADT,AVD,Emulator,DDMS,ADB,APKdrawable,activity,intent,manifest,permission
十三、备注:1、如果通过F3访问到源代码?点击需要访问的类或者方法,显示界面如下图:
![]()
![]()
点击“Attach source”,进入下一个界面,选择"External location" , 选择“External Folder”,找到android_sdk下面的sources目录下的某个子目录即可。
十四、Android程序初体验:
- 在xml布局文件中给一个文本控件的id赋值;
- 在MainActivity的onCreate方法中,加载该文本控件;
- 给该文本控件赋值。
- 核心代码如下:
- private TextView text_main_info;
- text_main_info = (TextView)findViewById(R.id.text_main_info);
- text_main_info.setText("指定的内容");
十五、Android常用的开发调试工具1.adbAndroid Debug Bridge,简称adb,它是开发和调试Android应用程序中非常有用的一个工具
- 查看设备 命令:adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示。
- 安装软件 命令:adb install <apk文件路径> 这个命令将指定的apk文件安装到设备上。
- 卸载软件 命令1:adb uninstall <软件名> 命令2:adb uninstall -k <软件名> 如果加 -k 参数,为卸载软件但是保留配置和缓存文件。
- 登录设备shell 命令1:adb shell 命令2:adb shell <command命令> 这个命令将登录设备的shell。后面加<command命令>将是直接运行设备命令,相当于执行远程命令。
- 从PC上发送文件到目标机 命令:adb push <本地路径> <远程路径> 用push命令可以把PC上的文件或者文件夹复制到Android目标机中。
- 从目标机上下载文件到PC 命令:adb pull <远程路径> <本地路径> 用pull命令可以把Android目标机上的文件或者文件夹复制到PC
- 显示帮助信息 命令:adb help 这个命令将显示帮助信息。
2.DDMSDDMS 的全称是Dalvik DebugMonitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
3.AVD Manager
AVD的管理器,用于新建和管理现有的Android模拟器。
4.EmulatorAndroid模拟器本身。
5.LogCat日志记录工具,这个工具很常用,可以理解为C或Java程序中的控制台输出,常被用来在手写代码的调试方式中,输出调试信息,使用时在代码中先使用import关键字导入android.util.Log包,然后在代码中使用Log.d(String, String)、Log.i(String, String)等方法输出调试信息即可。
6.SDK ManagerSDK的管理器,使用自动更新的方式从Google服务器中下载最新的SDK版本及工具到本机。
【Android基础笔记01】Android开发环境搭建和HelloWorld
最新推荐文章于 2022-05-13 17:09:38 发布