4 zhyulo

尚未进行身份认证

我要认证

啥都懂一点,啥都不精通

等级
TA的排名 6w+

Andriod踩坑日记---Paint.getTextWidths踩坑

使用Paint.getTextWidths时发现当小写'f'与小写'i'组成"fi"时,字符宽度输出错误。效果如下:显示代码如下:Bitmap bitmap = Bitmap.createBitmap(400, 300, Bitmap.Config.RGB_565);Canvas canvas = new Canvas(bitmap);Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);paint.setColor(0xFF000000);p.

2020-09-26 23:03:30

源码分享-增量更新BSPatch算法的Java版实现

BSDiff是一个增量更新算法,它在服务器端运行BSDiff算法产生patch包。在客户端运行BSPatch算法,将旧文件和patch包合成新文件。增量更新在很多大型应用中是比较常见的一种技术,通过文件对比的方式来生成差分包。bsdiff这个开源库连接:http://www.daemonology.net/bsdiff/遍历搜索引擎,只发现BSPatch算法实现只有C语言源码,使得在Android等Java语言环境中,只能通过NDK的方式运行,非常不方便。自己阅读了下BSPatch算法源码,发现

2020-07-14 23:35:30

源码分享-以队列方式运行任务

有些时候,需要用队列的方式,及先进先出,依次执行线程任务。大概场景如下: 1. 不是很急的任务(比如提前缓存),但不能在主进程中进行(比如网络传输); 2.需要有顺序的执行线程任务; 3.任务调用比较集中(某时刻突然增加大量任务,但大部分时间没有任务); 4.希望进程数更少的执行大量重复性任务; 5.。。。。。。 下面是我实现的队列线程基类,分享给大家。import java.util.LinkedList;import java.util...

2020-06-21 10:04:13

Andriod反编译-从iReader开始学习反编译

一、声明 本人反编译只用于学习交流,禁止使用本文章用于商业用途。其次,如果本文章侵害了您的权益,请及时联系我删除本文。二、准备 1. 该文章使用window10系统,使用其他系统可能会与本文章描述有所不同。 2.安装好的 Android Studio 软件一套,并确保软件编译工作正常。 3.java反编译工具 jadx与dex2jar,没有请网上自行下载...

2019-11-17 20:54:57

STM32F4开发-TFT屏驱动(支持横屏、竖屏选择)

一、总述 以下的程序都是基于https://blog.csdn.net/zhyulo/article/details/89816439 方法建立的工程。 代码已上传:https://download.csdn.net/download/zhyulo/11159855 。 基于STM32F4的StdPeriph固件库TFT屏驱动程序,其中TFT屏控制芯片为ILI934...

2019-05-20 16:07:43

STM32F4开发-新建工程

一、总述 之前买了一块STM32F407ZG的核心板,以及和它配套的TFT显示屏,学了很久了吧。最近同学让我教他STM32开发,于是就想写点东西总结一下。 我习惯用的开发环境是Keil,软件及开发环境的安装网上有很多例子,在这里就不再细说了。那么接下来,就是学习如何新建一个STM32工程。(为了减小开发负担,在这里使用了STM32F4的StdPeriph固件库)二、第一步—...

2019-05-04 20:30:24

用Arduino读取MLX90393三轴霍尔传感器

一、模块简介 Melexis MLX90393是一个三轴霍尔传感器,可以检测各个方向的磁场强度,MCU通过I2C或SPI读取X/Y/Z三轴磁场分量。 MLX90393的数据手册已上传:https://download.csdn.net/download/zhyulo/11125410 MLX90393的SPI与I2C通讯方式电路结构不一样,详细内容在数据手册24页。推...

2019-05-02 14:17:21

Live555在安卓端移植时无法打印信息的问题解决方案

一、简介 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常...

2019-04-11 14:12:45

pcDuino-脱离arduino IDE,用gcc编译arduino程序

一、pcDuino简介 pcDuino专门针对开源社区快速增长的需求,即希望有一个平台可以运行完整的PC操作系统,容易使用的工具链和兼容流行的Arduino开放的生态系统,如Arduino shield和开源项目等。 pcDuino的硬件性能指标远超树莓派,性能稳定,做工精良。pcDuino迷你计算机的CPU采用1GHz ARM Cortex A8内核,DRAM为1GB,板载存...

2019-04-01 15:28:01

pcDuino-软件更新update及upgarde、远程桌面程序安装

一、描述 pcDuino在执行软件更新的时候,尤其是在刷机后,经常会出现以下问题:以下为解决该问题的方法。二、安装编辑器 nano 个人在命令行喜欢使用 nano 编辑器,所以在操作前先安装 nano。sudo apt-get install nano三、更新软件update及upgarde 执行以下步骤,修改更新源。cd /etc/a...

2019-04-01 14:04:27

pcDuino-系统语言及时区时间设置

一、描述 pcDuino在刷机Ubuntu后,系统语言为英语,时间是2011年1月1日,时区也不对,需要重新配置。 pcDuino刷机Ubuntu教程,可参考 https://blog.csdn.net/zhyulo/article/details/79013752 。二、刷机后开机配置 pcDuino在刷机Ubuntu后,重启,会有提示按F8键进入系统配置,进入...

2019-04-01 13:25:38

iTOP-4412开发板的Qt交叉编译环境配置

一、iTOP-4412开发板简介 iTOP-4412核心板是迅为电子推出的一款高端四核核心板,配备三星Exynos 4412四核处理器,主频为1.4GHz,内置8GB存储空间。该板设计小巧。配备三星自家电源管理芯片,具有9路DC/DC和28路LDO输出电源,在-20℃至70℃范围的高低温运行测试中运行良好,支持MPEG-4/MPEG2、H.264/H263、VC-1、DivX的视频编解码...

2019-03-24 11:44:45

Ubuntu 更改系统语言为简体中文

使用VMware Workstation 安装64位ubuntu16.04系统,系统默认使用英文,而使用virtualbox安装,可以选择使用简体中文作为系统语言。由于英文水平有限,所以使用简体中文作为系统语言。下面是VMware Workstation安装的ubuntu 16.04的系统语言由英文改为中文的教程。前前后后折腾的不轻,也许是水平问题吧。注意:里面有一个坑,勾选简体中文的同时把...

2019-03-12 20:51:24

windows系统API中CreateWindow函数窗口的风格

2019-03-06 17:16:26

PE文件解析-资源中的对话框结构

一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-03-06 17:00:12

PE文件解析-资源中的快捷键结构

一、概述 想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-03-03 15:50:21

PE文件解析-资源中的字符串结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-02-27 17:52:50

PE文件解析-资源中的工具条结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-02-23 17:39:40

PE文件解析-资源中的版本信息结构

一、概述    想要获取一个可执行文件(PE文件)里包含的资源文件,首先要解析可执行文件,得到资源存储的地址及大小,可参考 https://blog.csdn.net/zhyulo/article/details/85717711 。然后,根据资源存储方式,得到各资源的数据内容及其大小,可参考 https://blog.csdn.net/zhyulo/article/details/85930...

2019-02-23 16:54:42

Android NDK 字符编码转换及icu库ucnv_convert函数不同版本的统一使用方法

 一、ICU4C及ucnv_convert概述    如果是在java层,有String类可以很好的转换各种编码,在ndk下面就没有现成的公开的工具,不过可以用icu4c。    ICU4C 是IBM的国际化开发组件ICU的C语言实现版本。在android系统里也有实现。ndk里面并没有公开可用的api,需要自己加载动态库来调用转换函数。    android下icu库路径为"/sys...

2019-01-31 14:40:50

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。