
Android
文章平均质量分 68
feipengwang6666
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jitpack过期仓库获取
在开发过程中,之前引用的一些仓库在jitpack上被下架;导致老项目运行不起来,如果直接改动库,代码改动及测试周期较长;下面记录本人解决的一种方式;原创 2024-12-19 11:43:36 · 232 阅读 · 0 评论 -
Retofit+Okhttp表单上传文件及参数处理大全
【Retofit+Okhttp配置上传文件+拦截 各种类型数据参数查看。原创 2023-06-08 16:22:51 · 4031 阅读 · 0 评论 -
移动端单元测试
一、什么是单元测试?基本概念**单元测试其实就是对模块、类、函数实现的功能执行检测,看看是否满足预期,是否达到功能要求,它是一次检查检验的过程。**如果某个模块或者函数满足预期,则表示测试通过,否则表示失败,比如工厂在组装一台电视机之前,会对每个元件都进行测试看是否合格,这就是单元测试,是不是很好理解。为什么编写单元测试单元测试是软件工程中降低开发成本,提高软件质量常用方式之一,单元测试是一项由开发人员或者测试人员来对程序模块的正确性进行检验测试的工作,用于检查被测试代码的功能是否正确,养成单元测试原创 2022-04-12 15:55:29 · 3002 阅读 · 0 评论 -
android 实现AOP 使用Aspectj Kotlin版
android 实现AOP 使用Aspect Kotlin版注意代码为Kotlin什么是OOP、什么是AOP? OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分,而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。AOP的应用场景AOP编程的主要用途有:日志记录,行为统计,安全控制,事务处理,异常处理,系统统一的认证、权限管理等。AspectJ是什么?As原创 2021-07-21 16:06:48 · 1650 阅读 · 2 评论 -
Google Driver 的使用
Google Driver 的使用项目背景AnkerWorker在项目中调用google 云盘功能,利用google云盘进行文件存储;需要对项目申请Api功能。使用记录因Google Driver是英文文档,为了快速上手和使用,本文档对使用流程进行一个大概总结。申请条件:google账号官方资料后台管理地址:https://console.cloud.google.com/home地址:https://developers.google.com/drive/api/v2/about-sdk原创 2021-06-01 09:43:12 · 4807 阅读 · 0 评论 -
Google Play Store上线流程
Google Play Store上线流程App上线一个大概流程,可能有不足,后续会继续补充转载请注明出处:https://blog.youkuaiyun.com/fepengwang?type=blog一、Google Play Store创建账号App后台管理账号。如果没有,需要运维同学帮忙创建1.1 注册google账号(如已经有了可跳过这步直接登录)地址:https://accounts.google.com/SignUp1.2 Google Play Store创建账号地址:https:原创 2021-05-19 14:23:57 · 1679 阅读 · 2 评论 -
Android使用VAD检测是否说话
注意写这篇文章的目的,纯粹是在项目中有需要,资料不好找,做一次搬运工,希望能帮助到有需要的同学。如果有不合适的地方,请留言私信。学习链接:https://blog.doiduoyi.com/articles/1587006578892.htmlDemo地址:https://download.youkuaiyun.com/download/fepengwang/18661527前言我们在 Android 应用做语音识别的时候,一般是用户唤醒之后开始说话。当用户超过一定的时候没有说话,就停止录音,并把录音发送到原创 2021-05-13 16:03:52 · 3038 阅读 · 4 评论 -
在Android中使用Opus 1.3.1(Ndk编译使用Opus so库)
Android中使用Opus 1.3.1Opus是一个开放格式的有损声音编码的格式,并在其使用上没有任何专利或限制。还可以处理各种音频应用,包括IP语音、视频会议、游戏内聊天、流音乐、甚至远程现场音乐表演。它可以从低比特率窄带语音扩展到非常高清音频的立体声音乐。支持的功能包括:6 kb/秒到510 kb/秒的比特率;单一频道最高256 kb/秒采样率从8 kHz(窄带)到48 kHz(全频)帧大小从2.5毫秒到60毫秒支持恒定比特率(CBR)、受约束比特率(CVBR)和可变比特率(VBR)支持语原创 2021-05-12 21:10:16 · 2839 阅读 · 5 评论 -
Android设备唯一标识(终极方案!)
Android设备唯一标识背景Android系统中并没有可靠获取所有厂商设备唯一ID的方法,各个方法都有自己的使用范围和局限性,这也是目前流行的Android系统版本过多,设备也是来自不同厂商,且没有统一标准等原因造成的。常规方案DEVICE_IDMAC ADDRESS设备序列号Serial NumberANDROID_ID手机硬件信息DEVICE_IDDEVICE_ID可以同通过getSystemService(Context.TELEPHONY_SERVICE).getDevic原创 2021-05-11 18:07:27 · 17275 阅读 · 0 评论 -
Android new File(path).mkdirs() 一直返回false问题,open failed: ENOENT (No such file or directory)
compileSdkVersion: 29版本中Manifest已经配置权限动态申请了权限出现问题:mkdirs一直返回false查找问题发现:Environment.getExternalStorageDirectory().getPath(),在compileSdkVersion: 29版本中,该方法标注了@Deprecated,里面已经说明,对于Android Q的手机,应用程序不再可以直接访问此方法返回的路径,所以会一直报错 No such file or directory解决方式直原创 2021-02-27 11:55:55 · 1411 阅读 · 0 评论 -
Android studio Git使用-设置忽略提交build和idea文件
我们的AS项目里创建完成会自带两个.gitignore文件,一个在根目录,一个在app/.gitignore。如果根目录没有这个文件需要自己创建。里面的内容*.iml.gradle/local.properties/.idea/workspace.xml/.idea/libraries.DS_Store/build/captures有其他的也可以继续添加,但是有些人可能会出现不生效的情况.对于idea文件夹下文件忽略在项目目录下,git命令输入:git rm -rf --cached原创 2020-05-21 14:36:18 · 3567 阅读 · 0 评论 -
bugly使用记录
学习链接:https://blog.youkuaiyun.com/chengxc2016/article/details/83007582bugly官方网址:https://bugly.qq.com/v2/workbench/create/A0F3869EC700F8693744A8EF7395996C前言支持修改类文件资源so库不支持修改AndroidManifest文件新增四大组件...原创 2020-03-02 19:15:07 · 320 阅读 · 0 评论 -
2019个人收集框架库总结
一些是项目中用到的,一些是趋势,都在持续学习中…共勉UI框架BaseRecyclerViewAdapterHelper 使用——RecyclerView万能适配器。PinnedSectionItemDecoration:强大的粘性标签库SmartRefreshLayout:具有极强的扩展性,集成了几十种炫酷的Header和 Footer。EasySwipeMenuLayout:仿IOS...原创 2020-01-18 10:29:49 · 393 阅读 · 0 评论 -
android xml加载流程
cpu逻辑运算,内存管理,显示控制gpu界面显示,复杂图形或者动效的处理XML 加载流程先有LayoutInflate加载到内存中cpu把内存中的xml文件内元素转化为多维向量图形(可以理解为数据化的对象),再给GPU通过openGL调用GPUGPU对图形进行栅格化,渲染显示界面系统GC时,所以线程包括UI线程是停止的。如同倒垃圾时,垃圾桶不能够装东西...原创 2019-11-04 21:10:12 · 536 阅读 · 0 评论 -
android app极致优化之路
优化分类1.性能优化2.内存优化3.电量优化4.网络优化5.ui优化ui优化前提:项目中apk越来越大,ui需要适配手机和平板。方案:使用svg代替多尺寸png问题:兼容有问题(5.0以下,9.0以上)问题处理: https://developer.android.google.cn/studio/write/vector-asset-studio安卓5.0版本之前://...原创 2019-10-27 12:05:17 · 437 阅读 · 0 评论 -
android ConstraintLayout使用记录
背景在2016年的Google I/O大会上 , Google 发布了Android Studio 2.2预览版,同时也发布了Android 新的布局方案 ConstraintLayout , 但是最近的一年也没有大规模的使用。2017年Google发布了 Android Studio 2.3 正式版,在 Android Studio 2.3 版本中新建的Module中默认的布局就是 Cons...原创 2019-10-16 14:11:47 · 183 阅读 · 0 评论 -
RecyclerView 代码中滚动方法(设置滚动到位置并置顶)
RecyclerView的原生方法1.smoothScrollToPosition( int position )方法 平滑滚动2. scrollToPosition(int position) 直接显示,没有平滑效果查看源码,发现滑动平滑效果,可改变。然后自定义一个LinearLayoutManager ,平滑时间public class SmoothScrollLayo...原创 2019-03-27 20:35:37 · 3812 阅读 · 0 评论 -
targetSdkVersion和minSdkVersion、compileSdkVersion的关系
minSDK targetSDK maxSDK(很少使用) compileSdkVersion问题:a.高版本手机 支持低版本sdk的应用 b.低版本手机 支持高版本sdk应用1.minSDK maxSDK 安装时判断,影响是否能够安装2.targetSDK 运行时判断,影响运行效果(兼容性问题,api方法不同)3.compileSdkVersi...原创 2018-09-28 10:06:18 · 400 阅读 · 0 评论 -
什么是模块化,组件化, 插件化?
最近毕竟火的也就是组件化的应用了,可以大大加快项目的开发进度,对此本人亲自做了demo,有想了解的朋友请关注:https://github.com/wangpengfei1992/ModularizedDemo 废话不多说,解释一下这几个的概念和区别的个人理解.单工程模式移动开发诞生,我们开发移动项目,我相信大多用的是单工程单任务的开发模式,二话不说,直接就开始写起,是不是这样呢? new Pr...原创 2018-06-01 09:31:27 · 22211 阅读 · 0 评论