6 命运之手

尚未进行身份认证

暂无相关简介

等级
TA的排名 8k+

【Android】安卓环境变量配置

这篇博客没啥技术含量,主要是记录下一些小细节,防止新手走弯路,有时很久不碰自己也会忘了变量值功能JAVA_HOMED:\dev\jdkJDK位置ANDROID_HOMED:\dev\sdkAndroidSDK位置PathD:\dev\sdk\platform-toolsADB位置PathD:\dev\sdk\ndk\21.0.6113669NDK位置ANDROID_SDK_HOMED:\dev\android_avd模拟器虚拟设备存放位置

2020-05-20 23:11:18

【NDK】【009】通过CMake编译Native代码

前面我们已经介绍过,通过Gradle/命令行来编译Native代码,通过JNI/JNA来调用Native代码这里我们再介绍一种比较新的方法,Gradle+CMake编译Native代码,很适合从C语言转过来的开发人员

2020-05-20 00:37:23

【Java】在设计Callback功能时,如何巧妙回避Java的强制异常处理机制

有这样一句话:衡量Java设计师水平和开发团队纪律性的一个好方法,就是读读他们应用程序里的异常处理代码什么是Java的强制异常处理强制异常处理案例巧妙回避Java的强制异常处理机制以上设计方法和UncaughtExceptionHandler的区别总结

2020-05-19 16:48:27

【Java】java.lang.reflect.Type详解

Type简介获取Class的接口实现和类继承信息数组的Class与Type获取Field的字段类型ParameterizedTypeGson泛型解析原理模拟Gson的TypeToken类存储泛型信息TypeToken写法优化

2020-05-17 15:26:54

【Android】【NDK】目标文件,静态库,动态库

目标文件目标文件是由源代码编译而成的二进制文件源代码是供开发者阅读的文本文件,它的体积大,而且本质上都是文本,无法直接被机器使用,所以需要先编译为目标文件一个源代码文件,经过编译就会对应生成一个目标文件静态链接库供主程序代码调用的库文件,在编译时,静态链接库里面的功能都会被打包到主程序里,成为主程序的一部分动态链接库供主程序调用,需要跟随主程序一起发布,到运行时才会被动态调用可执行文件能够被操作系统调用,直接启动一个应用进程的文件关联静态链接库,动态链接库和可执行文件,都是由目标文件链

2020-05-16 20:28:24

【Android】【NDK】解决Lame库编码MP3声音速度变快的问题

这个问题可能是由于把单声道PCM作为双声道PCM来编码造成的这样就有一半的数据从左声道被编到了右声道,于是播放速度快了一倍,总时长短了一半我看网上大多Lame库的Demo都默认是双声道,没有考虑到单声道的问题解决方法:单声道和双声道分开进行编码 //转码单声道PCM void encodeSingleChannelPcm() { int bufferSize = 1024 * 256; short *buffer = new short[bufferSize / 2];

2020-05-16 15:11:32

【NDK】【008】NDK编译Lame库

什么是Lame Lame是一个C语言MP3编码库 Lame源码本身是运行在PC平台的,我们对其进行了稍加修改,使其适用于Android平台 PCM转MP3是安卓开发中常见的需求,PCM是未经处理的原生音频数据,安卓录音得到的都是PCM数据,但是一般网站都会要求MP3格式的,因为PCM体积太大,所以PCM转MP3是非常常见的需求 C++一般负责的都是音视频开发,硬件通信,进程控制等工作,而Lame库又是音视频开发当中最常见最简单的功能,很适合作为我们学习NDK的入门材料下载Android Lam

2020-05-16 14:59:52

【Android】【NDK】JNA解决java.lang.UnsatisfiedLinkError: Error looking up function错误

cpp中的公开方法需要用extern "C"修饰 extern "C" int sum(int a, int b){ return a + b; }extern "C"表示使用C编译器规则编译此方法C编译器在编译时,会保留sum函数原名C++编译器则会编译为类似sum_int_int的格式如果没有声明extern “C”,则在Jna中使用sum作为函数名,是无法找到对应的C++方法的...

2020-05-12 00:25:08

【Android】华为和小米手机后台进程防杀策略

原生安卓系统和国产定制系统区别微信等应用为什么可以常驻后台小米手机关闭性能优化华为手机关闭性能优化

2020-05-07 16:22:55

【Android】【IDE】AndroidStudio导出工程代码

通过File - Export to Zip File可以直接将项目代码导出为Zip文件这个功能

2020-05-07 13:47:19

【Android】【代码调试】多进程情况下进行调试

多进程情况下,可以通过【Attach to Process】来绑定辅助进程进行调试但这样有一个问题就是,无法对辅助进程的onCreate方法进行调试因为只有在进程启动后才可以绑定进程进行调试,而辅助进程启动时执行onCreate方法只是一瞬间的事情等手动绑定完进程后,onCreate方法一般都已经执行完毕了,所以没法对onCreate方法进行调试解决方法:在onCreate方法的首行加...

2020-04-28 11:05:19

【Java】【Json】Gson序列化时忽略特定字段

在字段前加transient关键字,gson就会在序列化时忽略这个字段transient关键字本是配合Java自带的Serilizable序列化接口使用的,gson直接借用了这个特性 public class TreeNode<T extends TreeNode> { public String id; public String parentId; ...

2020-04-08 16:21:40

【Android】【UI】EditText高级特性

设置报错信息 EditText edit; edit.setError("输入内容不能为空");设置键盘类型inputType属性 // android:inputType="number" android:inputType="numberDecimal" android:inputType="phone" android:inputType="textPasswor...

2020-04-07 22:39:01

【Android】【IDE】解决Attach Debug to Process找不到手机进程问题

安卓调试进程有两种方式一种是通过Debug模式直接启动另一种是先打开应用,再通过Attach Debug to Process绑定进程,就可以中途进行调试我遇到过几次Attach Debug to Process找不到Android进程的问题IDE只会显示Attach with Java Read Only Debugger选项,下面只包含正在运行的Gradle进程,看不到手机进程去网上...

2020-03-25 10:46:58

【Java】【Gradle】Gradle构建SpringBoot项目,Gradle模块化管理

为什么我要使用Gradle 我是个Android开发者,对Gradle接触较多,较为熟悉,使用Gradle对我问题不大 Gradle比Maven更加简洁灵活,代码看起来更加美观 我爱研究探索,喜欢折腾,想尝试新事物。用Gradle构建SpringBoot项目是我自己想出来的,后来去网上一查,还真的可以这样做 用了一段时间熟悉了之后,发现还是挺方便的。但是Idea中的Gradle和Stud...

2020-03-19 20:45:05

【Java】【IDE】解决IntelliJ Idea控制台乱码问题

打开idea/bin/idea64.exe.vmoptions文件,添加以下配置 -Dfile.encoding=UTF-8

2020-03-19 15:33:13

【Android】【控件绘制】监听控件绘制变化

需求在开发中,我们可能时常会碰到这样的需求,诸如: 监听地图缩放等级变化 监听控件中的画面变化 监听ViewGroup中的节点变化一般方法很多时候,控件和类库并没有为我们提供统一的回调方法来监听这些事件一般我们解决的方法就是,开一个线程,每隔1秒或100毫秒就去重新查询下界面内容然后通过代码手动去判断界面是否变化,再根据判断结果处理相关业务这样做虽然可以实现功能,但是有两个明...

2020-03-18 15:47:23

【项目管理工具】解决SVN丢失so文件的问题

引发迷之BUG的原因由于在Linux系统,文件夹时常有一些隐藏的系统文件是以so作为后缀名的,这些文件并不属于项目文件同理,在Windows中显示隐藏文件之后,我们也能看到一些名为 .DS_Store Thumbs.db的系统文件TortoiseSVN默认帮我们排除了这些文件,so文件也因此遭殃很多安卓开发者并不知道这个潜规则,直到某天从SVN下载代码时,才突然发现so文件都不见了解决方...

2020-03-17 18:21:30

【Android】【项目发布】两分钟发布GitHub项目到Maven仓库

常见术语简述 Maven:全名Apache Maven,是Apache开发的一个软件项目管理和项目自动构建工具 Maven仓库:存放Maven依赖的类库的地方,可以是远程服务器,也可以是本地磁盘 JCenter:一个由 bintray.com维护的Maven仓库 Maven Central:一个由sonatype.org维护的Maven仓库 POM:Project Object Mod...

2020-03-06 21:19:43

【Android】【机型适配】解决Android10有文件权限但无法访问文件的问题

Android10对权限的管理更加严格了,主要有以下两点 权限按单个分配,不再按组分配,以前申请了读存储卡权限,即可获得同组的写权限,现在不行了 存储卡读写权限需要在Application的Manifest清单中声明 <application android:requestLegacyExternalStorage="true"> </application&g...

2020-03-06 12:57:18

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取