《Android应用开发》课件-第1章 Android基础入门_第1页
《Android应用开发》课件-第1章 Android基础入门_第2页
《Android应用开发》课件-第1章 Android基础入门_第3页
《Android应用开发》课件-第1章 Android基础入门_第4页
《Android应用开发》课件-第1章 Android基础入门_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android应用开发Android本意指“机器人”,安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。Google公司将Android的标识设计为一个绿色机器人,

表示Android系统符合环保概念,是一个轻薄短小,功能强大的移动系统,是第一个真正为手机打造的开放性系统。什么是Android什么是Android第1章Android基础入门1

·1.1Android简介·1.2开发第一个Android程序重点了解掌握1Android发展历史Android体系结构3HelloWorld程序的编写2Android开发环境搭建学习目标1.1.1Android发展历史1.1.2

Android体系结构1.1.3Dalvik虚拟机主讲内容Speechcontent主讲内容1.1Android简介第一代通信技术(1G):是指最初的模拟、仅限语音的蜂窝电话标准。第二代通信技术(2G):是指第2代移动通信技术,代表为GSM,以数字语音传输技术为核心。传输速度9.6k/s。第三代通信技术(3G):是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。3G通信网在室内、室外和行车的环境中能够分别支持至少2M/s、384K/s以及144K/s的传输速度第四代通信技术(4G):又称IMT-Advanced技术,它包括了TD-LTE和FDD-LTE。4G通信网最高甚至可以达到100M/s的传输速度。第五代通信技术(5G):具有高速率、低时延和大连接特点的新一代宽带移动通信技术,是实现人机物互联的网络基础设施。峰值速率需要达到10-20Gbit/s。1.1.1Android发展历史通信技术Android操作系统最初是由安迪·鲁宾(AndyRubin)开发出的,后来被Google收购,并于2007年11月5日正式向外界展示了这款系统。随后Google以Apache开源许可证的授权方式,发布了Android操作系统的源代码。1.1.1Android发展历史Android起源2008年9月发布Android第1个版本Android1.1。

2009年4月30日,Android1.5Cupcake(纸杯蛋糕)正式发布。2009年9月5日,Android1.6Donut(甜甜圈)版本发布。......Android11Android1.5Cupcake(纸杯蛋糕)Android发展历史1.1.1Android发展历史闹钟通知管理器多媒体框架音频驱动1.1.2Android体系结构1.1.2Android体系结构系统/服务英文名称说明视图View这里的视图指的是丰富的、可扩展的视图集合,可用于构建一个应用程序,包括列表(Lists)、网格(Grids)、文本框(TextBoxes)、按钮(Buttons),甚至是内嵌的Web浏览器。内容管理器ContentProvider内容管理器使得应用程序可以访问另一个应用程序的数据(如联系人数据库)或者共享自己的数据。资源管理器ResourceManager资源管理器提供访问非代码资源,如本地字符串、图形和分层文件(layoutfiles)。通知管理器NotificationManager通知管理器使得所有的应用程序都能够在状态栏显示通知信息。活动管理器Activity

Manager在大多数情况下,每个Android应用程序都运行在自己的Linux进程中。当应用程序的某些代码需要运行时,这个进程就被创建并一直运行下去,直到系统认为该进程不再有用为止,然后系统将回收该进程占用的内存以便分配给其他的应用程序。活动管理器管理应用程序生命周期,并且提供通用的导航回退功能。第二层:Android主要服务和系统:1.1.2Android体系结构什么是虚拟机Dalvik的来源什么是Dalvik虚拟机1.1.3Dalvik虚拟机Dalvik虚拟机操作系统应用程序虚拟机应用程序虚拟机什么是虚拟机Dalvik的来源什么是Dalvik虚拟机1.1.3Dalvik虚拟机Dalvik虚拟机Dalvik是Google公司自己设计用于Android平台的虚拟机,它主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能。Dalvik虚拟机的特点1.1.3Dalvik虚拟机Dalvik虚拟机Dalvik虚拟机编译文件过程1.2开发第一个Android程序1.2.1AndroidStudio的下载、安装与配置1.2.2模拟器的创建1.2.3在AndroidStudio中下载SDK主讲内容Speechcontent主讲内容1.2开发第一个Android程序1.2.4开发第一个Android程序64-bitMicrosoft®Windows®8/108GBRAMormore8GBofavailablediskspace配置环境下载AndroidStudio安装完成/1.2.1AndroidStudio的下载、安装与配置AndroidStudio配置完成创建创建模拟设备选择合适的SDK版本234选择设备类型及尺寸11.2.2模拟器创建单击ADVManager标签5SDK:(softwaredevelopmentkit)软件开发工具包。SDK用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。1.2.3下载SDKSDK下载1.2.3下载SDK下载Tools工具23下载SDK版本1单击图标学习Android可以开发出精美的APP。1.2.4开发第一个Android程序本小节就教大家如何编写一个HelloWorld程序。1.2.4开发第一个Android程序功能描述:技术要点:在AndroidStudio的WelcometoAndroidStudio窗口中选择【StartanewAndroidStudioproject】选项创建项目点击工具栏中【AVDManager】标签启动模拟器点击工具栏中的运行按钮运行程序实现步骤:

展示HelloWorld界面。使用AndroidStudio创建程序,使用模拟器运行程序。2311.2.4开发第一个Android程序1.4Android程序结构1.1Android简介

1.2Android开发环境搭建1.3开发第一个Android程序主讲内容Speechcontent主讲内容1.5资源的管理与使用1.6程序调试存放程序的代码和资源等文件程序的gradle构建脚本指定项目中所使用的SDK路径1.4Android程序结构配置在Android中使用的子项目(Moudle)1.4Android程序结构1.1Android简介

1.2Android开发环境搭建1.3开发第一个Android程序主讲内容Speechcontent主讲内容1.5资源的管理与使用1.6程序调试图片资源:扩展名为.png、.jpg、.gif、.9.png等的文件。图片资源分类应用图标资源:存放在mipmap文件夹中界面中使用的图片资源:存放在drawable文件夹中屏幕密度匹配规则图片资源1.5.1图片资源密度范围值mipmap文件夹drawable文件夹120~160dpimipmap_mdpimipmap_mdpi160~240dpimipmap_hdpidrawable_hdpi240~320dpimipmap_xdpidrawable_xdpi320~480dpimipmap_xxdpidrawable_xxdpi480~640dpimipmap_xxxdpidrawable_xxxdpi调用图片资源的方法通过Java代码调用图片资源//调用mipmap文件夹中资源文件getResources().getDrawable(R.mipmap.ic_launcher);//调用以drawable开头的文件夹中的资源文件getResources().getDrawable(R.drawable.icon);在XML布局文件中调用图片资源

@mipmap/ic_launcher//调用mipmap文件夹中的资源文件@drawable/icon//调用以drawable开头的文件夹中的资源文件图片资源1.5.1图片资源主题是包含一种或多种的格式化属性集合,在程序中调用主题资源可改变窗体的样式,对整个应用或某个Activity存在全局性影响。定义位置:res/values目录下的styles.xml文件中标签 <style></style>:定义主题 <item></item>:设置主题的样式主题资源1.5.2主题和样式资源1.5.2主题和样式资源主题资源主题资源<stylename="AppTheme"parent="Theme.AppCompat.Light.DarkActionBar"><!--Customizeyourthemehere.--><itemname="colorPrimary">@color/colorPrimary</item><itemname="colorPrimaryDark">@color/colorPrimaryDark</item><itemname="colorAccent">@color/colorAccent</item></style>用于定义主题用于指定主题名称用于指定继承的父主题用于设置主题的样式调用方式

XML文件中:android:theme="@style/AppTheme"Java代码中:setTheme(R.style.AppTheme);样式:设置View的具体样式。定义位置:res/values目录下的styles.xml文件中标签在XML文件中调用方法样式资源1.5.2主题和样式资源<style></style>:定义样式<item></item>:设置控件的样式style="@style/textViewSytle"布局资源通常用于搭建程序中的各个界面。定义位置:res/layout文件夹中调用方式通过Java代码调用布局资源文件在XML布局文件中调用布局资源文件布局资源1.5.3布局资源//在Activity的onCreate()方法中调用activity_main.xml布局资源setContentView(R.layout.activity_main);//在XML布局文件中调用activity_main.xml布局资源<includelayout="@layout/activity_main"/>定义位置:res/values/文件夹的strings.xml文件中编写字符串资源内容字符串资源1.5.4字符串资源<resources><stringname="app_name">字符串</string></resources>应用名称调用方式通过Java代码调用字符串资源在XML布局文件中调用字符串资源字符串资源1.5.4字符串资源在Activity的onCreate()方法中调用名为app_name的字符串资源getResources().getString(R.string.app_name);在XML布局文件中调用名为app_name字符串资源@string/app_name定义位置:res/values/文件夹的colors.xml文件中colors.xml文件中的颜色资源颜色资源1.5.5颜色资源<?xmlversion="1.0"encoding="utf-8"?><resources><colorname="colorPrimary">#3F51B5</color><colorname="colorPrimaryDark">#303F9F</color><colorname="colorAccent">#FF4081</color></resources>用于定义颜色资源的标签用于指定颜色资源的名称颜色值调用方式通过Java代码调用颜色资源在XML布局文件中调用颜色资源颜色资源1.5.5颜色资源在Activity的onCreate()方法中调用名为colorPrimary的颜色资源getResources().getColor(R.color.colorPrimary);在XML布局文件中调用名为colorPrimary的颜色资源@color/colorPrimary调用颜色资源的方法调用颜色资源的属性多学一招:定义颜色值1.5.5颜色资源在Android中,颜色值是由RGB(红、绿、蓝)三原色和一个透明度(Alpha)表示,颜色值必须以“#”开头,“#”后面显示Alpha-Red-Green-Blue形式的内容。其中,Alpha值可以省略,如果省略,表示颜色默认是完全不透明的。定义颜色的形式#RGB#ARGB#RRGGBB#AARRGGBB尺寸资源:例如:View的宽高值定义位置:res/values/文件夹的dimens.xml文件中创建dimens.xml文件:右键单击values文件夹,选中【New】

【XML】

【ValuesXMLFile】,在弹出框中输入dimens。编写尺寸资源尺寸资源1.5.6尺寸资源<resources><dimenname="activity_horizontal_margin">16dp</dimen><dimenname="activity_vertical_margin">16dp</dimen></resources>用于定义尺寸资源的标签调用方式通过Java代码调用尺寸资源在XML布局文件中调用尺寸资源尺寸资源1.5.6尺寸资源在Activity的onCreate()方法中调用名为activity_horizontal_margin的颜色资源getResources().getDimension(R.dimen.activity_horizontal_margin);在XML布局文件中调用名为activity_horizontal_margin的尺寸资源@dimen/activity_horizontal_margin多学一招:Android支持的尺寸单位1.5.6尺寸资源尺寸单位px(pixels,像素):每个px对应屏幕上的一个点。dp(Density-independentPixels,设备独立像素):是一种与屏幕密度无关的尺寸单位。sp(scaledpixels,比例像素):主要处理字体的大小,可以根据用户字体大小首选项进行缩放。in(inches,英寸):标准长度单位。pt(points,磅):屏幕物理长度单位,1磅为1/72英寸。mm(Millimeters,毫米):屏幕物理长度单位。1.4Android程序结构1.1Android简介

1.2Android开发环境搭建1.3开发第一个Android程序主讲内容Speechcontent主讲内容1.5资源的管理与使用1.6程序调试单元测试单元测试是指在应用程序开发过程中对最小的功能模块进行测试,可以在完成某个功能之后对该功能进行单独测试。单元测试分类:Android单元测试:连接Android设备、速度比较慢、适合需要调用AndroidAPI的单元测试。Junit单元测试:不依赖Android设备(在本地即可运行)、速度快、适合只对java代码功能进行的单元测试。1.6.1单元测试单元测试AndroidStudio3.2版本在创建项目时,会默认在app/src/androidTest和app/src/test文件夹中创建Android单元测试类ExampleInstrumentedTest和Junit单元测试类ExampleUnitTest。Android单元测试类ExampleInstrumentedTest使用@RunWith(AndroidJUnit4.class)注解ExampleInstrumentedTest类@Test注解类中的方法Junit单元测试类ExampleUnitTest@Test注解类中的方法1.6.1单元测试Android单元测试ExampleInstrumentedTest.java类中的代码packagecn.itcast.helloworld;@RunWith(AndroidJUnit4.class)publicclassExampleInstrumentedTest{@TestpublicvoiduseAppContext(){//Contextoftheappundertest.ContextappContext=InstrumentationRegistry.getTargetContext();assertEquals("cn.itcast.helloworld",appContext.getPackageName());}}断言,期望两个参数值相等注解类1.6.1单元测试注解方法测试结果正常测试结果错误1.6.1单元测试Junit单元测试ExampleInstrumentedTest.java类中的代码packagecn.itcast.helloworld;publicclassExampleUnitTest{@Testpublicvoidaddition_isCorrect(){assertEquals(4,2+2);}}断言,期望两个参数值相等1.6.1单元测试注解方法测试结果正常测试结果错误1.6.1单元测试注意AndroidStudio3.2版本在创建项目时,会自动在build.gradle文件中添加单元测试的支持库,如果在进行单元测试时,程序中的build.gradle文件中没有添加单元测试的支持库,则需要手动进行添加。dependencies{......testImplementation'junit:junit:4.12'androidTestImplementation'com.android.support.test:runner:1.0.2'androidTestImplementation'com.android.support.test.espresso:espresso-core:3.0.2'}1.6.1单元测试LogCat的使用LogCat是Android中的命令行工具,用于获取程序从启动到关闭的日志信息。Log类所输出的日志内容分为六个级别。1.6.2LogCat的使用级别Log类中的静态方法VerboseLog.v()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论