- 博客(60)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 PDF转图片工具
今天有个朋友找我:“我有个文件需要更改,但是文档是PDF的,需要你帮我改下内容,你是搞软件的,这个对你应该是轻车熟路了吧,帮我弄弄吧”,听到这话我本想反驳,我是开发不是美工,然后跟他科普科普两者的分工和区别。于是我想想既然是帮人干活,这个钱怎么也不至于我掏吧,对,让他掏!转成图片修改好以后,再给合回去,60+行代码换了100多的会员,头一次感受到了原来技术也不是一文不值,O(∩_∩)O哈哈~!完事后,想想这个东西既然花了时间写出来,干脆加个界面,打包成程序提供给有需要的人用,岂不是更能发挥它的价值?
2024-06-08 01:03:13
642
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 自定义PhotoView实现双指旋转缩放功能
public class MultiEventView extends View { private Bitmap bitmap; private Paint paint; private float photo_width = getResources().getDisplayMetrics().widthPixels; private Matrix matrix; private float originOffsetX; private float or.
2021-08-02 01:44:50
460
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 编译安卓6.0的SystemUI模块
导火索:由于公司开发的安卓终端项目要霸占整个设备屏幕且永不退出,不允许用户退出。所以必须要干掉系统默认的导航栏和状态栏,但是系统提供的api只能暂时隐藏,手指下拉或者弹窗还是会冒出来。直接删除systemUI.apk重启虽然可以解决但是太过粗暴,系统壁纸之类炸七杂八的东西都看不到了,于是只能通过修改SystemUI源码,重新编译打包替换一.下载安卓源码,直接通过镜像下载比较慢,我是在网上找的别人已经下载好的源码地址:链接:https://pan.baidu.com/s/1EYDFSFFE94w
2020-05-14 17:29:24
927
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 集成微信分享和微信支付爬坑之路
最近项目需要接入分享和支付的功能,于是上网百度一番发现了个好东西---ShareSDK,这个sdk提供了聚合分享,聚合支付,以及推送和moblink多种功能,这正是项目当前和后期需要的。一次集成就能用上所有功能,不得不说是个不错的东西。废话不多说,依据官方文档一步步来就能很快集成。这里我记录一下自己集成过程中遇到的一些坑。先简单贴一下集成ShareSDK步骤,分两阶段,一阶段是基础配置,另...
2018-10-31 15:15:51
1319
原创 从安卓应用开发的角度去理解4+1模型
4+1视图是这样一种方法,它将系统的不同方面分解为五个关键视图,每个视图都专注于系统的一个特定方面,以便我们能够全面考虑和设计应用。通过这种4+1视图的方法,开发团队可以更清晰地分析和讨论应用的不同方面,确保设计和开发过程中的全面性和一致性。在安卓应用开发中,开发视图可以展示应用的代码结构、使用的框架和工具,以及开发团队之间的协作方式。- 这个视图关注的是应用在运行时的行为,特别是它如何处理并发和多任务。在安卓应用中,过程视图可以展示应用如何同时处理用户输入、后台任务和网络请求,以确保系统的稳定性和效率。
2024-07-07 23:59:09
177
原创 安卓项目模块集成JNI的两种方式回顾
在 Android 模块中编写 JNI 模块来调用第三方的.so文件,可以使用 NDK Build (老项目)或 CMake 两种方式。
2024-06-15 01:21:21
351
2
原创 解决Android studio 一直提示下载gradle-xxx-all.zip问题
今天用AndroidStdiod打开一个新工程的时候,发现项目一直卡在正在下载gradle-xxx-all.zip的任务上,网络出奇的慢,即使配了VPN也无济于事,于是按照以往经验:将gradle-xxx-all.zip下载到.gradle\gradle\wrapper\dists目录下,然后在Android Studio中执行"File" -> "Invalidate Caches / Restart"(清除缓存并重启)然而AndStudio依然会通过网络去下载gradle-xxx-all.zip。
2024-05-29 21:50:27
559
3
转载 转载「置顶」博客文章目录
与技术无关,但是可以提高幸福感和工作效率2023 年的方方面面回顾 2021我是 Gracker,这是我的利器Gracker 的 2018 年度最推荐 - 给辛勤工作的自己一点奖励陆奇:除了好代码,工程师怎样才算优秀?2017 年度最推荐 - 给辛勤工作的自己一点奖励关于 2017Android 开发者学习路线(2020 版本)我的 2020 年读书单。
2024-05-08 22:37:55
30
转载 Android Perfetto 系列 1:Perfetto 工具简介
Perfetto 是一个高级的开源工具,专为性能监测和分析而设计。它配备了一整套服务和库,能够捕获和记录系统层面以及应用程序层面的活动数据。此外,Perfetto 还提供了内存分析工具,既适用于本地应用也适用于 Java 环境。它的一个强大功能是,可以通过 SQL 查询库来分析跟踪数据,让你能够深入理解性能数据背后的细节。为了更好地处理和理解大规模数据集,Perfetto 还提供了一个基于 Web 的用户界面,使你能够直观地可视化和探索多 GB 大小的跟踪文件。
2024-04-27 00:26:05
313
转载 一款Android性能分析神器!Perfetto(建议收藏)
借助config文件配置要调试的内容,命令行如下,其中 config.pbtx为config file,可以借助 Perfetto UI的 recording setting( Perfetto UI)生成,或者在 Perfetto UI中的 redording settings中设置后好,在 recording command中 copy所有内容,在 terminal中直接 copy执行即可。它还具有其他功能,包括计算摘要度量,使用用户友好的描述注释跟踪以及从跟踪的内容派生新事件。
2024-04-27 00:23:16
600
转载 Perfetto使用教程
三种录制设置,适用不同的使用场景对应代码中 Trace.beginSection/ATRACE_BEGIN 记录的事件,选中后会显示黑色边框。
2024-04-27 00:14:49
404
原创 Android的 Binder 原理剖析
一. Binder 概述简单介绍下什么是 Binder。Binder 是一种进程间通信机制,基于开源的 OpenBinder 实现;OpenBinder 起初由 Be Inc. 开发,后由 Plam Inc. 接手。从字面上来解释 Binder 有胶水、粘合剂的意思,顾名思义就是粘和不同的进程,使之实现通信。对于 Binder 更全面的定义,等我们介绍完 Binder 通信原理后再做详细说明。1.1 为什么必须理解 Binder ?作为 Android 工程师的你,是不是常常会有这样的疑问:..
2022-05-29 00:39:34
411
原创 图片双指旋转(双指中心)
package com.hfengxiang.example.myphotoview;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Matrix;import android.graphics.PointF;import android.graphics.RectF;import.
2021-09-24 01:10:54
210
原创 双指旋转(以图片中心为旋转中心)
Viewpackage com.hfengxiang.example.myphotoview;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PointF;import android
2021-09-22 00:24:02
344
原创 Git误删文件恢复
1.删除后未commit2.删除后commitgit log 查看误删前的commit idgit loggit reset cf05b006a471ad898dbdbe485b2f2d4929c9d0bfgit checkout <file path>3.删除后push到了远程仓库git log查看未删除前的commit id此时版本已回退,先另存被删除文件再更新代码,然再讲误删的文件加回来...
2021-09-05 22:36:08
353
原创 Git回滚操作
1.Fast-forward合并方式的回滚假设现在有两个分支,master和dev且指针位置也同步了,我么现在在dev上做一些修改接下来切到master并合并dev可以看到master上的dev1.txt已被误删通过git reset ORIG_HEAD可以将master分支指针移到合并之前,并将误删文件恢复到工作区。重新提交后文件即可恢复...
2021-09-05 14:47:15
511
原创 误删分支恢复
假设现在有三个分支,当前在temp分支上,领先master分支一个版本,现在我们把master分支强行删除 git branch -D master此时恢复操作可以在任意其他分支上进行,例如我们可以切到dev上恢复git checkout dev#查看分支操作日志git reflog找到master上的最后一次commit,即:c1d2e5c HEAD@{13}: commit: 2nd commit on master将HEAD移动到那一次的commit上...
2021-09-04 00:45:07
494
原创 连续旋转角度
package com.hfengxiang.example.myphotoview;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.util.Log;import android.view.Motio.
2021-08-27 23:24:59
127
原创 图片围绕某个点旋转演示模型
package com.hfengxiang.example.myphotoview;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PointF;import android.graph.
2021-08-20 04:54:14
203
原创 单指移动图片
package com.hfengxiang.example.myphotoview;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PointF;import android.graph.
2021-08-20 01:56:29
132
原创 Hfengxiang常用工具类
1.CrashHandler/** * Created by Hfengxiang on 2020/05/08. * Version 1.0 * Description: 单例的设计模式的异常捕捉 */public class ExceptionCrashHandler implements Thread.UncaughtExceptionHandler { private static ExceptionCrashHandler mInstance; private s
2021-08-02 13:25:48
87
原创 编译安卓平台ijkplayer
一.配置编译环境1.下载ndk,安卓sdk,jdk配置到/etc/profile下根据项目github主页readme文件参考,此处采用的ndk版本为r10e,sdk版本为24.4.1,jdk采用1.8wget https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip?hl=zh_cnwget http://dl.google.com/android/android-sdk_r24.4.1-linu
2021-05-17 12:14:43
287
原创 AndroidStdio中CMakeList.txt语法笔记
一,cmake几个字段或方法的含义1.最低支持版本2.真正使用版本3.find_library查找系统库(系统库所在位置与以下位置有关)如果loca.properties文件没指定版本号系统就选择最新的system_libs.cmakeset(NDK_SYSTEM_LIBS "libEGL.so;libGLESv1_CM.so;libGLESv2.so;libGLESv3.so;libOpenMAXAL.so;libOpenSLES.so;lib.
2021-05-16 20:06:38
572
4
原创 Shell练习笔记
一,dash和bash解析器在ubuntu默认是指向bin/dash解释器的,dash是阉割版的bash,其功能远没有bash强大和丰富.并且dash不支持let和i++等功能解决办法:sudo dpkg-reconfigure dash二,脚本笔记1.基本语法#!bin/bash#新服务器#定义和输出变量#内置变量echo ---------------------------shell中的内置变量----------------------------a=100.
2021-05-16 15:30:45
119
原创 编译ffmpeg并集成到安卓工程中
一,下载资源并配置环境变量1.配置ndk编译环境具体操作参考:ndk交叉编译这篇博客2.下载并解压ffmpeg此处下载ffmpeg4.0.2这个版本其他版本不能保证成功,下载地址:http://www.ffmpeg.org/releases/wget http://www.ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2tar -xvf ffmpeg-4.0.2.tar.bz2解压后可以看到下面的目录结构二,编译ffmpeg1.
2021-05-15 02:19:39
297
2
platform-tools.zip
2021-03-10
echarts全国各省市js,json数据
2017-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人