精通AndroidStudio从入门到精通.pdf
《精通AndroidStudio从入门到精通.pdf》由会员分享,可在线阅读,更多相关《精通AndroidStudio从入门到精通.pdf(119页珍藏版)》请在冰点文库上搜索。
2016AndroidStudio从入门到精通(1-10)目录第一章AndroidStudio简介及其环境搭建.41.1AndroidStudio简介.41.1.1AndroidStudio能做什么.41.1.2为什么选择AndroidStudio.41.2Android系统基本知识.51.3搭建环境.61.3.1第一步安装JDK(JavaDevelopmentKit).61.3.2第二步更新hosts.71.3.3第三步安装AndroidStudio.71.4新建项目.131.5运行App.171.5.1运行在模拟器上.171.5.2运行在手机上.21第二章AndroidStudio基本概念.222.1开发环境.222.1.1菜单.222.1.2工具栏.232.1.3项目文件.232.1.4视图view.242.1.5布局.252.2建立简单的用户界面.252.3字符串资源文件.262.4增加一个按钮.272.5创建一个新的窗体步骤.282.5.1第一步:
创建布局文件.282.5.2第二步:
创建对应的Activity.292.5.3第三步:
布局文件与Activity关联.302.5.4第四步:
在AndroidManifest.xml里声明.312.6调用一个窗体.312.6.1调用方.312.6.2被调用方.33无法打开另一个窗体时检查:
.34缺少SKD平台.34第三章AndroidStudio编程语言基础.363.1Java代码的基本知识.373.2数据类型.383.2.1常用数据类型.383.2.2类型转换.403.2.3常量和变量.403.2.3在Android开发中的运用.403.3运算符.413.3.1算术运算.413.3.2比较运算.413.3.3逻辑运算.423.3.4示例.423.4控制语句.423.4.1分支控制语句.423.4.2示例.433.4.3循环控制语句.433.4.4示例.443.5异常处理.453.6AndroidStudio面向对象初步.473.6.1类与对象.473.6.2使用类.483.6.3Java中的继承.493.6.4包.50第4章AndroidStudio界面布局.524.1相对布局RelativeLayout.524.2帧布局FrameLayout.544.3线性布局LinearLayout.584.4表格布局TableLayout.584.5网格布局GridLayout.60第5章AndroidStudio视图工具箱.625.1使用View.625.2常用View的使用.625.2.1文本框TextView。
.635.2.2编辑框EditText.635.2.3单项选择RadioGroup和RadioButton.635.2.4多项选择CheckBox.655.2.5图片视图ImageView.655.2.6.日期选择器(DatePicker).675.2.7下拉列表Spinner.685.3小结.69第6章多线程的实现.706.1计时器范例.706.2布局文件.706.2设置按钮状态.716.3更新计时器.726.4运行计时器.73第7章管理Activity生命周期.757.1Activity生命周期理论知识.757.1.1Activity生命周期的5种状态.757.1.2生命周期状态的调用.767.2生命周期概念的应用.767.2.1LogCat观察运行.777.2.2修复Activity生命周期问题.807.3其它有关Activity的知识.827.3.1销毁activity.827.3.2停止和重启一个activity.827.3.3停止activity.827.3.4启动/重启activity.837.3.5重建activity.847.3.6保存active状态.857.3.7恢复active状态.85第八章简单数据和文件的存取.878.1键-值对数据的存取.878.2文件的存取.888.2.1选择内部或外部存储器.888.2.2获得外部存储许可.898.2.3保存文件到内部存储器.898.2.4保存文件在外部存储器.918.2.5查询空闲空间.928.2.6删除文件.93第9章数据库操作.949.1创建数据模型.949.2SQLiteOpenHelper类详解.949.2.1SQLiteOpenHelper类.959.2.2创建数据库.969.2.3数据库升级.969.3创建数据库和表.979.4数据库操作.989.4.1创建菜单.989.4.2创建新增、修改的Activity.999.4.3新增记录.1019.4.4显示数据.1019.4.5修改数据.1049.5其它.106第10章Intent详解-与其它App交互.10710.1调用Activity并返回结果.10710.1.1启动Activity.10710.1.2工作过程.10910.2调用其它APP服务.11010.2.1调用动作.11010.2.2获取结果.11310.3让其它app启动你的Activity.11510.3.1增加一个intent过滤器.11510.3.2显示app选择器.11710.3.3在你的Activity处理intent.11710.3.4返回结果.118第一章第一章AndroidStudio简介简介及其环境搭建及其环境搭建欢迎来到AndroidStudio应用程序开发世界!
我将带领大家熟悉使用androidstudio开发平台。
听课者需要有一定的编程基础,最好是Java编程基础。
每次课我会完成一个案例,边干边学,以此让大家越来越熟悉安卓平台。
希望大家学习完整个教程后,都能很好地掌握该平台。
本章学习内容包括5个方面:
第一,简要介绍AndroidStudio,告诉大家为什么学习它;第二,因为AndroidStudio开发出来的App运行在Android平台上,所以要介绍Android平台;第三,重点学习AndroidStudio开发环境的搭建过程,搭建好环境,我们就可以顺利地学习后面的章节了。
;第四,快速创建一个Android项目;第五,运行App在模拟器和手机上。
1.11.1AndroidStudioAndroidStudio简介简介1.1.1AndroidStudio能做什么能做什么大家都知道谷歌公司的Android操作系统,作为智能手机等移动设备的平台。
光有平台还不行,平台上还有各种各样称为APP的应用软件。
AndroidStudio是谷歌公司研发的开发基于Android系统的软件开发工具,也就是开发运行在Android平台上的APP,这些应用可以设计为工具、管理、互联网、游戏等等软件,取决于程序员的自由发挥和创意。
AndroidStudio开发的产品不仅可以运行在智能手机上,还可以开发智能穿戴、电视、车载设备的应用。
1.1.2为什么为什么选择选择AndroidStudio从Android操作系统诞生的时候,开发基于Android系统的APP的平台是Eclipse,关于AndroidStudio相比Eclipse的优点网络上讨论很多。
这里我不打算展开是使用AndroidStudio还是Eclipse的辩论,我要提醒读者的是,作为谷歌在2013年为开发者提供的IDE环境工具AndroidStudio,从几次更新之后AndroidStudio已经成为了非常强大的IDE开发环境。
谷歌也宣布将在年底前中止对其他IDE开发环境的支持。
也就是说,开发者是时候正式向Eclipse说再见了。
安卓产品经理JamalEason在声明中写道“谷歌将会全力专注于AndroidStudio编译工具的开发和技术支持,中止为Eclipse提供官方支持。
包括中止对EclipseADT插件以及AndroidAnt编译系统的支持。
”如果你是一名打算从事基于Android系统软件开发的初学者,那么一开始学习AndroidStudio是明智的选择,可以少走弯路,抢占战略制高点。
毕竟Android操作系统是谷歌的,AndroidStudio是谷歌的亲儿子。
1.21.2AndroidAndroid系统基本系统基本知识知识用AndroidStudio开发出来的APP是运行在Android操作系统上的,所以这里概述安卓系统的基本知识是非常必要的。
安卓系统是为移动设备准备的操作系统,已被各大移动设备制造商所采用。
它含有一个Linux操作系统和一些中间件,通常,它还带有一系列关键应用,如联系人管理、地图应用、浏览器等等。
安卓由谷歌开发和维护,它是一个开源项目,因此你有兴趣的话可以下载它的源代码。
图1-1Android系统这里把安卓平台按照从下至上顺序分为四层,图中最上面为第四层是应用层,一般的安卓设备都会预装一些应用,所以你有联系人管理、打电话、网络浏览器等应用。
安卓的奇妙之处是一个开放式平台,像我们这样的第三方开发者,可以定制自己的应用,并提供给使用安卓设备的用户,这就是在安卓应用框架上建立应用,这就是第三层。
注意第三、四两层都是蓝色的,都是用Java编写的。
因此,移动设备上自带的所有应用,以及第三方或者你自己开发的应用,都是用Java语言写的。
应用框架是一系列相互紧密联系的应用框架,其中有一系列不同的子框架,有管理活动的框架。
活动是什么,后面我会细讲。
有窗口管理框架,有管理设备本地内容的框架,有处理电话事件的框架,有位置管理框架等等。
我们不能详细解说所有框架,我们只会涉及常用的关键框架和接口。
而框架本身,则是在一系列库之上写出来的,也就是绿色的第二层是安卓运行时。
库都是用C和C+写的,这些库是自带的,有一些是由谷歌实现的,其它是集成的开源库。
比如SQLite是一个轻量级数据库平台,它是安卓设备包含的开源项目,和iPhone使用的软件包是一样的都是SQLite数据库。
还有浏览器的WebKit库等等。
最后,所有这些都建于位于第一层的Linux内核之上,这是硬件之上最直接的软件层,它管理最根本的所有资源,需要强调的是,自带应用程序和你作为开发者所开发的应用,都是基于相同的框架,管理联系人等等和你的程序所使用的都是完全相同的框架,也就是说,安卓API没有特殊和秘密可言。
自带程序和你作为开发者开发的程序没有本质差异,这对我们很有好处,是安卓最令人称心的一项特性,它是完全开放的。
1.1.33搭建搭建环境环境安装软件已经为你准备好了,只需按照如下步骤很简单地可以安装上。
安装前先检查您电脑的硬件和操作系统是否符合条件:
MicrosoftWindows8/7/Vista/2003(32or64-bit)内存至少2GB,推荐内存4GB安装完毕后硬盘至少有400MB运行空间至少1GB空间留给AndroidSDK,模拟器系统映像,缓存至少1280x800屏幕分辨率可选加速模拟器:
IntelprocessorwithsupportforIntelVT-x,IntelEM64T(Intel64),andExecuteDisable(XD)Bitfunctionality1.3.1第一步第一步安装安装JDK(JavaDevelopmentKit)打开文件夹step1,如果你的操作系统是64位的,运行文件jdk-8u77-windows-x64.exe;如果你的操作系统是32位的,运行文件jdk-8u77-windows-i586.exe。
安装好JDK后,设置环境变量:
打开控制面板系统高级系统设置高级,单击按钮【环境变量】,在“系统变量”栏,单击【新建】,在弹出窗口设置变量名:
JAVA_HOME,变量值:
JDK安装在你机器上的目录。
(例如,我的安装目录是C:
ProgramFilesJavajdk1.8.0_45,那么变量值应该是C:
ProgramFilesJavajdk1.8.0_45)图1-21.3.2第第二步二步更新更新hosts打开文件夹step2,如现有hosts内容重要的话请备份后再使用(一般不需要)。
如下图1-3-1所示,win7/win8/win10右键以管理员身份运行“以管理员权限运行.bat”。
杀毒软件可能会提醒用户正在修改hosts,如图1-3-2,选择允许修改。
完毕后不会有提示,可以进行下一步了。
图1-3-1图1-3-21.3.3第第三三步步安装安装AndroidStudio保持与互联网连接,然后打开文件夹step3,运行android-studio-bundle-141.2456560-windows.exe文件,图1-4至图1-16是安装过程。
图1-4图1-5图1-6图1-7图1-8图1-9注意:
这一步能否成功的关键是否能和谷歌公司网站链接,不要尝试各种跳过这一步的方法了图1-10图1-11图1-12图1-13图1-141.1.44新建新建项目项目安装完成后,我们快速创建一个项目检验一下,后面会详细说明创建项目的细节。
打开AndroidStudio,如图1-15在欢迎界面单击StartanewAndroidStudioproject。
(注:
如果你已经打开了项目,从File菜单,选择NewProject)我们目前只需了解第一、二项:
StartanewAndroidStudioproject:
开始新建AndroidStudio项目。
现在我们是要新建一个项目,所以选择这一项。
OpenanexistingAndroidStudioproject:
打开已存在的AndroidStudio项目。
图1-15AndroidStudio开始界面单击StartanewAndroidStudioproject,进入图1-16界面,ApplicationName:
HelloWorld;Companydomain:
。
注意这里填写的内容与访问互联网没有任何关系,所以你尽管可以填写不存在的域名;Projectlocation:
保存项目文件的目录。
我们学习AndroidStudio时候会创建许多应用程序,为集中管理。
我预先新建了文件夹Androidproject,把本例放在这个文件夹里。
填写ApplicationName字段,本例填写“MyFirstApp”,其它可保持默认,单击Next。
当然可以填写其它值,但这里希望你使用和我的例子一样值,学习后面内容会容易些。
图图1-16进入进入图图1-17界面界面,勾选PhoneandTablet,MinimunSDK选择API14:
Android4.0(IceCreamSandwich),MinimumSDK选择API14:
Android4.0(IceCreamSandwich).MinimumRequiredSDK是app所支持的最早Android版本。
为了尽可能支持更多的设备,你应当把它设置为最低版本,这样app可为低版本提供核心可用功能。
因为如果你的app所有功能仅能在最新版本的Android上运行的话会导致许多手机的版本不可用。
我们目前只学习手机开发,不要勾选其它选项(TV,Wear,Glass),单击Next.图1-17选择界面布局。
在图图1-18选择BlankActivity单击Next。
选择一个与你开发APP相配的界面可以为你节省不少精力,但我们处于学习阶段选择“BlankActivity”,一个空白的布局。
图1-18在图1-19,使用默认值,单击Finish按钮创建了项目。
图1-18稍等一会儿,Android项目现在有了基本的“HelloWorld”app,并且包括一些默认文件,如图1-19。
图1-191.1.55运行运行AApppp学习如何安装、运行app在一个实际设备上和一个Android模拟器上。
实际设备包括智能手机、PDA等等。
下面我们就把实际设备认为一部安装Android系统的智能手机,简称手机。
1.5.1运行运行在模在模拟器拟器上上开发程序需要无数次的调试,如果每次都安装部署到实际手机上是现实的,只有开发的最后阶段才安装到手机上测试。
所以需要运行在模拟手机上。
1.创建模拟器单击图2-6的所示模拟器,出现3-1界面,单击图中Action,在弹出菜单中单击”Delete”,删除当前模拟器。
图3-12.创建模拟器3-23.选择模板图3-34.选择Android4.0的模拟器,如果没安装,单击所在行的download下载。
需要你的计算机能够和谷歌公司链接。
图3-4图3-5图3-6设置好模拟器后,单击图2-6运行,便启动模拟器图3-71.5.2运行运行在在手机手机上上建议初学者仅做了解,跳过这一步,使用后面介绍的模拟器运行。
1.设置手机1.1使用USB线连接手机和你开发项目的计算机上。
1.2打开设备的USBdebugging功能
(1)在Android3.2或更老版本的手机上,设置-应用程序-开发
(2)在Android4.0或更新版本的手机上,开发者选项默认是隐藏的。
打开这个功能,使用:
设置-关于手机,连续点击版本号版本号(英文名Buildnumber)7次,返回上一页,会出现开发开发人员选项人员选项。
2.从AndroidStudio运行app
(1)从工具栏单击Run
(2)在弹出ChooseDevice窗口,选择Choosearunningdevice单选按钮,选择你的设备,单击OKAndroidStudio安装app到你连接的设备上,然后启动它。
第二章第二章AndroidStudio基本概念基本概念第一章快速演示了一个简单项目的建立过程,这一章详细介绍AndroidStudio创建项目的过程,学习AndroidStudio开发环境。
本章的项目演示的是一个APP窗口打开另一个窗口,并传递参数。
2.12.1开发开发环境环境AndroidStudio功能强大,开发环境要介绍的知识很多,要是全部介绍对于初学者而言太多,不易掌握。
这里先学习开发项目中常用到的知识,其它知识需要的时候再逐步掌握。
当你学习完第一章后,再次打开AndroidStudio会默认自动打开进入最近的一次项目,如图2-1所示。
图2-1AndroidStudio开发环境2.1.1菜单菜单
(1)新建项目File-New-NewProject
(2)打开项目File-Open(3)关闭项目File-CloseProject(4)退出File-Exit2.1.2工具工具栏栏
(1)运行:
调试编译并运行项目
(2)模拟器:
模拟器管理器,创建、删除、设置、运行模拟器(3)SDK管理器:
下载安装SDK2.1.3项目项目文件文件按照功能不同,项目文件分布在不同文件夹里。
(1)Android清单文件夹appmanifests里面只有一个文件AndroidManifest.xml:
这里都是一些关于应用包的元数据。
属性有命名空间xmlns:
xmlns:
androidandroid=http:
/Android应用,然后,我们可以修改漏洞、添加新特性,可以持续更新应用程序,用户就会在手机上收到通知,提示有新版本可用,他们于是可以下载并更新,所以版本号就是这样1.5、2.0之类的一段信息。
清单还定义了子元素application(应用),其属性有androidandroid:
icon:
icon(图标)。
我们知道任何手机应用都会有图标,用户通过点击它打开程序,图标还可以自定义,这个元素就是起这个作用。
androidandroid:
label:
label(标签),用来显示应用名。
Application内部有一个或多个activity(活动)元素,所谓activity,就是为用户执行的一项任务,一个Android应用程序可以有一个或多个活动。
在这个应用程序,只有一个活动名为MainActivity。
另外还有intent-filter(意图过滤器)元素,意图是指从活动转到其它活动,这个Manifest所用的意图过滤器,其名为android.intent.action.MAINandroid.intent.action.MAIN,它的category(类别)是launcher(启动器),这个特殊的意图就是如果用户点击了菜单中的应用图标,这就是开始要运行的活动,这就像C/C+中的main程序一样,这个意图过滤器定义了应用程序的进入点。
(2)代码文件夹appjavacom.mycompany.helloworld这个文件夹是放代码文件的地方,目前只有文件MainActivity(3)资源文件夹appres这个文件夹存放项目所需的各种资源,包括子文件夹:
1)图片文件夹drawable2)布局文件夹layout布局就是界面设计,Android使用XML文件定义用户界面,用XML文件描述屏幕视觉元素的布局,在本应用程序中,当我使用项目创建向导时,它创建了这个activity_main.xml和作为activity_main.xml一部分的content_main.xml。
3)菜单文件夹menu文件夹下有一个文件menu_main.xml4)图片文件夹mipmap这个文件夹也是存放图片的,和drawable作用相同,但是用mipmap系统会在缩放上提供一定的性能优化。
目前这里存放着启动图标,不同的图标适应不同的屏幕。
5)键值包括颜色、适配不同屏幕、字符串、样式。
我们重点学习strings.xml.HelloWorldSettings用户界面上文本是字符串,这些字符串可以放在strings.xml里。
如HelloWorld,它的键是app_nameapp_name,值是HelloWorld。
试着把HelloWorld改为“你好,世界!
”总要指定字符串,这个字符串资源文件可以管理所有的UI文本,使得开发人员容易地管理、更新文本,以及app多语言国际化。
Android应用或其它移动应用发布到国际上,可能需要应用不同翻译版本,这类数据不应该嵌入源码中,二进制代码不需要改变,中文版和英语版的代码应该一样,所有供用户阅读的文本数据,都应该提出来,放到资源XML文件中,需要和代码分开。
2.1.4视图视图viewAndroidStudio有丰富的控件,如按钮、文本