- 博客(208)
- 资源 (6)
- 收藏
- 关注

原创 AndroidNDK工程FFmpeg(一)-- Android使用FFmpeg--Shell脚本编写与执行编译FFmpeg库
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计 算机程序。FFmpeg是一个多媒体视频处理工具,有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。FFmpeg是由C代码编写而成,功能多,代码量大。以上呢是百度百科上的,事实上,FFmpeg的视音频编解码功能确实太强大了,几乎囊括了现存所有的视音频编码标准,因此只要做视音频开发,几乎离不...
2019-07-16 20:49:30
1903
4

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

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

原创 Androd 事件发布-订阅总线 框架 从EventBus到RxBus再到现在的LiveDataBus
EventBusEventBus是一种用于Android的事件发布-订阅总线,由GreenRobot开发,Gihub地址是:EventBus。它简化了应用程序内各个组件之间进行通信的复杂度,尤其是碎片之间进行通信的问题,可以避免由于使用广播通信而带来的诸多不便。EventBus、RxBus、LiveDataBus其实这三个干的是同一件事,我们先分析一下这三个组件通信框架的优缺点:Event...
2019-05-02 13:31:32
3098
原创 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
如果你安装了多个jdk那么你只需要在android stuido中选择一下即可。
2024-03-27 13:43:56
423
1
原创 Android布局字体大小不根据用户设置字体大小变化而变化
fontSize 正常是1 大的是1.2 小的是 0.9 不一定就是这个值 差不多就是这样的。
2024-01-24 16:14:21
558
原创 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
344
原创 IllegalArgumentException: column ‘_data‘ does not exist
【代码】IllegalArgumentException: column ‘_data‘ does not exist。
2023-05-15 15:07:44
1287
原创 Fragment 执行到 transaction.commit() 不执行了。
Fragment 执行到 transaction.commit() 不执行了。
2023-04-18 17:23:00
219
原创 正则表达式随笔
匹配出12306 第一条 需要匹配到 第二条不需要匹配到 也就是 12306 前面不能有数字 后面不能有数字。正则表达式 获取一段值 但是前面不能是数字后面页不能是数字,详情如下。1、搜索12306试试。
2023-03-24 14:59:29
112
原创 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
240
原创 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
247
原创 Android插入短信功能
公司内部有过需求 需要插入通过自己app插入短信刚开始觉得挺简单的,就是往数据库加数据而已,插入短信ContentResolver resolver=getContentResolver(); Uri url=Uri.parse("content://sms/"); ContentValues values=new ContentValues(); values.put("addre
2021-12-31 16:21:14
1195
原创 Android Ui卡断的原因分析及常见的解决方式
Android 界面卡断就是响应不及时,动画不流程的主观感受,从Android 系统来讲就是无法保证每秒绘制出60帧的画面,也就是出现了掉帧现象。UI 卡顿的原因及解决方式过度绘制解决方法:1⃣️ 去除不必要的背景色、2⃣️布局视图扁平化、3⃣️减少透明色的使用UI线程的复杂运算(耗时操作)解决方法:减少UI线程中的数据运算(减少耗时操作如:网络请求等)频繁的GC解决方法:频繁GC的原因:1⃣️内存抖动、2⃣️瞬间产生大量的对象尽可能减少for循环中去new对象或再onDraw中创建对象等
2021-11-23 16:45:41
2977
原创 接入 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
264
原创 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
287
原创 Android 适配暗黑模式
在样式中添加<style name="MyAppTheme">....... <item name="android:forceDarkAllowed">true</item></style>
2021-04-02 16:05:59
277
原创 Android事件分发的时候dispatchTouchEvent 中最好不要return true; return false;
Android事件分发的时候dispatchTouchEvent 中最好不要return true; return false;这样会造成子控件中的滚动事件跳动,如listview 滑动前会调动一下,很难受。
2021-03-26 10:44:14
760
原创 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
467
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
1144
原创 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
1378
原创 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
297
原创 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
1017
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
233
原创 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
1618
原创 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
1925
原创 Android 获取主题是不是暗黑主题,或者是不是深色主题
final boolean active = (getApplicationContext().getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_YES)!= 0;active 为true 就是深色主题
2020-08-21 14:32:07
2117
原创 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
372
原创 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
342
原创 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
1939
原创 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
341
原创 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
6741
NDK_2_3_1.zip
2019-07-16
CustomViewGroup.zip
2019-07-12
java算法,快速排序、冒泡排序、选择排序
2016-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人