- 博客(23)
- 资源 (5)
- 收藏
- 关注
原创 小程序 组件properties报错Cannot read property ‘name‘ of undefined
组件自定义属性必须写type属性。比如:properties:{frameTitle:{type:String,value:'标题',},}
2020-09-26 14:57:04
1823
原创 Android监听wifi连接广播重复
wifi连接时会收到两次连续的广播导致程序执行多次,此时可以单例模式创建一个类,在这个类中新增一个变量来判断,当接收到第一次时修改变量值,等第一次执行完后再恢复变量值。//单例模式创建WifiUtils.classpublic class WifiUtils { private static WifiUtils utils = null; public int rece...
2019-12-05 16:18:35
731
原创 WIFI开发相关问题
1.wifiManager.getScanResults()返回空或0 添加权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE...
2019-11-28 15:28:59
296
原创 Tinker热修复集成总结
一. 在 app build.gradle同级目录下新建 tinkerpatch.gradle。具体内容: apply plugin: 'tinkerpatch-support'import java.util.regex.Matcherimport java.util.regex.Pattern/*** TODO: 请按自己的需求修改为适应自己工程的参数*/def bakP...
2019-08-19 11:33:07
199
原创 Android productFlavors打包不同app时 app_name冲突问题
1.如果项目中没有aar,那么直接在AndroidManifest.xml Application节点下添加tools:replace="android:label"进行替换即可。2.如果项目中有引用aar文件,即使我们添加了tools:replace="android:label",app_name也会显示aar文件的app_name,此时在build.gradle中productFl...
2019-08-16 12:02:06
1662
原创 ReactNative Unsupported major.minor version 52.0问题
首先看一下自己的jdk,jre版本是否对应,如果jdk版本不是1.8,则需要升级并修改环境变量,如果jdk,jre没有问题那就检查自己的环境变量是否配置正确,需要把JAVA_HOME修改为jdk1.8的路径。...
2019-01-24 10:21:15
304
原创 React TypeError: Cannot read property 'keys' of undefined 问题
Uncaught TypeError: Cannot read property 'keys' of undefined at Object.283.290 (browser.min.js:8)代码都没有问题,但是一运行就是无法渲染,看了报错信息,原来是browser.min.js的版本太高了,后来:https://cdnjs.cloudflare.com/ajax/libs/ba...
2019-01-19 11:33:55
3817
原创 红黑树笔记
二叉排序树在某些情况下层级过深,所以在查找的时候效率不好。二叉平衡树在二叉排序树的基础上进行了优化,两边的平衡因子最大不能超过1,在查找的时候效率比较好,但是在删除节点的时候就会非常糟糕,因为每次删除节点可能会伴随着整棵树的移动(如:左平衡操作,右平衡操作,平衡因子修改)。红黑树在二叉平衡树的基础上又进行了改进,它的左右子树的层次最多不超过一倍,删除节点时只需要找到此节点的后继节点,把后继...
2018-12-25 10:14:38
130
原创 AVL树(平衡二叉树)
概念:是一种二叉排序树,又称平衡二叉树,其中每一个节点的左子树和右子树的高度相差至多等于1。平衡因子:树上节点的左子树的深度减去右子树的深度的值。树上所有节点中,如果有一个节点的平衡因子的绝对值大于1 ,树就失去了平衡。最小不平衡子树:距离插入节点最近的,且平衡因子的绝对值大于1的节点为根的子树。左转,右转:当树失去平衡后,我们可以通过节点的旋转来使其达到平衡。 例:有一棵...
2018-12-19 17:07:36
444
原创 哈夫曼树
概念:哈夫曼树又称最优二叉树,是指对于一组带有确定权值的叶子结点所构造的具有带权路径长度最短的二叉树。首先要明白几个概念:路径:如图中每个结点之间的长度称为路径。结点路径长度:如下图,假如每个路径的长度为1,那么A的路径长度为0,。B,D的路径长度就为1 ,C的路径长度为2 。树的路径长度:每个结点的路径长度相加。权重:代表每个结点出现的频率(次数)。带权路径长度:...
2018-12-17 14:14:59
245
原创 树的存储结构
树的概念树是由多个结点组成,每个结点所包含子节点的个数称为结点的度,度为0的结点称为树的叶子结点,度不为0的结点称为分支结点。一起看下图:上图中d,e,f为叶子结点,a,b下面分别有两个结点,那么a,b的度为2,c下面有一个结点,c的度为1,d,e,f的度为0.。整棵树的度为所有结点中度最大的那个数。上图中数的度就为2,整棵树有三层,所以树的层次和深度分别为3。 一,树...
2018-12-06 15:39:01
243
原创 Android低功耗蓝牙 不回调onServicesDiscovered问题
搞了一个下午,搜来搜去还是没有解决问题。后来仔细想想gatt.discoverServices()是用来发现服务,之所以没有执行onServicesDiscovered是说明没有发现相关服务。那问题肯定就出在了gatt.discoverServices()。后来我尝试多执行几次gatt.discoverServices()。竟然可以回调了,而当只调用一次gatt.discoverSer...
2018-12-05 17:10:51
6015
8
原创 Android 插件换肤
市场上很多app支持换肤效果,并且还可以从网上下载皮肤包进行加载换肤,接下来就来聊一聊它的实现原理。思路:首先我们需要知道哪些控件需要实现换肤,有两种方法第一种:自己整理,通过findViewById一个个实例化出需要执行换肤的控件,在拿到颜色值,或图片后一个个去替换。第二种:在布局文件初始化的时候通过属性判断去找出需要换肤的控件。很明显第一种比较麻烦,而且不易维护。那么今天就...
2018-12-05 16:59:56
275
原创 关于Arraylist和LinkedList
一,Arraylist 在我们开发中经常用到,今天就来研究一下它的实现原理,由源码可以看出,其实它内部维护了一个数组 /** * Shared empty array instance used for empty instances. */ private static final Object[] EMPTY_ELEMENTDATA = {}; 所以,它的增加,删除...
2018-11-30 15:19:11
211
原创 JAVA排序算法
一 , 冒泡排序 思路:数组中每两个元素相互比较,如果前者比后者大就更换位置,这样在一轮循环之后就会有一个最大值被排到数组末尾, 最后一个位置的值就被确定了,下次循环把 i --。 public static void bubbleSort(int[] array){ for(int i=array.length-1;i&g...
2018-11-27 09:56:55
157
原创 SwipeRefreshLayout刷新时屏蔽点击事件
由于工作需求,需要在SwipeRefreshLayout刷新时屏蔽点击事件。 直接从事件分发下手,自定义MySwipeRefreshLayout继承自SwipeRefreshLayout重写dispatchTouchEvent方法。public class MySwipeRefreshLayout extends SwipeRefreshLayout { publi...
2018-11-26 16:49:09
1482
原创 Android低功耗蓝牙开发问题总结
1.app收不到蓝牙返回的数据。 需要把写的特征值的通知权限设置为truebluetoothGatt.setCharacteristicNotification(characteristicF2, true);2.断开蓝牙连接。 有时候会发现调用disconnect断开蓝牙连接时无法搜索到此设备,当连接断开后要调closeGatt释放资源,不用调disconnect,也 ...
2018-11-24 17:45:14
525
1
原创 Android 增量更新demo
增量更新:通过bsdiff.exe工具将oldapk和newapk进行比较并生成一个差分包patch,用户需要更新时只需要下载差分包到本地通过 native方法将oldapk和差分包patch进行合并,生成newapk。 所需资源下载: https://download.youkuaiyun.com/download/qq_2...
2018-11-24 17:16:53
354
原创 Android同一个项目编译出不同的版本
一套代码编译出不同的apk,那就需要动态配置一些数据。1.打开app中build.gradle添加如下代码android { defaultConfig { ... //版本名后面添加一句话,意思就是flavor dimension 它的维度就是该版本号,这样维度就是都是统一的了 //不加这行代码编译会出问题 flavorDimensions "...
2018-11-13 09:05:15
1029
转载 ScrollView嵌套ListView、RecyclerView,使其高度自适应
1、针对ScrollView嵌套ListView时只显示第一个item高度的bug,可在activity里动态修改ListView的高度(即计算每个item和分割线的高度后进行相加得到总高度),在setAdapter之后调用下面这个函数即可。值得注意的是,此时ListView的子item根布局应设为LinearLayout。 private void setListViewHeightB...
2018-11-01 17:03:26
536
转载 Intellij idea破解办法
最开始的时候intellij用得是社区版,因为博主没有钱去买专业版。。。但是后来发现社区版的功能确实弱了很多,比如流弊闪闪的Diagrams功能就没有…比如社区版不支持web项目,想起个tomcat跑个web项目都没法搞。于是,博主重新下载了个专业版的intellij,果然各项功能用得飞起,起个web项目再也不用担心没有tomcat server了。专业版的intellij可以免费试用30天。...
2018-11-01 17:02:43
325
原创 android 融云对话列表和会话界面不刷新问题
会话列表一直不刷新我的解决办法:RongIMClient.setOnReceiveMessageListene会覆盖kit库中的监听,导致无法收到消息,所以要使用 RongIM.setOnReceiveMessageListener
2018-11-01 17:01:34
2595
原创 Java与javascript交互
网上案例很多,一直记不住,所以写下来作为笔记。//1. 首先webview需要设置支持javascriptWebSettings setting = webView.getSettings();//设置支持javascriptsetting.setJavaScriptEnabled(true);//2. 在 WebView 中绑定 Java 对象jsData = new ...
2018-11-01 16:54:50
792
Android 组件化开发module间通信
2018-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人