Android
zhyulo
啥都懂一点,啥都不精通
展开
-
源码分享-彩色/灰度保存二维数组值为BMP图片
源码中实现了一个功能:能够把二维数组的值,保存在BMP图片中。从而形象的观察数据峰值等在数组中的分布情况。实现基于Java,不依赖任何第三方库。默认生成灰度图,也可生成彩色图。数组的值取值范围0-255(彩色的图建议取值范围0-192,即红到紫的颜色部分)。图片效果:(0->255)调用示例:import java.io.File;import java.io.IOException;public class Main { public static void m原创 2021-10-31 01:47:11 · 759 阅读 · 0 评论 -
Android上so库的函数加载顺序验证
加载执行顺序: _init->xxx_init->JNI_OnLoad,记在这里,备忘。验证代码:#include <jni.h>#include <stdlib.h>#include <pthread.h>#define LOG_TAG "DexHelper"#include "Log.h"/*** 加载执行顺序: _init->xxx_init->JNI_OnLoad ***/extern "C"void _init原创 2021-08-11 18:18:50 · 713 阅读 · 0 评论 -
源码分享-Android上native的log头文件
使用该log头文件,更方便的调试Android上native代码。#ifndef _LOG_H_#define _LOG_H_#include <android/log.h>/* * This is the local tag used for the following simplified * logging macros. You can change this preprocessor definition * before using the other ma.原创 2021-08-11 18:12:30 · 550 阅读 · 0 评论 -
源码分享-基于Java,复制某目录(包括子目录)下的全部文件
如题,复制某个目录下的全部文件,包括子目录下的,输出到同一目录级下。返回复制成功的文件个数。 public static boolean copyFile(String in, String out) { if (new File(out).isDirectory()) { out = new File(out, new File(in).getName()).getAbsolutePath(); } try {原创 2021-08-11 18:01:44 · 241 阅读 · 0 评论 -
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 · 649 阅读 · 0 评论 -
源码分享-增量更新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 · 797 阅读 · 1 评论 -
源码分享-以队列方式运行任务
有些时候,需要用队列的方式,及先进先出,依次执行线程任务。大概场景如下: 1. 不是很急的任务(比如提前缓存),但不能在主进程中进行(比如网络传输); 2.需要有顺序的执行线程任务; 3.任务调用比较集中(某时刻突然增加大量任务,但大部分时间没有任务); 4.希望进程数更少的执行大量重复性任务; 5.。。。。。。 下面是我实现的队列线程基类,分享给大家。import java.util.LinkedList;import java.util...原创 2020-06-21 10:04:13 · 192 阅读 · 0 评论 -
Andriod反编译-从iReader开始学习反编译
一、声明 本人反编译只用于学习交流,禁止使用本文章用于商业用途。其次,如果本文章侵害了您的权益,请及时联系我删除本文。二、准备 1. 该文章使用window10系统,使用其他系统可能会与本文章描述有所不同。 2.安装好的 Android Studio 软件一套,并确保软件编译工作正常。 3.java反编译工具 jadx与dex2jar,没有请网上自行下载...原创 2019-11-17 22:13:01 · 498 阅读 · 0 评论 -
Live555在安卓端移植时无法打印信息的问题解决方案
一、简介 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常...原创 2019-04-11 14:12:45 · 587 阅读 · 0 评论 -
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 · 2734 阅读 · 0 评论 -
反编译安卓程序时出现"UNKNOWN_DATA_0x7101"的解决方案
在反编译Android手机程序时,资源文件xxx.xml中经常出现类似以下的语句android:layout_height="UNKNOWN_DATA_0x7101"这种语句指示长度/宽度到底是多少,但是反编译工具不认识.其实解决方法很简单,把"UNKNOWN_DATA_0x7101"换成"113dp"即可.但为什么是"113dp"呢?把0x7101的最后一个字节0x01去掉,高位...原创 2018-11-25 20:19:55 · 1559 阅读 · 1 评论