自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Android Room数据库Like模糊查询

Android Room数据库Like模糊查询1、模糊查询2、Room中的模糊查询3、参考1、模糊查询模糊查询的一般用Like关键字://查询表user中的user_name 包含‘黄’字的user集合select * from user where user_name like '%黄%'2、Room中的模糊查询Room中用||代替+号示例: // ||相当于+号 @Transaction @Query("SELECT * FROM user WHERE user_name

2020-08-06 22:03:48 7

原创 Kotlin学习一、作用域函数let、with、run、apply、also

Kotlin学习一、作用域函数let、with、run、apply、also一、let函数二、with函数三、run函数四、apply函数五、also函数六、函数比较一、let函数上下⽂对象作为 lambda 表达式的参数( it )来访问。返回值是 lambda 表达式的结果。一般作用于非空的对象。let 可⽤于在调⽤链的结果上调⽤⼀个或多个函数。Boy对象:class Boy(var name: String, var age: Int, var address: String) {

2020-07-15 22:03:31 17

原创 Android集成腾讯X5浏览器内核库

Android集成腾讯X5浏览器内核库一、相关配置1. 相关地址2.引入SDK3. AndroidManifest配置二、Application中初始化内核三、代码实现1. 自定义带ProgressBar的WebView2. activity_main.xml3. MainActivity一、相关配置1. 相关地址https://x5.tencent.com/2.引入SDK在build.gradle中dependencies引入sdk api 'com.tencent.tbs.tbssdk:s

2020-07-11 11:04:46 146

原创 计算机网络之Http与Https

计算机网络之Http与Https一、Http介绍二、Http传输流程三、HTTP的状态四、Https一、Http介绍Http即超文本传送协议,是应用层上的协议。HTTP 是一个无状态的协议。无状态是指客户机(Web 浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP ...

2020-04-14 11:07:14 78

原创 计算机网络之TCP协议

计算机网络之TCP协议一、TCP特点二、TCP数据包说明三、TCP三次握手四、TCP四次挥手一、TCP特点TCP是面向连接的传输层协议。必须建立TCP连接。像打电话一样。每一条TCP连接只能有两个端点。一对一的通信方式。是可靠交付。传送的数据,无差错,不丢失,不重复,并且按序到达。全双工通信。任何一端都可以发送数据与接收数据。面向字节流。这里的流是指流入到进程或从进程流出的字节序列。...

2020-04-13 12:31:18 41

原创 计算机网络之网络架构

计算机网络之网络架构网络架构TCP/IP原理网络架构网络七层架构物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流。这一层的数据叫做比特。数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。网络层: 主要将从下层接收...

2020-04-13 12:02:45 117

原创 Java泛型

Java泛型1.概念2.泛型方法3.泛型类4.类型通配符?5.类型擦除1.概念泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,我们就可以使用 Java 泛型。2.泛型方法你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用...

2020-04-12 10:00:59 42

原创 Java注解(Annotation)机制

Java注解Annotation概念定义一个注解4种标准的元注解注解处理(解析)概念Annotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据(metadata)的途径和方法。Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotation对象,然后通过该 Annotation 对象来获取注解中的元数据信息。定义一个注解impor...

2020-04-11 15:10:10 53

原创 Java反射(Reflect)机制详解

Java反射机制详解1.反射机制概念2.应用场景3.反射相关的API4.反射使用的步骤5.获取Class的有三种方法6.创建对象的两种方法1.反射机制概念反射机制是指在运行状态中,对于任意一个类都能知道这个类的所有属性和方法,并且对于 任意一个对象,都能调用它的任意一个方法。这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。2.应用场景如果编译时根本无法预知该对象和类属...

2020-04-11 14:29:03 36

原创 Java四种内部类

Java四种内部类静态内部类成员内部类局部内部类匿名内部类静态内部类定义在内部的静态类,有static关键字,就是静态内部类。public class Outter { private static int a; private String b; public static class Inner{ public void println(){ ...

2020-04-11 11:38:43 24

原创 JAVA中的四种引用类型

Java中的四种引用类型强引用(StrongReference)软引用(SoftReference)弱引用(WeakReference)虚引用(PhantomReference)强引用(StrongReference)在java中最常见的就是强引用,把一个对象赋值给一个引用变量,这个引用变量就是强引用。当一个对象被强引用时,处于可达状态,它是不可能被回收的,即使出现 OOM,也永远不会被回收。...

2020-04-11 11:06:49 20

原创 FFmpeg命令(五)、视频去掉水印

视频去掉水印去掉视频的水印相关的语法去掉视频的水印比如去掉某音下载的视频的水印,下载的视频是720*1280,前4秒水印在视频的左上角,右后在视频的右下角这时输入两次命令,首先去掉左上角的水印 ffmpeg -i down.mp4 -filter_complex "delogo=x=10:y=10:w=250:h=100:show=0" delogo.mp4再去掉右下角的水印 ffm...

2019-04-10 14:23:06 4125 1

原创 FFmpeg命令(四)、 图片转视频

FFmpeg图片转视频将多张图片转成视频指定编码格式指定输出帧率指定码率将多张图片转成视频首先将视频转成图片集ffmpeg -i test.mp4 -r 30 image-%3d.jpg得到多张图片,将图片转成视频ffmpeg -f image2 -i ./image-%3d.jpg out.mp4image2图片/image-%3d.jpg命名格式为image-001的图片...

2019-04-09 16:56:43 686

原创 FFmpeg命令(三)、 从视频中提取图片

FFmpeg 从视频中提取图片ffmpeg -i test.mp4 -r 30 image-%3d.jpgffmpeg -i test.mp4 -r 30 -t 4 image-%3d.jpgffmpeg -i test.mp4 -r 30 -ss 00:00:20 image-%3d.jpgffmpeg -i test.mp4 -r 30 -ss 00:00:20 -vframes 10 ima...

2019-04-09 16:40:02 2883

原创 FFmpeg命令(二)、 从视频中提取音频

ffmpeg命令 从视频中提取音频提取为mp3提取为wav提取为mp3ffmpeg -i huoying.mp4 -f mp3 -ar 16000 huoying.mp3//huoying.mp4 视频文件//-f mp3 mp3编码//-ar 16000 音频采样率//huoying.mp3输出的音频文件提取为wavffmpeg -i huoying.mp4 -f wav -a...

2019-04-09 16:07:53 2861

原创 FFmpeg命令(一)、使用filter_complex命令拼接视频

FFmpeg使用filter_complex命令合并多个视频filter_complex合并两个视频三个视频合并四个视频2x2方式排列filter_complexfilter_complex合并多个视频,各个视频同时播放,效果如某音的同屏。合并两个视频1.横向合并ffmpeg -i out1.mp4 -i out2.mp4 -filter_complex "[0:v]pad=iw*2:i...

2019-03-22 15:38:31 3434

原创 Android FFmpeg(一)、Windows编译So

Windows环境编译FFmpegWindows环境编译FFmpegMinGW下载NDK下载FFmpeg下载开始编译编译成一个ffmpeg.soWindows环境编译FFmpegWindows10下编译FFmpeg。MinGW下载MinGW下载地址,我这里安装D盘。并添加到系统环境变量中打开MinGW\bin\mingw-get.exe。打开后,点击Basic Setup下载下图的插件...

2019-03-21 22:51:43 389

原创 AndroidStudio使用Cmake编译so

AndroidStudio使用Cmake编译soAndoridStudio 使用Cmake编译soCmake下载新建项目编译项目AndoridStudio 使用Cmake编译so以前编译so比较麻烦,这里使用Android Studio编译so,Studio版本2.3以上,我使用的是3.2版本。Cmake下载打开Android Studio,File->Setting,选择Appea...

2019-03-20 21:06:58 540

原创 Android Arcgis(16)、网络图层加载二

在上一讲,Android Arcgis(15)、网络图层加载一,简单介绍了加载网络服务。下面我们继续学习加载网络图层。一、ArcGISDynamicMapServiceLayer服务地址: http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer,

2017-08-30 22:52:11 925

原创 Android Arcgis(15)、网络图层加载一

一、首先我们来看一个网络图层:http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer,这是全球街道图。加载的代码也很简单: private static final String WORLD_STREETS_URL = "http://services.arcgisonline.com/ArcG

2017-08-30 22:17:22 783

原创 Android Toolbar使用

Toolbar是support:design包下的,顾名思义是工具栏。与以前的ActionBar的作用相似,功能却更加强大。一、Toolbar的简单接入1.添加依赖 compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:24.1.1' compile

2017-08-26 17:23:16 304

原创 Android 常用sql笔记之视图创建

视图是由一张表或者多张表联合生成的view,此view具有查询功能select,但不支持update,delete,insert操作,view的字段数据全部来源于主表,数据会随着主表数据的改变而改变。相当于观察表,具有查询速度快等特点!下面我们来创建视图。一、创建一个Person_Info视图两张主表,Person与Hobby表 1.Person表 2.Hobby表 创建视图Person_In

2017-08-11 21:36:07 523

原创 Android 常用sql语句之联表查询

在前面两讲中 Android 常用sql语句笔记(一) Android 常用sql语句笔记(二) 学习了一些基本的sql语句,下面讲一讲Sqllite中的联表查询。 联表查询顾名思义就是联合多张表一起查询。Sqllite支持的联表操作如下:join (同inner join)内联:on条件必须满足时才返回条件left join 左联,外联表的一种,左联接的结果集包括 左表的所有行,当有条

2017-08-11 21:10:39 791

原创 Android 常用sql语句笔记(二)

在上一讲中 Android 常用sql语句笔记(一),做了一些常用的sql语句笔记。下面我们继续。一、插入数据新建一张表Person表CREATE TABLE Person(id INTEGER primary key autoincrement,name text,age int , province VARCHAR(60))根据字段插入,前后字段与后面values对应,字段数与values个数

2017-08-05 21:59:07 356

原创 Android 常用sql语句笔记(一)

Android 中的sql语句记住比较麻烦,这里做一个笔记方便自己查阅。一、表操作1.查询数据库下的所有表信息select * from sqlite_master where type='table' order by name例:查询数据表名为Person的信息select * from sqlite_master where type='table' and name = 'Person'

2017-08-05 14:10:48 3126

原创 Android 官方下拉刷新SwipeRefreshLayout使用

网上的下拉刷新控件有很多,比如常用的PullToRefresh、XListView等,这篇文章我们来学习Android 官方的下拉刷新SwipeRefreshLayout。SwipeRefreshLayout是v4包中的,注意要把Support library的版本升级到19.1以上。下面我们来看下怎样实现。一、布局<?xml version="1.0" encoding="utf-8"?><Re

2017-08-03 23:25:16 539

原创 Android Arcgis(14)、FeatureLayer之范围查询

今天无意中看到李文星的相关新闻,很是震惊。希望各位小伙伴在找工作的时候,多留个心眼。远离传销!在 Android Arcgis入门(五)、FeatureLayer加载本地shp文件与要素查询,这篇文章中,我们知道如何去查找要素。现在有一个需求,查找某点5000米范围的要素,那如何来做呢?首先我们需要在地图上画个5000米半径的圆,然后根据QueryParameters来查询相关要素。具体如下:一、

2017-08-03 22:42:39 1613

原创 Android Fiddler抓包

利用Fiddler可以简单实现抓取Android中的app数据包。一、下载Fiddler官网下载地址, (下载速度太慢)也可以百度搜索直接下载 二、安装与配置1、安装好后,选择菜单Tools–>Options..–>Conntections勾选 Allow remote computers to connect并确定2.Tools–>Options..–>HTTPS 配置完成后重启Fiddl

2017-07-27 23:59:15 395

原创 Android 利用TabLayout快速打造滑动Tab页面

在项目中我们经常用到Viewpage与Fragemt来实现页面,可以使用三方开源的PagerSlidingTabStrip去实现,或者viewpagerindicator。当然也可以用TabLayout实现,TabLayout的实现快速简单。一、build.gradle添加依赖,TabLayout是com.android.support:design包中的dependencies { com

2017-07-23 23:35:19 733

原创 Android BaseAdapter与BaseExpandableListAdapter封装

在用ListView与ExpandableListView时,我们要用到BaseAdapter与BaseExpandableListAdapter来填充View。但继承这两个类,方法比较多。进行一下封装。一、BaseAdapter的封装1.ViewHolder类代码:import android.content.Context;import android.util.SparseArray;im

2017-07-21 21:52:04 528

原创 Android Arcgis(13)、Gdal简单写个shp文件

Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译。其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的。这里已经有人编译了Android端的so ,下载地址。也可以自己尝试编译相关so。新建项目,将下载的so 与相关资源导入,相关目录结构如下: 注意gdal的相关包名不要修改,避免so读取不到相应的类。

2017-07-21 21:26:27 2776 11

原创 Android Sqlcipher解密数据库思路

在上一讲中 Android 使用Sqlcipher给Sqlite加密,我们学习了如何给数据库加密,但有时候我们想看加密数据库中的内容是否有错误,该如何解密呢。Sqlcipher的jar包没有这个方法,而Sqlcipher官网是有相应的工具,但是是收费的,没有交费只能查看部分数据。那如何解密已加密的数据库,获取里面的全部数据信息呢?一、以前做过一个Demo,是输入数据库路径与密码,输入sql语句,直接

2017-07-16 22:03:34 1565

原创 Android 使用Sqlcipher给Sqlite加密

Android 系统的Sqlite数据库是一个轻量级且没有加密功能的数据库,但有时候我们的数据库保存了一些重要的信息,不想让别人知道,就需要对数据库加密。但大多数的加密都需要收费的,而Sqlcipher是免费的。下面我们用sqlcipher来加密数据库。一、配置工程注意assets下的文件 二、加载so我们在Application加载so,别忘记将Application配置到Manifest文件中

2017-07-13 00:25:34 1949

原创 Android MD5加密

MD5算法具有以下特点:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容易计算:从原数据计算出MD5值很容易。3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。代码实现:private static String MD5(String s) throw

2017-07-12 23:09:07 414

原创 Android Arcgis入门(12)、加载天地图

在项目中可以经常需要动态加载一些图层,像投影地图服务、投影地图服务器。其实网上有大量这样的服务,比如天地图官网,。随便点开一个服务,里面有相关的信息。那如何加载这样图层服务呢。一、首先感谢这篇博文ArcGIS读取天地图出现错位的情况,这篇文章的下载链接也有许多有用的资料。加载天地图用到一个关键的自定义类TianDiTuLayerpackage com.huang.tianditu.layer;imp

2017-07-09 00:24:22 6056 4

原创 Retrofit(三)、使用Retrofit上传文件并带进度

在上一讲中 Retrofit(二)、使用Retrofit+OkHttp下载文件并带进度条 中,我们知道如何用Retrofit去下载文件并返回进度。细心的你会发现,其实Retrofit接口enqueue方法,最终也是调用了OkHttp的enqueue方法。这一讲,我们来实现通过Retrofit实现多文件上传并时时监听进度!一、服务器端在服务器端新增一个PostFileServlet的Servlet来接

2017-07-03 21:48:32 2957

原创 Retrofit(二)、使用Retrofit+OkHttp下载文件并带进度条

不要在最需要奋斗的年纪选择了安逸!在上一讲中Retrofit(一)、Retrofit+OkHttp实现简单的Get与Post请求 中实现了用Retrofit实现简单的Get与post请求。下面我们用Retrofit实现文件下载与上传并带进度!可以参考这两篇博文: OkHttp下载文件并带进度条 OkHttp上传文件到服务器并带进度 一、文件的下载1.写下载接口 public interfac

2017-07-03 21:31:57 7606

原创 Retrofit(一)、Retrofit+OkHttp实现简单的Get与Post请求

仰望天空,脚踏实地!在上面两讲中学习了OkHttp的使用,OkHttp还是很强大的。OkHttp下载文件并带进度条 OkHttp上传文件到服务器并带进度 而本人更喜欢Retrofit+OkHttp结合来实现网络请求,Retrofit使用注解,更加清晰与明了。下面用Retrofit实现简单的Get与Post请求。一、服务器端新建OkHttpServer服务器项目,Tomcat服务器具体配置可以参考搭

2017-07-03 20:48:00 981

原创 OkHttp上传文件到服务器并带进度

你技术不行,不是因为你不聪明,而是因为最太懒!在上一讲中 OkHttp下载文件并带进度条 中,我们知道怎样去下载文件了。那上传文件呢一、编写服务器端在上一讲服务器下新建UploadFileServlet,代码如下:然后重启服务器!@WebServlet("/UploadFileServlet")@MultipartConfigpublic class UploadFileServlet ext

2017-07-02 22:11:08 7357 3

原创 OkHttp下载文件并带进度条

做这一行,不能太懒,不然就被淘汰!OkHttp是比较火的网络框架,它支持同步与异步请求,支持缓存,可以拦截,更方便下载大文件与上传文件的操作。下面我们用OkHttp来下载文件并带进度条!相关资料: 官网地址:http://square.github.io/okhttp/github源码地址:https://github.com/square/okhttp一、服务器端简单搭建可以参考搭建本地Tom

2017-07-02 21:23:03 8112 2

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