自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ChineseBoy_LY的博客

代码写得无法无天

  • 博客(38)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android 获取图片的亮度

方案一:总体思路:Bitmap可以返回某个点的RGB值bitmap.getPixel),对当前区域取一些特定点获取其RGB值,bitmap.getPixel返回的是ARGB值,通过移位操作获取到R、G、B的值,使用亮度=0.229×R + 0.587G + 0.114B进行亮度值计算,将所有点的亮度值相加后取一个平均值,如果这个值比128大,则这个图片较亮,如果这个值比128小,则这个图比较暗...

2018-06-13 09:46:00 2866

原创 Android 系统Api YuvImage.compressToJpeg 存在native级别的内存泄漏

写这篇文章前先调侃下Google的Android工程师们吧,作为一个普通的程序员,怎么都不敢去怀疑他们吧。直到现在我找到了标题中的问题,并且找到了解决方案,我依然认为这不是失误,应该是他们别有用意把! 在给Google提交了issue和解决方案,但是 一直没有人鸟我。我认为Android Framework的每一个API都应该是经过压测的,更别说是google这样一家有深度的公司,可惜并没有...

2018-05-25 10:14:58 14436 29

原创 使用Nexus搭建本地Maven仓库

1.安装Nexusa.zip包下载链接:https://www.sonatype.com/download-oss-sonatype下载这个包我是费了九牛二虎之力的,130多M的手机流量,坑!!!提供给大家一个最新包的百度网盘链接吧:链接:https://pan.baidu.com/s/1geDoUYn 密码:2gtnimage.png由于本人习惯于windows系统,读者...

2017-12-25 17:07:00 303

原创 Android Studio的.gitignore以及gitignore无效的解决

github上.gitignore模板合集,里面有各种.gitignore : https://github.com/github/gitignore自己用的Android Studio下项目的.gitignore文件,对github上的android.gitignore添加了.DS_Store# Gradle filesbuild/.gradle/*/build/capt...

2017-11-09 14:10:00 434

翻译 软件开发中的11个系统思维定律

软件开发中的11个系统思维定律

2022-11-03 08:49:50 177

原创 C++ PK Java 之 volatile

C++ PK Java 之 volatileJava 和C++中的关键字volatile到底有啥区别呢?昨天看了一篇异步社区的文章,linux之父又没有忍住,狠狠了抨击了C++,“世界上最烂的语言!”、“要学就学C,再加一门带GC的语言就够了”。起因是rust要入驻linux内核,但是有网友说还不如上C++。看到上的的说辞我回想了一下自己一年多以来入手C++后的一些尴尬的事情,个人认为C++确实难学,博大精深。1-2年只能说了解,2-3年智能说熟悉,3-5年才能说精通吧。如果说C++是C的升级包装.

2021-05-07 09:28:50 481 1

原创 C++学习笔记9----friend fuction(友元函数)

现实生活中场景: 比如QQ空间的相册,我建立了一个私密相册,基本QQ好友都不可见,但是我的私密好友,比如家中女神“老婆”可以访问。如何做到这种越权访问呢?就需要用到友元了,让外部的函数也可以访问我私密类内部的成员。友元函数的作用: 就是让类外的函数,例如:全局函数,可以访问类内的私有成员变量。下面举个例子来实现友元函数:#include <iostream>class Pe...

2020-04-30 09:52:20 239

原创 C++学习笔记8----this指针

this指针工作原理:c++的数据和操作也是分开存储,并且每一个非内联成员函数(non-inline member function)只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码那么问题是:这一块代码是如何区分那个对象调用自己的呢?c++通过提供特殊的对象指针,this指针,解决上述问题。This指针指向被调用的成员函数所属的对象。总结C++中的this指针特性...

2020-04-29 17:59:38 177 1

原创 C++学习笔记7----static

静态变量存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和 static 变量,只不过和全局变量比起来,static 可以控制变量的可见范围,说到底 static 还是用来隐藏的。虽然这种用法不常见。PS:如果作为 static 局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数...

2020-04-20 17:08:25 240

原创 C++学习笔记6----typedef

应用场景1:偷懒//定义2个char类型指针typedef char* PCHAR;void test02(){ //PCHAR p1, p2; // 这种方式比较保险 char *p1, p2;// 这种方式是错误,一个是char* ,一个是char char* p1, *p2; // 这样就显得有限啰嗦 cout << typeid(p1).name() &lt...

2019-08-16 15:37:31 114

原创 Kotlin的爽歪歪之处<一>

Kotlin是啥我就几句话总结下:类似IOS的Swift,却比Swift成熟稳重,使用起来一样的爽。Kotlin可以被直接编译为java虚拟机执行字节码,跟JAVA100%互通。也可以被编译为js直接被浏览器执行,直接的native编程,跟C一个样,当然这个还不够成熟。前阵子官方好像还发出了声明说支持IOS。对于这样一门前端后端通杀的语言,我们现在不来学学...

2018-05-14 14:57:00 184

原创 走向灵活软件之路-面向对象的6大原则

单一职责原则1.代码优化的第一步2.两个完全不一样的功能不应该放在一个类中。一个类中应该是一组相关性很高的函数、数据的封装。3.如何划分一个类功能,每个人都有自己的看法,需根据个人经验、具体的业务逻辑而定。开闭原则1.软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。2.遵守开闭原则的重要手段应该是通过抽象接口3.Ima...

2018-01-25 11:01:00 122

原创 WRITE_SETTINGS 在6.x后权限申请问题

在android 6.0及以后,WRITE_SETTINGS权限的保护等级已经由原来的dangerous升级为signature,这意味着我们的APP需要用系统签名或者成为系统预装软件才能够申请此权限,并且还需要提示用户跳转到修改系统的设置界面去授予此权限也就是说,要想申请该权限,apk必须要打包,签名打包。要签名打包,最喜欢的debug模式是不能申请该权限。直接crash报错如下:...

2017-12-20 15:10:00 1421

原创 Android SQLite 调试新法

1.stetho,使用请移步官方教程,第一次要显示必须fanfan,坑爹货,不是今天重点2.android database debug:局域网内使用,公网连接不上,也是啃爹货》》》============ 今日重点 · SQLiteStdio ===========《《《一看名字stdio,就感觉舒服,错不了,就它了,好用到不得了!!!1.下载地址:https://sqlites...

2017-08-24 16:34:00 471 4

原创 Bitmap.recycle引发的血案

在Android中,Bitmap的存储分为两部分,一部分是Bitmap的数据,一部分是Bitmap的引用。在Android2.3时代,Bitmap的引用是放在堆中的,而Bitmap的数据部分是放在栈中的,需要用户调用recycle方法手动进行内存回收,而在Android2.3之后,整个Bitmap,包括数据和引用,都放在了堆中,这样,整个Bitmap的回收就全部交给GC了,这个recycle方法...

2017-07-20 17:39:00 160

原创 Android ProtoBuf

1.apply plugin: 'com.google.protobuf'buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.1' }}an...

2017-07-07 18:09:00 170

原创 zero ICE androidstdio 上面的集成操作

apply plugin: 'slice'slice { java {// srcDir = '.' output = file('src/main/java') //这里最好是写,不然到默认的输出目录,就是build下面去了,src下面引用不到 }}buildscript { repositories { mave...

2017-07-06 19:44:00 238

原创 C++学习笔记5----结构体

struct Person{ char name[22]; bool sex; int age; double score;};typedef struct{ char title[50]; char author[50]; char subject[100]; int book_id;}Books;void...

2017-06-22 18:33:00 211

原创 C++学习笔记4----变量/数组/字符串/集合

1.数组,Array 直接初始化 char 数组是特殊的,这种初始化要记得字符是以一个 null 结尾的。char a1[] = {'C', '+', '+'}; // 初始化,没有 nullchar a2[] = {'C', '+', '+', '\0'}; // 初始化,明确有 nullchar a3[] = "C++";...

2017-06-22 18:04:00 153

原创 C++学习笔记3----时间与时间戳

C++学习笔记3----时间与时间戳

2017-06-22 17:08:00 373

原创 C++学习笔记2-----C++ 引用 vs 指针

引用很容易与指针混淆,它们之间有三个主要的不同:1.不存在空引用。引用必须连接到一块合法的内存。2.一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。3.引用必须在创建时被初始化。指针可以在任何时间被初始化。注意:引用传递可以改变值,通过引用或地址传递参数,使传递的参数在调用函数中被改变。void swap(int* a, int* b){...

2017-06-22 16:32:00 115

原创 C++学习笔记1----extern关键字详解

1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,...

2017-06-22 14:40:00 117

原创 Android视频处理技术

1.录制rtsp视频ffmpeg -i rtsp://admin:[email protected]:554/ -vcodec copy out.avi2.android给视频加水印的A:ffmpeg -i E:\out.avi -i E:\bbb.png -filter_complex "overlay=5:5" E:\out2.mp4显示在视频的左上角overlay参数为...

2017-06-22 10:10:00 324

原创 SpringBoot +JPA里面的坑

1.先看代码:spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/db_user username: root password: root jpa: hibernate:...

2017-06-12 10:42:00 461

原创 ubuntu 下编译FFmpeg以及Android开发环境的搭建

一,开发环境的搭建1.安装ubuntu系统,我这里演示的是ubuntu_16.04_LTS。注意:[ubuntu14.04交叉编译ffmpeg出现unable to create an executable file. C compiler test failed.]解决:我64位ubuntu是新装的,都还没安装32位的兼容库,于是:sudo apt-get install ia32...

2017-05-23 18:14:00 393

原创 优秀开源View网址集合

AndroidEventBus : https://github.com/bboyfeiyu图表库 : https://github.com/xcltapestry/XCL-Charts摄像头相关:http://www.xuebuyuan.com/zt/36778934.htmlC(NDK):http://www.fishc.com/dvd/dvd....

2017-05-21 09:25:00 262

原创 不要问我为什么,只能这么干

Iterator&lt;UserInfo&gt; item = UserManage.getInstance().getRegistUserInfos().iterator(); while(item.hasNext()){ UserInfo userInfo = item.next(); ...

2017-05-12 10:52:00 515

原创 Android 拍照及相册选图的那些坑

原因:android手机厂商太多,ROM定制化太严重,给我们码农带了诸多不便。Android的拍照功能的实现:1.调用系统的相机:步骤1: public void openCamera(View view) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);...

2017-03-23 17:56:00 254

原创 Socket传输网络字节序和本地字节序(干货)

在我们进行Socket自定义协议网络字节传输的时候,我们不能直接使用从网络传输过来的字节数组进行解析,我们首先需要做一次转换。直接上代码,一个ByteConvert,byte[] , 基本数据类型,String之间的转换:import java.nio.ByteBuffer;public class ByteConvert { public...

2017-02-16 10:03:00 1855

原创 如何中Android中使用lambda

java8中出了个lambda,使得代码看起来简洁了很多,这么好的东东必须用起来啊,可惜我是做android开发的。大家都知道,java更新太快了,android兼容更不上其节奏啊,痛苦。。。我们先来看一段java跟android的血泪史吧:在 2006 年,Java 6 发布了。几年之后,Android 1 的 Alpha 版本发布了,四年后,Jav...

2017-02-15 09:42:00 165 2

原创 Socket 网络通信TIPS

1.可以传输一个Object ,不过肯定要序列化,所以实现java.io.Serializable接口就是必不可少的。is = new ObjectInputStream(new BufferedInputStream(socket.getInputStream())); os = new ObjectOutputStream(socket.getOut...

2017-02-08 10:21:00 95

原创 java8 StreamApi 结束操作篇

注意:流进行了终止操作后,不能再次使用1.查找与匹配allMatch——检查是否匹配所有元素anyMatch——检查是否至少匹配一个元素noneMatch——检查是否没有匹配的元素findFirst——返回第一个元素findAny——返回当前流中的任意元素count——返回流中元素的总个数max——返回流中最大值min——返回流中最小值...

2017-02-04 17:25:00 664

原创 java8 StreamApi 中间操作篇

就如同流水线一样,多个中间操作形成一道流水线,但是只有执行了终止操作,中间的一系列操作才会一次性执行完,最终得出结果,这个过程可以称为“惰性求值”。相关API介绍:1. 筛选与切片filter——接收 Lambda , 从流中排除某些元素。limit——截断流,使其元素不超过给定数量。skip(n) —— 跳过元素,返回一个扔掉了前 n 个元素...

2017-02-04 09:37:00 362

原创 java8 StreamApi 创建篇

Stream:用于操作数据源(集合,数组等)的元素序列。注意:1.Stream 自己不会存储元素。1.Stream 不会改变源对象。1.Stream 的操作都是延迟操作。即不调用终止操作(foreach等),中间不会执行。Paste_Image.png没有别的,直接撸代码: List&lt;Person&gt; pList ...

2017-02-03 18:05:00 96

原创 java8 Lambda之国产001

Lambda简单点说就是对函数型接口的实现的简单封装,是匿名函数,是一段可以传递的代码。原来使用匿名内部类进行传递,现在使用lambda表达式进行传递函数式接口:用注解@FunctionalInterface修饰的接口,说白了就是一个接口里面只有一个抽象方法。java8内置四大核心函数式接口:Consumer,Supplier,Function,P...

2017-02-03 17:30:00 370 1

原创 JAVA进制转换

// Integer.toBinaryString(int i)//返回的是i的二进制表示,返回类型为String// Integer.toString(int i,int radix)//返回的是i的二进制表示,返回类型为String,但是负数不适用。// Integer.toHexString(int i)//返回16...

2016-10-19 15:27:00 110

原创 JNI编写步骤总结

1·创建一个android工程,配置NDK编译环境,path路径等,声明本地方法:例如public native String sayHello();2·添加本地方法支持.右键工程。AndroidTools3·使用javah生成.h头文件,并把生成的.h文件copy到jni目录下面javah -jni 本地方法所在的全类名(-jni可以省略)(...

2016-05-09 10:48:00 176

原创 JNI编写时候的LOG打印

1·在Android.mk文件下增加以下内容LOCAL_LDLIBS += -llog  或者LOCAL_LDLIBS := -llog -lz2·C代码中增加以下内容#include#define  LOG_TAG    "TAG"#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_T...

2016-05-09 10:43:00 166

Ice-3.4.0开发手册中文版 ChineseBoy.zip

Ice-3.4.0开发手册中文版 , 解压密码就是文件后面的英文名字

2019-07-11

NDK开发神器

NDK开发手册,各个函数的使用详细说明已经实例,关键是chm的,查看非常方便

2017-10-15

OpenCV 墨大神手笔

OpenCV 墨大神手笔,非常适合初学者,包含N多个函数的详解

2017-07-21

微信分享溜溜

这是一个很不错的android微信分享的代码哦,里面有非常详细的资料

2015-07-30

android面试

这是一个很不错的android面试题集合的文档哦,里面有非常详细的资料,各大公司的面试题都在里面

2015-07-30

空空如也

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

TA关注的人

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