-
网络数据传输协议
一、TCP协议TCP协议是面向连接、可靠的数据传输协议数据从应用层发下来,会在每一层加上头部信息进行封装,然后发送数据接收端,所有数据的发送和接收其实是数据的封装和解封装的过程。由于TCP是可靠的传输,无论哪一方向另一方发送数据之前,都必须在双方之间建立一个三次握手的协议,断开连接就必须建立四次挥手的协议。 1.1 TCP的三次握手协议在Tcp/Ip协议中,TCP提供可靠的连接服务,连接是通过三次 …
-
Android Handler消息处理机制
我们知道activity的异常响应事件为5秒,也就是说.超过该时间就会报ANR(Application Not Response)异常,所以耗时操作就不能在主线程中进行,需要放入到子线程中。而当异步处理成功后需要更新视图,但子线程中不能更新UI,所以这个时候就需要借助handler来处理。即handler在新线程中发送消息,在主线程中接收并处理消息。123456789101112131415161 …
-
使用CoordinatorLayout打造酷炫效果
#CoordinateLayout打造酷炫效果 一、CoordinatorLayout简介CoordinatorLayout是Android5.0之后推出的一个功能,它与AppBarLayout结合可以打造非常酷炫的效果.一般将CoordinatorLayout布局分为两部分,上半部分是AppBarLayout包裹的内容,实现该布局上滑隐藏,下滑显示的效果;下半部分是可滑动的布局,一般设置为Rec …
-
详解Android Activity生命周期
  Activity作为Android四大组件之首,在程序开发过程中扮演着非常重要的角色,是用户与程序之间进行交互的窗口.理解Activity的生命周期,有助于在开发过程中更好的进行控制逻辑处理.  在Activity生命周期中,系统按照类似于金字塔一样的顺序去调用各个生命周期.当系统创建新的Activity实例时,每个回调方法将Activity状态向前移动 …
-
Android 自定义View
前言   首先我们先了解一下,什么叫view?Android官方文档对View的解释是这样的:表示用户界面组件的基本构建块,视图占据屏幕上的矩形区域,负责绘图和事件处理。以上可以看出view是程序与用户之间进行交互的桥梁。view的形状,大小,表现形式多种多样,所有就会发现Android系统能提供给我们的有时候并不能满足我们的需求,所以就会需要程序员去自定义view。&emsp …
-
如何在ubuntu搭建Android开发环境
要进行程序的开发前提是:搭建开发环境下面我就介绍一下如何搭建Android开发环境. 一 安装jdkAndroid开发使用的语言是java,既然要使用java这就要牵扯到jdk了.步骤:1.1 下载jdk.官网地址:http://www.oracle.com/technetwork/java/javase/downloads1.2 解压安装.  (1)进入home目录下,终端输 …
-
如何高效的显示Bitmap
前言了解如何使用常用技术来处理和加载Bitmap,使我们的UI组件保持响应并避免超出应用程序内存限制。如果不小心,Bitmap可以快速消耗你的可用内存预算,导致应用程序崩溃,出现OOM.为什么在Android应用程序中加载Bitmap是件很棘手的事情?   ①移动设备资源受限.Android设备可以为当个应用程序提供少至16MB的内存,所有应当优化应用程序以在最小的内存限制下都 …
-
初识OpenGL ES2.0
概述要在Android应用中使用OpenGL ES绘制图形就必须为它们创建一个视图容器,使用该容器这边就需要引入GLSurfaceView和GLSurfaceView.Renderer.GLSurfaceView是使用OpenGL和GLSurfaceView.Renderer绘制的图形的视图容器,用于控制在该视图中绘制内容.下面就介绍如何使用GLSurfaceView和GLSurfceView.R …
-
浅谈Android MediaPlayer
前言MediaPlayer是Android中多媒体框架中一个重要的组件,我们通过它可以控制在线或者本地音视频的播放过程. MeidaPlayer具体方法介绍1.void setDataSource(String url)通过一个具体的路径来设置MediaPlayer的数据源,url可以是本地的一个路径,也可以是一个网络路径. 2.void setDataSource(Context conte …