自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Gradle for Android——Build.gradle入门

理解基本的Gradle 当我们创建一个新的工程,Android Studio会默认为我们创建三个gradle文件,两个build.gradle,一个settings.gradle。setting.gradle解析 当你的app只有一个模块的时候,你的setting.gradle将会是这样子的:include ':app'setting.gradle文件将会在初始化时期执行,定义了哪...

2018-09-15 14:43:50 235

原创 抽象类和接口

抽象类抽象类只能作为父类,提供给子类继承并且不能被实例化。只要包含抽象方法的类都是抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。接口接口中可以含有变量和方法。但是接口中的变量会被隐式指定为public stati...

2018-09-28 20:42:01 233

原创 Context

Android应用程序会在如下的几个时间点创建上下文Context创建Application创建Activity创建Service当应用程序第一次启动时,Android系统都会创建一个Application,同时创建Application Context,所有的组件都共同拥有这样一个Context对象,这个应用上下文对象贯穿整个应用进程的生命周期,为应用全局提供了功能和环境指出。...

2018-09-28 10:43:15 99

原创 android实时视频网络传输方法

以320×240大小的视频传输为例|方案 |压缩率| 压缩/传输方式|实时性|平均流量消耗|传输距离| 方案 压缩率 压缩/传输方式 实时性 平均流量消耗 传输距离 用camera的回调函数发送原始的yuv420数据 0 无压缩,按帧传输 高(20~30fps) 很高(6...

2018-09-19 19:29:37 2764

原创 Android平台架构

2018-09-19 16:26:34 117

原创 Socket

Socket最常用的构建方法:public Socket(String host,int port);host是连接所需服务器的名称或者ip地址,port是端口号最常用的两个方法:1.public OutputStream getOutputStream()返回一个输出流,进行数据的传递;可以把返回的输出流进行再包装,传送数据更加方便2.public InputStream getI...

2018-09-19 15:42:00 162

原创 Java知识点三

一、Java异常处理基础1、程序中没有处理异常代码时,Java 的默认异常处理机制会做下面的操作:(1)、抛出异常。(2)、停止程序运行。2、异常处理是由 try、catch 与 finally 三个关键字所组成的程序块。3、try 程序块中若有异常发生时,程序的运行便会中断,抛出“由系统类所产生的对象”,并依下列的步骤来运行:(1)、抛出的对象如果属于 catch()括号内所要捕捉的...

2018-09-18 21:20:23 237

原创 Java知识点二

一、认识Java1、Java 程序比较特殊,它必须先经过编译,然后再利用解释的方式来运行。2、Byte-codes 最大的好处是——可越平台运行,可让“一次编写,处处运行”成为可能。3、使用 classpath 可以指定 class 的运行路径。二、走进Java1、Java 语言的注释方式有三种:(1)“//”记号开始,至该行结束;(2)“/”与“/”这两个符号之间的文字;(3)文...

2018-09-18 21:17:14 178

原创 Java知识点一

一、Java面向对象程序设计-类的基本形式1、“类”是把事物的数据与相关的功能封装在一起,形成的一种特殊结构,用以表达对真实世界的一种抽象概念。2、Java 把数据成员称为 field(属性),把方法成员称为 method(方法)。3、由类所创建的对象称为 instance,译为“实例”。4、创建属于某类的对象,可通过下面两个步骤来达成:(1)、声明指向“由类所创建的对象”的变量。(2...

2018-09-18 21:08:49 350 1

原创 ams,wms,sf,app(有机会看)

https://blog.csdn.net/jinzhuojun/article/details/37737439https://blog.csdn.net/itachi85/article/details/78186741

2018-09-18 20:28:37 1049

原创 SurfaceTexture

SurfaceTexture从android 3.0(API level 11)加入。和SurfaceView不同的时,它对图像流的处理并不直接显示,而是转为GL外部纹理,因此可用于图像流数据的二次处理(如Camera滤镜,桌面特效等)。比如Camera的预览数据,变成纹理后可以交给GLSurfaceView直接显示,也可以通过SurfaceTexture交给TextureView作为View h...

2018-09-18 18:38:47 1405

原创 Surface

Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surfae的Canvas上。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。Surface中的Canvas成员,是专门用于供程序员画图的场所,就像黑板一样;其中的原始缓冲区是用来保存数据的地方;Surface本身的作用类似于一个句柄,得到了这个句柄就可以得到其中的Canvas、原始...

2018-09-18 08:59:23 441

原创 TextureView与SurfaceView

应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView。SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种方式的效率非常高,因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口(android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者是局部的刷新都会导致整个视图结构全部重绘一次,因此效率非常低下) 因为Surfac...

2018-09-17 17:07:14 4163

原创 Android Studio详细使用方法

http://www.cnblogs.com/smyhvae/p/4390905.html

2018-09-15 16:54:52 3739

原创 Gradle for Android——构建变体

https://segmentfault.com/a/1190000004241503#articleHeader1当你在开发一个app,通常你会有几个版本。大多数情况是你需要一个开发版本,用来测试app和弄清它的质量,然后还需要一个生产版本。这些版本通常有不同的设置,例如不同的URL地址。更可能的是你可能需要一个免费版和收费版本。基于上述情况,你需要处理不同的版本:开发免费版,开发付费版本,...

2018-09-15 15:16:53 181

原创 Gradle for Android——依赖管理

依赖管理是Gradle最闪耀的地方,最好的情景是,仅仅只需添加一行代码在你的build文件,Gradle会自动从远程仓库为你下载相关的jar包,并且保证你能正确使用它们。当你在工程里添加了多个相同的依赖,gradle会为你排除掉相同的jar包。仓库 当我们讨论依赖的时候,我们通常说的是远程仓库,就像那些依赖库专门用来提供给其他开发者使用的依赖库。手动管理依赖将会为你带来很大麻烦。你必须定位到...

2018-09-15 12:15:44 161

原创 jar和aar的区别及使用方法

使用Android Studio对工程进行编译后,会同时生成jar与aar文件其位置分别位于: jar:/build/intermediates/bundles/debug(release)/classes.jar arr:/build/outputs/aar/libraryname.aar两者的区别: jar中只包含class文件与清单文件 aar中除了包含jar中class文件...

2018-09-14 20:26:52 3219

原创 Gradle依赖详解——不同依赖配置方式的区别

从Android Gradle plugin 3.0开始,对于依赖包的配置方式,引入了implementation和api,使用Android Studio新建项目时,原来用compile的地方全部默认被替换成了implementation。 依赖配置方式还有:provided、api、apk、compileOnly、runtimeOnly、渠道名+Compile,差异主要在于构建内容和参与构建...

2018-09-14 20:02:59 1842

原创 Gradle依赖详解——不同类型的library引入方案

1.本地Module library依赖: 通过这种方式依赖的弊端是每次都需要构建module,当module比较多时构建非常耗时,建议控制module的依赖数量,避免构建耗时//module需要在项目根目录下的settings.gradle中通过include引入implementation project(':librarydict')2.本地二进制library依赖:jar和aa...

2018-09-14 19:03:54 4993

原创 内部存储、外部存储

内部存储: 如果想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。应用创建于内部储存的文件,与这个应用是关联起来的。当一个应用卸载之后,内部存储中的这些文件也被删除。从技术上来讲如果你在创建内部存储文件的时候将文件属性设置成可读,其他app能够访问自己应用的数据,前提是他知道你这个应用的包名,如果一个文件的属性是私有(private...

2018-09-14 17:58:22 500

原创 Manifest.permission

VIBRATE 允许访问的振动器。 防护等级:正常 恒定值:”android.permission.VIBRATE”INTERNET 允许应用程序打开网络套接字 防护等级:正常 常量值:“android.permisson.INTERNET”ACCESS_WIFI_STATE 允许应用程序访问有关wifi网络的信息 防护等级:正常 恒定值:”android.permiss...

2018-09-14 13:36:04 617

原创 Android样式的开发:SHAPE篇

一般用shape定义的xml文件存放在drawable目录下,若项目没有该目录则新建一个,而不要将它放到drawable-hdpi等目录中。 使用shape可以自定义形状,可以定义下面四种类型的形状,通过android:shape属性指定: - rectangle:矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等 - oval:椭圆形,用得比较多的是画正圆 - line:线形,可...

2018-09-14 10:48:04 215

原创 Android样式的开发:SELECTOR篇

selector标签,可以添加一个或多个item子标签,而对应的状态是在item标签中定义的。定义的xml文件可以作为两种资源使用:drawable和color。作为drawable资源使用时,一般和shape一样放于drawable目录下,item必须指定android:drawable属性;作为color资源使用时,则放于color目录下,item必须指定android:color属性。可...

2018-09-13 22:14:17 202

原创 Throwable

Throwable:Java中所有异常和错误的父类。只有这个类的实例(或者子类的实例)可以被虚拟机抛出或者被java的throw关键字抛出。同样,只有其或其子类可以出现在catch子句里面。从Throwable直接派生出的异常类有Exception和Error。 Exception 和从它派生而来的所有异常都是应用程序能够catch到的,并且可以进行异常错误恢复处理的异常类型。 而Erro...

2018-09-13 09:51:51 700

原创 Java异常机制

Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finallytry语句: 用大括号{}指定了一段代码。该段代码可能会抛弃一个或多个例外。catch语句: catch语句的参数类似于方法的声明,包括一个例外类型和一个例外对象。例外类型必须为Throwable类的子类,它指明了catch语句所处理的例外类型,例外对象则由运行时系统在try所指定的...

2018-09-12 22:27:26 133

原创 throw和throws

throw与throws的比较:throw用于方法内部;throws用于方法声明上throw后跟异常对象;throws后跟异常类型throw后只能跟一个异常对象;throws后可以一次声明多种异常类型...

2018-09-12 21:53:55 198

原创 Error与Exception

Error和Exception的区别: - Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。如java.lang.StackOverFlowError和Java.lang.OutOfMemoryError。对于这类错误,Java编译器不去检查他们。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。 ...

2018-09-12 16:44:54 187 1

原创 线程池

在ThreadPool类中定义了一个LinkedList类型的workQueue成员变量,它表示工作队列,用了存放线程池要执行的任务,每个任务都是Runnable实例。ThreadPool类的客户程序(利用ThreadPool来执行任务的程序)只要调用ThreadPool类的execute (Runnable task)方法,就能向线程池提交任务。在ThreadPool类的execute()方法中...

2018-09-12 13:39:24 139

原创 多线程的服务器

许多实际应用要求服务器具有同时为多个客户提供服务的能力。用多个线程来同时为多个客户提供服务,这是提高服务器的并发性能的最常用的手段。主要有3种方式来实现: 1. 为每个客户分配一个工作线程 2. 创建一个线程池,由其中的工作线程来为客户服务 3. 利用java.util.concurrent包中现成的线程池,由它的工作线程来为客户服务。第一种方式需要频繁地创建和销毁线程,如果线程执...

2018-09-11 21:47:41 816

原创 FTP

FTP协议就使用了匿名端口。FTP协议用于在本地文件系统与远程文件系统之间传送文件。

2018-09-11 20:33:27 225

原创 ServerSocket的三个选项

ServerSocket有以下三个选项:SO_TIMEOUT:表示等待客户连接的超时时间SO_REUSEADDR:表示是否允许重用服务器所绑定的地址SO_RCVBUF:表示接收数据的缓冲区的大小一、SO_TIMEOUT选项 设置该选项:public void setSoTimeout(int timeout) throws SocketException 读取该选项:publi...

2018-09-11 19:57:13 529

原创 接受和关闭与客户的连接

ServerSocket的

2018-09-11 18:32:44 142

原创 如何使用markdowm

1. <fonmarkdowm>内容</font> 2. <font face=&a

2018-09-11 15:09:37 208

原创 ServerSocket

ServerSocket的构造方法有以下几种重载形式: - ServerSocket() - ServerSocket(int port) - ServerSocket(int port,int backlog) - ServerSocket(int port,int backlog,InetAddress bindAddr) 在以上构造方法中,参数port指定服务器要绑定的端...

2018-09-11 14:42:54 580

原创 java.net

套接字是在网络上建立机器之间的通信链接的方法。java.net包提供4种套接字:Socket是TCP客户端API,通常用于连接远程主机ServerSocket是TCP服务端API,通常接受源于客户端套接字的连接DatagramSocket是UDP端点API,用于发送和接受数据包MulticastSocket是DatagramSocket的子类,在处理多播组时使用...

2018-09-11 13:25:50 1114

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除