自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Android-IM从零开始开发一个即时通讯项目

关于聊天室项目聊天室项目,也被称为即时通讯(IM)。其原理是服务器是一直在启动状态的线程,不断的从客户端(App)获取消息,收到消息后,进行类型和发送目标判断,以发送到群组或者单聊的方式,客户端收到消息后进行界面的展示。如果要自己开发即时通讯类的 App,那么必须得要后台,但是现在很多第三方工具已...

2017-08-30 13:42:59 26533 23

原创 Jetpack都这么火了,你还不知道?

前言 其实标题是给自己写的,有大概一年没做安卓了,Android技术的更新实在出乎意料,kotlin已经逐渐开始取代Java。最近被很多人问到Jetpack,表示没用过,瞬间觉得out了。包括现在流行的MVVM框架,都是这两年比较火的Android框架,是目前Android程序员必须要掌握的技术内...

2020-04-14 16:16:31 216 0

原创 Flutter iOS 读取录音文件 FileSystemException

在使用一个第三方录音组件库的时候遇到的问题,记录一下 flutter_sound 错误内容 FileSystemException: Cannot open file 1、先看我的FromData 用于提交的数据包 FormData formData = FormData.f...

2019-10-17 11:29:13 332 0

原创 The preferred solution is to cancel the timer or stop listening to the animation in the dispose() ca

错误内容: The preferred solution is to cancel the timer or stop listening to the animation in the dispose() callback. Another solution is to check the “m...

2019-10-14 19:21:25 142 0

原创 flutter 使用socket io 和 EventBus 开发及时通讯

1、 网上找一圈,关于flutter及时通讯的文章太少了。实际项目需要用socket io 来实现客户端的消息收发,服务端已经写好了。 一开始的思路是使用 socket io + 数据库,但数据库用起来是个麻烦事,其实socket io 目前现有的框架集成到项目中总是有各种各样的bug和兼容问题。...

2019-09-20 11:28:01 1355 0

原创 Flutter 路由页面跳转管理

一、当前页A 跳转 B (无参) Navigator.of(context).push( MaterialPageRoute( builder: (BuildContext context) => (PageB())), ...

2019-08-30 17:34:11 154 0

原创 Flutter 自定义圆形进度条

//进度条 class CircleProgressBar extends CustomPainter { Paint _paintBackground; Paint _paintFore; final double pi = 3.1415926; var progress; //...

2019-08-26 17:57:52 958 1

原创 Taro小程序自定义圆形进度条progress

代码 import { ComponentClass } from 'react' import Taro, { Component } from '@tarojs/taro' import { View, Canvas,Text } from '...

2019-05-23 17:53:22 1160 1

原创 小程序开发常用小技巧

::-webkit-scrollbar { width: 0; height: 0; color: transparent; }

2019-04-17 11:31:20 72 0

原创 小程序修改Radio默认样式

1、修改checkBox样式 /* 重写 checkbox 样式 */ /* 未选中的 背景样式 */ checkbox .wx-checkbox-input{ border-radius: 50%;/* 圆角 */ width: 40rpx; /* 背景的宽 */ heig...

2019-04-09 16:25:15 911 1

原创 Android Gradle依赖管理、去除重复依赖、忽略

常用依赖 //1.直接依赖第三方开源库,一般是托管在 jitpack 或者 jcenter implementation 'com.google.code.gson:gson:2.2.4' implementation 'com.android.suppor...

2018-12-12 15:49:54 9069 1

转载 Activity之间传递数据的方式及常见问题总结

Activity之间传递数据一般通过以下几种方式实现: 通过intent传递数据 通过Application 使用单例 静态成员变量。(可以考虑 WeakReferences) 持久化(sqlite、share preference、file等) 一、通过intent传递数据 (1)直接传递,...

2018-12-07 16:51:24 328 0

原创 Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'. > More than one

Error:Execution failed for task ‘:app:transformNativeLibsWithMergeJniLibsForDebug’. More than one file was found with OS independent path ‘lib/armea...

2018-12-04 18:20:21 861 0

原创 Android TextView自定义选中弹出菜单记笔记功能

效果图 两种方案实现 一、 通过onActionItemClicked 完整代码: mManusTv.setCustomSelectionActionModeCallback(new ActionMode.Callback() { @Override ...

2018-10-23 17:11:58 1783 11

原创 Android PopupWindow 部分机型(魅族)点击外部不能取消的bug

解决办法: 在showAs之前设置setBackgroundDrawable(new BitmapDrawable()); 完整代码: LayoutInflater inflater = (LayoutInflater) mContext .getSyste...

2018-09-17 14:09:57 300 0

原创 Android 针对华为手机调用裁剪出现圆形裁剪框的处理

在网上找的教程大都是: if(android.os.Build.MODEL.contains("HUAWEI")) {//华为特殊处理 不然会显示圆 intent.putExtra("aspectX", 9998); ...

2018-06-12 18:57:25 2670 1

原创 解决AndroidStudio Gradle方式引用第三方库重复依赖的问题

在一些使用依赖比较多的项目可能出现这个问题。 比如sample中使用了下面的依赖 implementation 'com.android.support:appcompat-v7:25.0.0' implementation 'com.allenliu.versi...

2018-05-30 19:41:33 7164 0

原创 Android-CardView适配5.0、像素适配

用过CardView的可能遇到过适配问题。 在Android 5.0,API 21以上的版本才正常,在21以下边距会自动增加阴影的宽度。 如果不做适配,那么间距就会扩大,比如设置阴影高度为4dp,marginTop为3,最后效果就是控件的高度-4,marginTop为4+3=7dp。 参考百...

2018-05-14 11:11:41 462 0

原创 React Native 结合ScrollableTab、RefreshControl和FlatList实现新闻分类列表

正好刚开始学RN,熟悉一下控件和基本使用。 涉及的知识点: 1、fetch网络请求,get 拼接参数,解析json。 2、ScrollableTabView、ScrollableTabBar 分类布局。 3、FlatList 数据列表。 4、Navigation 路由携带参数跳转...

2018-04-18 15:34:55 781 0

原创 React native react-native-scrollable-tab-view ScrollableTab 默认不显示指示器问题

在初始化过后可能会出现此问题,解决方案参考一位 GitHub 的 Issues需要修改ScrollableTabBar源码: 将this.updateView({value: this.props.scrollValue._value, }); 替换为: this.updateView({v...

2018-04-16 11:04:34 604 0

原创 RN WebView Cannot Add a child that doesn’t have a YogaNode to a parent with out a measure function

解决方案1: 检查 return 方法内是否存在注释,如果有全部删除。 解决方案2: 如果使用了WebView,那么请删除外层的View视图,否则在Android上可能出现这种错误。 render() { const { params } = this.props.na...

2018-04-12 17:27:59 1854 1

原创 ReactNative run-android No such file or directory错误

错误示例:env: bash\r: No such file or directory Could not install the app on the device, read the error above for details. Make sure you have an Android ...

2018-04-03 14:42:18 668 0

原创 ReactNative运行Could not install the app on the device, read the error above for details错误

Could not install the app on the device, read the error above for details. Make sure you have an Android emulator running or a device connected and ...

2018-04-02 17:53:52 4117 2

原创 使用Timer替换类-ScheduledExecutorService实现双击退出APP

1. 使用Timer退出 Timer在使用的时候存在缺陷,已经不建议继续使用。 private static Boolean isExit = false; private void exitSystem() { Timer tExit = null; ...

2018-03-28 17:02:30 367 0

翻译 【译】在JitPack发布自己的Android库

原文地址:https://www.jitpack.io/docs/ANDROID/ 为了在JitPack上发布你的Android库,你只需要在你的Git仓库中有一个可用的构建文件。 Android SDK在构建环境中可用,并且在构建开始时已经设置了ANDROID_HOME变量。版本默认使用Ja...

2018-03-27 16:11:19 143 0

原创 Android跨进程唤醒APP,启动指定页面

1 自定义启动协议。 AndroidManifest.xml中配置通过唤起启动的页面。 <!--唤醒app--> <activity android:name=".SecondActivity" ...

2018-03-22 17:21:14 3391 0

原创 Android Studio3.0 修改默认作者信息

File > Other Settings > Default Settings

2018-03-01 15:08:55 3617 0

原创 简单实现Android视频播放器倍速、清晰度切换、m3u8下载

简单的前提是使用开源库 在库的基础上添加相对应的功能,以 JiaoZiVideoPlayer 为例 ,本身自带的播放引擎是MediaPlayer,也就是Android自带的播放器,有很多不完善的地方,倍速切换只支持5.0以上,否则报 NoClassDefFoundError 错误。 而且还不支...

2018-02-22 16:56:50 8595 5

原创 SmartRefresh结合Lottie实现一行代码切换下拉刷新动画

一、介绍 SmartRefreshLayout 是目前使用比较广泛的一款下拉刷新和上拉加载库。实现起来非常方便,可以一键修改全局的刷新样式。而且该库已经提供了大量的刷新效果,其中包括默认的 SwipeRefresh 经典风格,以及一些高级的 比如游戏刷新、适用于聊天项目的上拉加载更多等等。...

2018-01-31 11:44:04 551 2

原创 解决addItemDecoration添加分割线重复绘制,间隔变大问题

recyclerview需要使用addItemDecoration给item添加分割线。但是在多层list嵌套的情况下,每次刷新数据,分割线可能都会重复绘制首先尝试使用在添加前使用removeItemDecoration,移除掉。但是并没有什么卵用。最后还是在实体bean的方法内添加一个用来区分刷...

2018-01-03 13:40:09 3591 0

原创 xutils3网络请求结合下拉刷新事件处理缓存

框架地址:https://github.com/wyouflf/xUtils3 一般首页的数据往往加载都需要耗费很长的时间,所以有必要使用缓存来减少加载的时间。 在xutils3中进行网络请求一般只用两个方法 一个是Callback.CommonCallback普通的网络请求 另一个是带缓...

2017-12-25 19:03:28 350 0

原创 解决Glide4.0和圆角裁剪CenterCrop冲突

两种方案:1、重写BitmapTransformation重写方法解决冲突,来自CSDN的一个解决方案 public class GlideRoundTransform extends BitmapTransformation { private static float radius =...

2017-11-15 10:35:22 4348 0

原创 java.lang.IllegalStateException: The specified child already has a parent错误解决

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first.错误解决。在使用viewpager切换...

2017-11-06 14:00:27 338 0

原创 Android集成腾讯TIM-SDK登录超时的问题

首次登录需要通过账号密码验证TLS, 如果使用默认初始化方法 TLSLoginHelper.getInstance().init(getApplicationContext(), SDKAPPID, accType, appVer);可能会出现登录超时的情况,所以要手动设置一些参数。 /**...

2017-10-27 15:48:26 1544 0

原创 Android设计模式之单例模式

作为所有设计模式中最简单的一种。可以说是只有一个对象,而这个对象是独立无二的。 确保一个类只有一个实例,并提供一个全局访问点 在开发中经常要new 对象,但是面对重复的对象,大量创建的话,会给项目添加大量的重复代码。所以就需要用到单例模式。单例模式的应用场景有很多比如线程池(threadpoo...

2017-10-17 09:14:05 219 0

原创 Android关于libs,jniLibs库的基本使用说明及冲突解决

最近在开发中遇到了一个问题,因为项目需要集成不同的sdk。相对应的也是不同的.so文件。针对libs中.so库的引入会遇到一些问题。比如要集成第三方NDK库:如果是在eclipse中,需要放到libs下对应库的目录。 如果是在Android Studio中,则会默认匹配main下的jniLibs...

2017-10-13 18:08:55 24373 0

原创 Android-live如何利用第三方SDK做一款直播软件

SDK服务选择目前有很多做直播云的服务 乐视云 网易云信 保利威视 阿里云 百度云 可以根据自己的需要做选择。直播基本原理Push推流 也就是直播端,用于采集视频信息上传,处理等。Pull拉流 用户实时播放直播的视频源服务端 提供视频的存储,码流的处理,压缩等。一般使用用第三方的服务。下面将...

2017-09-27 16:59:32 1109 0

原创 Android-IM消息接收事件之EventBus的应用

在即时通讯中需要不断接收服务端的消息。JMessage提供了Event来匹配本地和服务端的消息接收。在即时通讯项目中需要大量用到消息接收事件。所以结合项目简单分析下其实现的原理和过程。事件接收类的注册 JMessageClient.registerEventReceiver(Object re...

2017-09-11 15:37:37 442 0

原创 Android-IM使用imui组件结合JMessage实现即时消息对话

项目源码请参考 Android-IM 项目服务端使用极光JMessage 对话列表使用aurora-imui开源组件 简介imui是极光在GitHub上开源的一个即时通讯库,方便开发者快速使用,完成即时通讯类的对话展示。目前支持Android、iOS、React Native三大平台。...

2017-09-05 09:48:27 696 0

原创 Android-IM即时通讯关于消息撤回的处理

项目源码请参考 Android-IM 项目服务端使用极光JMessage 对话撤回的效果图:这里只是在对话的界面展示了撤回消息的处理。 其实还有一个地方,是会话列表,也需要动态展示撤回消息的通知。先说对话列表要进行的操作 发送方:点击撤回事件,本地视图移除,通知服务端更新 接收方:动态获取...

2017-09-01 16:24:36 2443 0

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