自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yanwenyuan0304的专栏

我是一个码农

  • 博客(207)
  • 资源 (6)
  • 收藏
  • 关注

原创 AndroidNDK工程FFmpeg(一)-- Android使用FFmpeg--Shell脚本编写与执行编译FFmpeg库

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计 算机程序。FFmpeg是一个多媒体视频处理工具,有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。FFmpeg是由C代码编写而成,功能多,代码量大。以上呢是百度百科上的,事实上,FFmpeg的视音频编解码功能确实太强大了,几乎囊括了现存所有的视音频编码标准,因此只要做视音频开发,几乎离不...

2019-07-16 20:49:30 1848 4

原创 Android自定义View--模仿支付宝支付密码框,自定义密码输入框

按照惯例先上效果图:⚠️分析:一、需要调用输入数字输入框二、对输入框的监控三、画圆角的矩形四、画分割线五、画密码的原点思路:EditText符合前两个需求,但是我们不想显示输入内容与默认的密码样式。所以我们可以自定义View继承EdiText。来实现下面三种需求。一、我们只需要EditText调用数字输入框和对文字的监控特性即可,其他的我们自定义 android:inputT...

2019-07-08 15:14:07 2303

原创 Android自定义View--QQ未读消息气泡拖拽黏连效果

QQ聊天界面好友来信息会有一个气泡显示多少条信息,如不看也可以拖拽让其消失。效果如下:分析:动画组成部分如下图⚠️重点一、动画由三个部分组成 不动圆、可动圆、粘连部分(AB与CD是两个贝塞尔曲线)二、不动圆圆心e固定不动(可知) 可动圆圆心f就是手指滑动位置(可知)三、可拖拽的最大距离我们这里设置 可动圆半径的8倍四、不动圆的半径随着 可动圆 与 不动圆 距离变化而变化(...

2019-07-04 20:57:44 1766

原创 Androd 事件发布-订阅总线 框架 从EventBus到RxBus再到现在的LiveDataBus

EventBusEventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。EventBus、RxBus、LiveDataBus其实这三个干的是同一件事,我们先分析一下这三个组件通信框架的优缺点:Event...

2019-05-02 13:31:32 3043

原创 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

如果你安装了多个jdk那么你只需要在android stuido中选择一下即可。

2024-03-27 13:43:56 197

原创 java 开多个线程等全部线程完成返回结果

【代码】java 开多个线程等全部线程完成返回结果。

2024-01-24 16:55:08 489 1

原创 Android布局字体大小不根据用户设置字体大小变化而变化

fontSize 正常是1 大的是1.2 小的是 0.9 不一定就是这个值 差不多就是这样的。

2024-01-24 16:14:21 383

原创 android px ps dp直接的转换

3.5英寸分辨率为960×640(DVGA) 像素密度326PPI(苹果 iphone4)4.0英寸分辨率为1136×640(HD) 像素密度330PPI(苹果 iphone5)3.7英寸分辨率为800×480(WVGA) 像素密度252PPI。3.7英寸分辨率为800×480(WVGA) 像素密度252PPI。4.0英寸分辨率为800×480(WVGA) 像素密度233PPI。4.3英寸分辨率为800×480(WVGA) 像素密度217PPI。

2023-09-21 15:16:54 219

原创 android 8.0以后大部分静态监听无法注册,需要注册动态监听

AndroidManifest中添加权限。拿监听网络状态来举例子。

2023-09-05 19:43:38 183

原创 Android输出csv文件乱码

/代码中的这个是为了解决乱码用的。问题:Android输出csv文件乱码。

2023-06-05 11:46:04 246

原创 IllegalArgumentException: column ‘_data‘ does not exist

【代码】IllegalArgumentException: column ‘_data‘ does not exist。

2023-05-15 15:07:44 841

原创 Fragment 执行到 transaction.commit() 不执行了。

Fragment 执行到 transaction.commit() 不执行了。

2023-04-18 17:23:00 135

原创 怎么实现android 全局悬浮窗

【代码】怎么实现android 全局悬浮窗。

2023-04-11 10:26:36 2011

原创 智能表格 smartTable去除第一行的ABC与第一列的123

最近项目用到smartTable,

2023-04-10 17:13:23 165

原创 正则表达式随笔

匹配出12306 第一条 需要匹配到 第二条不需要匹配到 也就是 12306 前面不能有数字 后面不能有数字。正则表达式 获取一段值 但是前面不能是数字后面页不能是数字,详情如下。1、搜索12306试试。

2023-03-24 14:59:29 61

原创 Objective-C学习 一

1、 OC相对于Ca。在C的基础之上新增了一小部分面线对象的语法。b。将C的复杂的、繁琐的的语法封装的更为简单。c。OC完全兼容C语言。2、 OC程序的源文件的后缀名是.m m代表message 代表OC中最重要的一个机制 消息机制。C程序的源文件的后缀名.c3、 main函数仍然是OC程序的如果和出口。int类型的返回值 代表程序的结束状态。main函数的参数:仍然可以接受用户在运行程序的时候传递数据给程序。参数也可以不要4、 #import 指令1)、以#号开头,是

2022-05-25 22:41:44 174

原创 IOS入门 调试与打包

iOS入门 调试与打包一、调试手段1、日志NSLog(@"hello");NSLog(@"%@",@"tt");NSLog(@"test click %@",@"format");%@格式化符号有哪些?2、断点及LLDB断点:XCode 打断点跟Android 断点一样LLDB:LLDB 指令 -p输出值+类型值+引用名+内存地址(lldb) p sender(UIButton *) $0 = 0x00007f7d93a08a60LLDB 指令 -po(lldb)

2022-05-25 11:29:01 186

原创 零基础开始学习IOS (一)

零基础开始学习IOS (一)创建第一个IOS项目

2022-01-12 17:19:05 1797

原创 Android插入短信功能

公司内部有过需求 需要插入通过自己app插入短信刚开始觉得挺简单的,就是往数据库加数据而已,插入短信ContentResolver resolver=getContentResolver(); Uri url=Uri.parse("content://sms/"); ContentValues values=new ContentValues(); values.put("addre

2021-12-31 16:21:14 856

原创 Android Ui卡断的原因分析及常见的解决方式

Android 界面卡断就是响应不及时,动画不流程的主观感受,从Android 系统来讲就是无法保证每秒绘制出60帧的画面,也就是出现了掉帧现象。UI 卡顿的原因及解决方式过度绘制解决方法:1⃣️ 去除不必要的背景色、2⃣️布局视图扁平化、3⃣️减少透明色的使用UI线程的复杂运算(耗时操作)解决方法:减少UI线程中的数据运算(减少耗时操作如:网络请求等)频繁的GC解决方法:频繁GC的原因:1⃣️内存抖动、2⃣️瞬间产生大量的对象尽可能减少for循环中去new对象或再onDraw中创建对象等

2021-11-23 16:45:41 2778

原创 接入 FCM Firebase Cloud Messaging 运行崩溃

官方文档:https://firebase.google.cn/docs/cloud-messaging/android/client解决方案:在应用程序级别build.gradle内添加这些行android { ... // ADD THESE LINES compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCom

2021-10-13 10:35:29 174

原创 Android 9.0以后默认http://请求不支持

Android 9.0以后默认http://请求不支持原因引文在Android 9.0以前 AndroidManifest.xml中的application节点中的usesCleartextTraffic属性默认就是true,而9.0之后改为了false,需要让开发这使用加密的请求地址 https .解决方案一、使用https地址。二、在AndroidManifest.xml中的application节点添加如下属性android:usesCleartextTraffic = true..

2021-05-26 17:29:55 208

原创 Android 适配暗黑模式

在样式中添加<style name="MyAppTheme">....... <item name="android:forceDarkAllowed">true</item></style>

2021-04-02 16:05:59 215

原创 Android 基础知识梳理 View的绘制

哎 被懒惰打败了

2021-04-01 17:41:10 101

原创 Android事件分发的时候dispatchTouchEvent 中最好不要return true; return false;

Android事件分发的时候dispatchTouchEvent 中最好不要return true; return false;这样会造成子控件中的滚动事件跳动,如listview 滑动前会调动一下,很难受。

2021-03-26 10:44:14 687

原创 Android跟随手势的时候 ACTION_MOVE 如果没有return true 会直接调用ACTION_UP

日常问题:Android跟随手势的时候 ACTION_MOVE 如果没有return true 会直接调用ACTION_UP 具体什么原因回头详细了解下,今天开发过程中遇见一个问题当ACTION_MOVE没有return true 的时候会每次ACTION_MOVE 后直接调用ACTION_UP。...

2021-03-24 17:33:14 403 1

原创 Android加载配置文件的几种方法

Android 中有些配置文件需要在代码外面有一下几种:一、放入了 app/src/main/assets文件中 //加载配置文件 Properties props = new Properties(); InputStream inputStream = context.getAssets().open("config.properties"); props.load(inputStream); String value = props

2021-03-24 11:25:19 1006

原创 java两整数相除等于0

float i = (float) (300/600); System.out.println(i);结果是什么? 我本来想要0.5的,结果为0float i = ((float) 300/600); System.out.println(i);这样就能得出我们要的结果了。

2020-12-02 17:58:50 1264

原创 ListView小常识

一、一般我们继承Adapter后 我们都是这么重写getItemId的@Overridepublic long getItemId(int position){ return position;}如果listview 只是展示没有问题,如果有删除item的话最好f返回该数据的ID@Overridepublic long getItemId(int position){ return items.get(position).getId())(;}二、有时我们会发现我们修改了item布局

2020-11-25 14:50:53 224

原创 Android studio 中 引用第三包包含com.android.support 与Androidx 包里类冲突问题解决方案

直接上代码在第三方包中去除 exclude group: ‘com.android.support’implementation ('com.github.bumptech.glide:glide:4.8.0'){ exclude group: 'com.android.support' } implementation ('com.google.zxing:core:3.2.0'){ exclude group: 'com.android.support

2020-11-10 11:25:08 782 1

原创 Android Glide.3x的版本升级到Glide4.8.0的问题

加载圆形图片修改Glide.with(context).load(list.get(position).getImgsrc()) .apply(RequestOptions.bitmapTransform(new CircleCrop())) .into(holder.img);其它参考:GLIDE3升级到GLIDE4碰到的问题汇总以及部分代码修改...

2020-11-09 17:44:22 178

原创 java.lang.IllegalStateException: Not one of standard directories: /data/user/0/

Android 10以上使用Environment.getExternalStorageDirectory()会报错:java.lang.IllegalStateException: Not one of standard directories: /data/user/0/推荐使用:Environment.DIRECTORY_DOWNLOADS

2020-10-14 17:53:28 1528

原创 ToolBar中菜单menu item图标颜色修改

@Override public boolean onCreateOptionsMenu(Menu menu) { final MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.quickcontact, menu); for(int i = 0; i < menu.size(); i++){ Drawable drawable = men

2020-08-25 17:20:56 1744

原创 Android 获取主题是不是暗黑主题,或者是不是深色主题

final boolean active = (getApplicationContext().getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_YES)!= 0;active 为true 就是深色主题

2020-08-21 14:32:07 1818

原创 Activtiy之间数据通信3种方式

Activity 之间数据通信 Intent / bundle第一个activity跳转代码 Bundle bundle = new Bundle(); bundle.putString("name","mile"); bundle.putInt("age",18); Intent intent = new Intent(this,MainActivity.class); intent.putExtras(bundle);

2020-08-19 17:59:38 276

原创 Activtiy生命周期

Activity任务栈与四种形态一、Active:Activity 处于栈顶,可见状态、和用户可以交互二、Paused:可见但不可交互,只是失去了与用户交互的能力(被透明窗体覆盖)三、Stopped:不可见四、Killed:被系统回收小结:1、Activity是与用户交互的接口,2、Android 系统是通过Activity栈的形式来管理Activity3、Active/Paused/Stopped/killedActivity正常情况下生命周期回调方法onCreate–onStart

2020-08-19 14:59:01 257

原创 CollapsingToolbarLayout 中 contentScrim属性可以控制toolber折叠后的背景颜色

CollapsingToolbarLayout 中 contentScrim属性可以控制toolber折叠后的背景颜色app:contentScrim="@color/actionbar_icon_color"<CollapsingToolbarLayout android:id="@+id/collapsing_toolbar_layout" android:layout_width="match_parent" andr

2020-08-07 16:13:40 1721

原创 android : java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion

android :java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion解决方案:可以通过将此添加到AndroidManifest.xml内部标签:

2020-08-04 15:34:14 274

原创 Android 升级 min sdk 到29 后报错Dex file with version 38 cannot be used with min sdk level 29.

Dex file with version 38 cannot be used with min sdk level 29.查看了一些博客上把min sdk 改小就行,但是这不能解决根本问题解决方案:第一步:升级Android studio 到4.0第二步:修改gradle版本dependencies { classpath 'com.android.tools.build:gradle:3.4.1' }同样gradle里...

2020-08-04 10:21:42 6478

原创 Android性能优化——线程优化

Android线程调度机制线程调度机制分时调度模型:所有的线程轮流获得CPU使用权,平均分配每个线程占用的CPU时间抢占式调度模型:优先让可运行池中的优先级高的线程占用CPU,优先级相同随机选择一个线程Android线程调度机制Android的线程调度机制是抢占式调度模型线程优先级(nice):默认情况下,新创建的线程的优先级默认与母线程一致线程分组:Android还分前台线程与后台线程Android异步方式Thread:直接创建一个线程AsyncTask:为UI线程与工作线程之间

2020-06-19 10:09:11 475

milePlayer.zip

AndroidNDK工程FFmpeg(四)--FFmpeg视频解码之视频播放器 源码

2019-07-27

NDK_2_3_1.zip

AndroidStudio构建NDK项目,简单的demo,博文地址:https://blog.csdn.net/yanwenyuan0304/article/details/96111786

2019-07-16

CustomViewGroup.zip

网易云打碟效果,Android自定义VIew,Android自定义动画 各种自定义view动画 粒子爆炸效果、Android开场动画、模仿QQ聊天拖拽气泡、刮刮卡效果、网易云打碟效果

2019-07-12

okhttp最新版okhttp-3.9.0.jar下载

okhttp最新版okhttp-3.9.0.jar下载,网络请求工具类,okio-1.6.0.jar

2017-11-08

Nuwa热修复插件源码放入项目中使用方法,还添加了注释

Nuwa热修复插件源码放入项目中使用方法,还添加了注释

2016-12-16

java算法,快速排序、冒泡排序、选择排序

java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045

2016-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除