书签 分享 收藏 举报 版权申诉 / 22
上传文档赚钱

类型Android移动开发基础教程-第8章-高级编程课件.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3228858
  • 上传时间:2022-08-08
  • 格式:PPTX
  • 页数:22
  • 大小:194.94KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Android移动开发基础教程-第8章-高级编程课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Android 移动 开发 基础教程 高级 编程 课件
    资源描述:

    1、Android开发基础知识入门开发基础知识入门第第8章章 高级编程高级编程8.1 网络编程8.2 图形图像和动画8.3 多媒体应用开发8.4 线程开发Android开发基础知识入门开发基础知识入门第第8章章 高级编程高级编程8.5 Fragment8.6 RecyclerViewAndroid开发基础知识入门开发基础知识入门 TCP/UDP协议基础(1)两台设备之间进行通信,一定要有通信协议,即客户端以一定的格式将数据发送出去,服务端接收到数据之后,可以根据同样的协议将数据的内容解析出来。在现有的网络中,通信方式有两种:TCP和UDP;(2)TCP是传输控制协议,提供的是面向连接、可靠的字节流

    2、服务,通信双方必须先建立一个TCP连接,然后才能传输数据。而且TCP协议还提供了超时重发、数据校验、拥塞控制等功能,保证了数据的可靠传输;(3)UDP是用户数据报协议,只是简单的把数据报发送出去,但是并不能保证数据能到达目的地,不提供可靠性;8.1 8.1 网络编程网络编程第8章 高级编程Android开发基础知识入门开发基础知识入门 处理流程客户端处理流程:1、根据服务器的IP地址和端口号建立网络连接。2、建立连接之后,进行数据交换。向服务端发送请求和接收服务端反馈的数据。3、关闭连接。服务端处理流程:1、服务端启动之后,监听一个固定的端口,被动的等待客户端连接。2、客户端连接到服务端之后,

    3、服务端可以获取客户端的IP地址等信息,可以进行数据交换。3、接收客户端发送的数据,然后把处理的结果反馈给客户端。4、关闭连接。8.1 8.1 网络编程网络编程第8章 高级编程Android开发基础知识入门开发基础知识入门 下载网络资源 在Android开发中,经常需要请求网络资源,例如播放在线音乐,或者加载显示一张网络图片。JAVA提供了HttpURLConnection和HttpsURLConnection,两者都可以基于URL实现简单的请求响应功能,区别在于是访问http链接还是访问https链接。8.1 8.1 网络编程网络编程第8章 高级编程Android开发基础知识入门开发基础知识入

    4、门 Bitmap和BitmapFactory Android中提供了Bitmap类用于图片处理,一个Bitmap对象代表一张位图,存储了图片的宽高、颜色、像素点等信息,Bitmap类提供了大量的方法。BitmapFactory主要用于加载Bitmap对象,可以从资源文件加载,也可以根据图片的路径进行加载,还可以根据输入流进行解析Bitmap对象。8.2 8.2 图形图像和动画图形图像和动画第8章 高级编程Android开发基础知识入门开发基础知识入门 android绘图基础 除了显示已有的图片之外,Android还支持一些简单的二维绘图,其实对于Android的一些基本组件如TextView、

    5、Button等,也都是系统绘制出来的,绘制的操作在View类的onDraw(Canvas canvas)方法中,每个组件需要实现onDraw(Canvas canvas)方法进行自定义的绘制。8.2 8.2 图形图像和动画图形图像和动画第8章 高级编程Android开发基础知识入门开发基础知识入门drawBitmap(Bitmap bitmap,float left,float top,Paint paint)从Bitmap对象的左上角开始绘制drawCircle(float cx,float cy,float radius,Paint paint)绘制一个圆drawLine(float st

    6、artX,float startY,float stopX,float stopY,Paint paint)绘制一条线drawPoint(float x,float y,Paint paint)绘制一个点drawRect(float left,float top,float right,float bottom,Paint paint)绘制一个矩形drawText(String text,float x,float y,Paint paint)绘制一个字符串 补间动画在Android应用中,经常会出现一些动画效果,例如控件的滑入滑出,图片的渐隐等。常见的实现方式有补间动画和属性动画,补间动画是

    7、指开发者指定好控件的初始状态和结束状态,系统自动补齐显示控件的中间状态。Android补间动画支持的效果比较简单,包括平移、缩放、旋转、透明度变化四种。8.2 8.2 图形图像和动画图形图像和动画第8章 高级编程Android开发基础知识入门开发基础知识入门类对应的动画TranslateAnimation用于做平移动画的类,需要指定控件的起始和结束时的位置。ScaleAnimation用于做缩放动画的类,需要指定动画的缩放中心、起始时的缩放比和结束时的缩放比。RotateAnimation用于做旋转动画的类,需要指定旋转中心的坐标、起始的旋转角度和结束时的旋转角度。AlphaAnimation

    8、用于做透明度变化的类,需要指定起始的透明度和结束时的透明度。属性动画 属性动画是在API 11之后加入的功能,它几乎可以作用在任何对象上。而且不同于补间动画只能支持四种变换,属性动画是在一定时间内将对象的属性从一个初始值改变到另一个值,因此,只要是对象存在的属性,无论是可见还是不可见的,都可以实现动画效果。属性动画可以通过ObjectAnimator实现。8.2 8.2 图形图像和动画图形图像和动画第8章 高级编程Android开发基础知识入门开发基础知识入门 MediaPlayer类 在Android应用中,经常会需要播放媒体资源,如音乐播放器、视频播放器和游戏的背景音乐等。Android提

    9、供了MediaPlayer类,可以很简单地实现播放本地存储或者网络上的音视频文件。8.3 8.3 多媒体应用开发多媒体应用开发第8章 高级编程Android开发基础知识入门开发基础知识入门方法名方法说明intgetCurrentPosition()获取当前播放的位置intgetDuration()获取音视频文件的总长intgetVideoHeight()获取视频的高度intgetVideoWidth()获取视频的宽度booleanisPlaying()判断当前是否正在播放voidpause()暂停播放voidprepare()MediaPlayer开始准备(同步方法)voidprepareAs

    10、ync()MediaPlayer开始准备(异步方法)voidrelease()释放MediaPlayer占用的资源voidreset()重置MediaPlayer的状态voidseekTo(int msec)定位到音视频的指定位置,可用于实现快进快退voidsetDataSource(String path)设置视频源setDataSource(Context context,Uri uri)设置视频源setDisplay(SurfaceHolder sh)用于显示播放画面setOnCompletionListener(MediaPlayer.OnCompletionListener list

    11、ener)设置视频播放完成之后的监听事件setOnErrorListener(MediaPlayer.OnErrorListener listener)设置播放出现错误时的监听事件setOnPreparedListener(MediaPlayer.OnPreparedListener listener)设置MediaPlayer准备好时的监听事件setOnSeekCompleteListener(MediaPlayer.OnSeekCompleteListener listener)设置定位完成时的监听事件void start()开始播放void stop()停止播放 MediaPlayer+

    12、SurfaceView播放视频 播放的视频必须显示在View上,而且视频的画面一直在改变,所以View需要一直重绘。对于这种需要不断更新View内容的场景,Android提供了SurfaceView类,SurfaceView关联了一个SurfaceHolder对象,专门用于绘制SurfaceView的内容。8.3 8.3 多媒体应用开发多媒体应用开发第8章 高级编程Android开发基础知识入门开发基础知识入门 线程的引入 线程在程序开发中是一个很重要的概念,在Android中,线程分为主线程和子线程。主线程又叫做UI线程,主要处理和界面有关的事情,用于界面的绘制和交互。对于用户来说,随时都有

    13、可能操作页面,而且对响应速度要求较高,因此,主线程中不能做太耗时的操作,否则给用户视觉上会造成卡顿的现象,甚至有可能会因为执行阻塞产生ANR(Application Not Responding)而导致应用异退。8.4 8.4 线程开发线程开发第8章 高级编程Android开发基础知识入门开发基础知识入门 AsyncTask使用 AsyncTask是一个执行异步操作的类,它在主线程中创建和触发,但是在子线程中执行后台任务,然后将执行的进度和最终结果传递给主线程并在主线程中更新UI。例如有一种很常见的操作,应用中如果需要在ImageView控件中显示一张网络图片,首先需要从网络上下载图片,然后再

    14、显示到控件上。8.4 8.4 线程开发线程开发第8章 高级编程Android开发基础知识入门开发基础知识入门方法名方法说明doInBackground()在后台执行任务onProgressUpdate()回调当前执行的进度onPostExecute()任务执行完成 ThreadPoolExecutor工作步骤构造方法:ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue workQueue,ThreadFactory threadFactory

    15、)(1)当调用了ThreadPoolExecutor的excute()方法要求执行一个任务时,线程池会判断当前的线程个数是否超过核心线程数,如果没有超过,则启动一个核心线程来执行任务。(2)如果当前的线程个数超过了核心线程的个数,则将任务放到线程队列中排队等候。(3)如果线程队列已满,则启动一个非核心线程来执行任务。(4)如果线程的总个数已经达到了线程池最大的线程个数,则拒绝接收任务。(5)如果线程池有线程处于空闲状态,则在指定keepAliveTime后回收线程,当线程个数等于核心线程数后,停止回收线程。8.4 8.4 线程开发线程开发第8章 高级编程Android开发基础知识入门开发基础知

    16、识入门 Fragment简介 为了更加动态和灵活的支持UI设计,Android在API 11版本之后引入了Fragment,它可以将UI碎片化,也可以被复用。Fragment必须显示在Activity中,可以动态的添加、移除、替换,但是每个Fragment也都具有自己的生命周期方法,并且可以各自处理用户的输入事件。8.5 Fragment8.5 Fragment第8章 高级编程Android开发基础知识入门开发基础知识入门 Fragment的创建 和Activity类似,创建自定义的Fragment需要继承自Fragment类,并实现父类的相关回调方法,其中比较常见的是onCreate()、o

    17、nCreateView()、onPause()方法。另外,Android通过FragmentManager类管理在Activity中的Fragment,具体的操作在FragmentTransaction中。首先可以通过getFragmentManager()方法获取FragmentManager对象,然后调用FragmentManager的benginTransatcion()开启一个事务执行具体的操作。8.5 Fragment8.5 Fragment第8章 高级编程Android开发基础知识入门开发基础知识入门 Fragment的生命周期 8.5 Fragment8.5 Fragment第8

    18、章 高级编程Android开发基础知识入门开发基础知识入门 RecyclerView简介 (1)RecyclerView用于显示大量的数据。(2)ReccyclerView可以动态的实现列表或网格布局,类似于ListView或GridView。(3)每个Item都可以显示不同的布局文件。(4)RecyclerView内部实现了View的复用,在用户上下滑动列表或网格时,RecyclerView并不会为每一个子项创建一个View,而是创建若干个View不断复用,更新其中显示的数据。8.6 RecyclerView8.6 RecyclerView第8章 高级编程Android开发基础知识入门开发基

    19、础知识入门 RecyclerView相关类(1)在RecyclerView视图中,每个子项都被表示为ViewHolder对象,开发者必须继承RecyclerView.ViewHolder类实现自定义的ViewHolder类。每个ViewHolder都可以有一个布局文件用于显示一个子项。(2)RecyclerView通过Adapter管理ViewHolder,开发者必须继承RecyclerView.Adapter类实现自定义的Adapter。(3)RecyclerView使用LayoutManager对其中的数据进行排列,开发者可以使用系统提供的LayoutManager,也可以自定义LayoutManager类实现自己想要的排列方式。系统提供的LayoutManager有三种:分别是LinearLayoutManager、GridLayoutMananger和StaggeredGridLayoutManager。8.6 RecyclerView8.6 RecyclerView第8章 高级编程Android开发基础知识入门开发基础知识入门 网络编程图形图像和动画多媒体应用开发线程开发Fragment的使用RecyclerView的使用总结总结第8章 高级编程Android开发基础知识入门开发基础知识入门

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Android移动开发基础教程-第8章-高级编程课件.pptx
    链接地址:https://www.163wenku.com/p-3228858.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库