Android
文章平均质量分 51
Joplin · Zhao
这个作者很懒,什么都没留下…
展开
-
Android 开发一个耳返程序(录音,实时播放)
通过AudioRecord录制加上AudioTrack渲染PCM编码数据实现实时耳返功能原创 2024-02-23 16:14:56 · 589 阅读 · 1 评论 -
Android 解决后台服务麦克风无法录音问题
我用心为你考虑黄浦江的事情,你心里想的却只有苏州河的勾当《繁花》爷叔我用心为你考虑黄浦江的事情,你心里想的却只有苏州河的勾当。原创 2024-02-23 14:33:54 · 673 阅读 · 0 评论 -
使用IDE进行Gradle Debug调试
超简单使用IDE或者Android Studio对Gradle断点调试原创 2024-01-09 10:52:12 · 490 阅读 · 0 评论 -
ASM是什么
ASM用于做class的AOP编程,支持操作字节码,而字节码的具体形式就是 .class。原创 2023-11-22 15:52:03 · 39 阅读 · 0 评论 -
ASM之ClassVistor
ClassVistor是一个抽象类,如果要使用必须继承它,比较常见的官方实现的子类有ClassWriter类和ClassNode类。在ASM core API中,最重要的三个类就是ClassReader、ClassVistor、ClassWriter。visitEnd()是被调用的最后一个方法,用于提示你访问工作已经结束。visitMethod()对饮的class结构如下。visitField()对应的class结构如下。visit()对应的class结构如下。ClassVistor方法的调用顺序。原创 2023-11-22 15:53:11 · 69 阅读 · 0 评论 -
ASM之ClassWriter
ClassWriter的父类是ClassVistor,它可以在编辑完字节码后通过toByteArray()方法将所有的visit做的操作转换为byte[],而这些byte[]的内容就遵循classFile的结构,所以将其通过写入文件后就是可执行的class文件。原创 2023-11-22 15:53:45 · 75 阅读 · 0 评论 -
ASM之ClassWriter生成.class
我们可以使用ClassWriter来生成一个类如果不知道如何编写ASMified代码,可以直接使用插件ASMPlugin,将你需要的功能编写成正常的java代码,然后使用ASM Bytecode Viewer将编写的类转换成ASMified代码后作为参考。原创 2023-11-22 15:56:00 · 71 阅读 · 0 评论 -
ASM之FieldVisitor创建变量
第一个参数是修饰类型,第二个参数是变量名,第三个是变量类型,第四个签名,第五个是变量的值(设置值好像没什么用,所以我在下面代码的初始化中重新初始化了str的值)原创 2023-11-22 15:57:49 · 90 阅读 · 0 评论 -
ASM之MethodWriter创建静态方法
ASM创建静态方法和创建方法基本类似,都是使用来实现,区别是传入的access参数变为。原创 2023-11-22 15:58:50 · 60 阅读 · 0 评论 -
ASM之MethodWriter创建方法并支持传参
这里我们除了创建了一个方法,并且在里面加入了函数参数和max计算传入参数谁更大的代码。原创 2023-11-22 15:59:41 · 69 阅读 · 0 评论 -
Android 先慢后快的算法,适用于播放器滑动控制百分比
前言各位观众姥爷是否觉得一个好的播放器仅仅只能平滑拖动进度是不理想化的,我个人觉得百分比拖动功能应该是这样子的:先慢后快,啥意思呢?当我们小幅拖动时是对进度精细化调整,可能就是想看几秒前晃神、眨眼、刻骨铭心的画面,仅需要秒级的拖动,但是当大幅拖动时是对这一段不感兴趣或者直接想跳到片尾,这时候涉及进度的调整往往直接冲向100%,有什么算法可以做到呢?算法明人不说暗话,有几个基础变量获取视频控件的宽度,记作viewWidth获取在视频控件拖动的距离,记作moveWidth基础变量定义完成后就是算原创 2022-02-19 15:19:48 · 1007 阅读 · 0 评论 -
Android Studio过滤冗余日志
前言在Android Studio开发中我们常通过Log输出查看当前程序运行的状态,但经常打印出一些第三方的Log和系统日志,而我们需要的仅仅只是自己代码运行的Log,那想要屏蔽其他的日志输出怎么办呢?有人会说选择APP的包名啊。是的,这样可以屏蔽大部分其他APP和系统日志,但是仍然会有一部分和APP相关但却不是我们需要观察的内容会被打印到控制台,为了解决这些冗余日志,我们利用Android Studio中支持自定义日志输出功能配合正则表达式可以完美过滤掉多余的日志,下面教大家怎样对不需要的日志进行屏蔽原创 2021-11-17 14:59:51 · 2204 阅读 · 0 评论 -
Android 状态栏沉浸式适配(基于Android M,适配异形屏)
前言我们都知道,世界有多大,设计稿就有多奇葩。为了UI的完美效果,通常情况下都会涉及到状态栏的修改操控,而状态栏的修改分为两种方式,一种是动态代码,一种是style实现,为了方便使用,本文仅介绍通过动态代码对状态栏进行隐藏、透明、内容变色,文末会带有一个工具类直接提供使用,以满足各位奇葩设计稿的要求。希望大家看完之后可以写出更美观的UI,老板看到满意,用户看到喜欢,最终升职加薪,哈哈,xswlAndroid状态栏小知识一个界面的展示是由Window负责的,而在一个Window内包含一个顶级View叫原创 2021-09-13 14:48:03 · 584 阅读 · 0 评论 -
Android 文字后面追加标签,不被长文本顶出界面的教程
产品经理一定要在文字后追加标签,让标签对齐文字右边又不超出界面,用了LinearLayout和各种Layout,最终谷歌的新布局ConstraintLayout成功了下面直接上代码 <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:la.原创 2021-04-20 15:14:03 · 440 阅读 · 0 评论 -
Android Studio 链接外部项目的Module
Android Studio 链接外部项目的Module前言引用外部Module前言有的时候自己写的Module要在多个项目同步使用,但是使用Android Studio 的import module功能是直接Copy一份Module的代码过来,而你要实现的功能是多个主项目依赖于同一个Module,改动这个Module其他项目同步修改,除了使用Git的子模块功能以外还能怎么办呢引用外部Module其实Android Studio是支持外部Module引用的,从而达到多个项目引用同一个Module的原创 2021-03-12 10:13:01 · 836 阅读 · 0 评论 -
Android 开发工具系列-获取当前运行Activity工具
本文目录 点击直达Android 开发工具系列 点击直达本文标签`路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢`前言:最后我还有一句话要说:世上没有什么东西能拿我们怎么样,可是我们自己要是老想恢复失去的东西,老想着过去,就会毁了我们自己。Android 开发工具系列 点击直达Wear OS手表应用开发教程之-创建应用本文标签Bat脚本语言获取当前ActivityAndroid开发工具路过的年轻人啊,你是要用左手点个赞呢,还是要右手点个关注呢前言:最近看到B原创 2020-12-09 17:05:14 · 722 阅读 · 0 评论 -
Wear OS手表应用开发教程之-创建应用
臧克家《有的人》原创 2020-08-04 16:28:37 · 5637 阅读 · 1 评论 -
Wear OS手表应用开发教程之-禁止全屏滑动返回Activity
Wear OS手表应用开发教程之-禁止全屏滑动返回Activity本文标签前言:效果展示使用方法结语最后我还有一句话要说你看不见你自己,你所看见的只是你的影子。Wear OS手表应用开发系列教程本文标签Android StudioWear OSWearableActivity手表禁止返回前言:正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过AndroidApplication开发经验,那给Wear OS 做应用适配应该原创 2020-08-06 11:39:51 · 2989 阅读 · 1 评论 -
Wear OS手表应用开发教程之-创建环形滚动列表-WearableRecyclerView
Wear OS手表应用开发教程之-适配圆形列表-WearableRecyclerView本文标签前言:效果展示使用方法结语最后我还有一句话要说世界上最遥远的距离,不是生与死的距离,不是天各一方,而是,我就站在你的面前,你却不知道我爱你。 Wear OS手表应用开发系列教程本文标签Android StudioWear OSWearableRecyclerView环形滚动列表前言:正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你原创 2020-08-05 17:21:32 · 3030 阅读 · 0 评论 -
Flutter运行报错 `flutter kernel_snapshot for errors` 解决方案
Flutter运行报错 `flutter kernel_snapshot for errors`解决方案解决方案当你Flutter项目删除了dart文件如果遇到 flutter kernel_snapshot for errors错误可以通过清理Flutter缓存和构建解决问题解决方案因为Android Studio没有提供Flutter清除缓存重新构建的选项我们需要手动输入命令flut...原创 2019-10-15 16:32:16 · 1879 阅读 · 0 评论 -
Navigation返回重新执行onCreateView解决办法
Navigation返回重启解决办法第一个方案(利用生命周期保障程序运行):第二个方案(未销毁数据重用)Navigation作为Android jetpack新推出的组件使用起来非常的方便,甚至可以做到一个Activity配合Navigation完成整个应用的开发,但是有的小伙伴可能会发现在使用Navigation时点击返回键后页面重构,重新执行了onCreateView方法,那遇到这种问题怎么...原创 2019-03-13 14:59:28 · 7811 阅读 · 9 评论 -
解决在WebView无法播放视频的问题
解决在WebView无法播放视频的问题加上这一句防止视频瞎调用mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } ...原创 2018-10-15 10:33:20 · 2981 阅读 · 0 评论