- 博客(49)
- 资源 (2)
- 收藏
- 关注

原创 Android各版本BLE处理方案(Update on 2021-01-05)
Android BLE此文档记录Android系统中,BLE在各个Android系统版本会出现的问题以及建议的处理方案,非最优解决方案。**Update on 2021-01-05**29 (10.0)1、华为和其他一部分手机在Android系统10.0的时候,如果设备广播间隔稍微长了一些,可能就会出现扫描不到设备的问题,处理的方案为改为批量回调筛选设备,该方案针对扫描特定型号设备时比较好使,如果换成其他手机,还是改回单个回调的方法较优。```javaScanSettings.Bu
2019-01-27 10:54:25
2952
4

原创 FloatingActionButton属性、用法,以及解析并解决sdk25以上只隐藏不显示的问题
悬浮按钮(FloatingActionButton),在下文简称fab,今天我们来讲讲它的一些属性与用法,以及解析并解决sdk25以上FloatingActionButton只隐藏不显示的问题。先展示一下动态图 本次开发环境基于sdk25.使用之前要先引入design包compile 'com.android.support:design:25.3.1'xml属性
2017-07-04 17:38:52
25886
原创 有关NodeBB从低版本1.7.x升级到最新的1.16.x版本
有关NodeBB升级历险记公司线上的论坛网站一直都是1.7.4版本,而且有不少地方感觉用起来不是很顺手,就想着应该给它升升级了,从1.7.4升级到最新的1.16.x版本;注:不要直接跨版本升级到最高版本,会有数据错乱的问题;升级实操备份数据在正式升级之前,理应做的一件事就是备份数据,包括MongoDB里的数据和整个NodeBB目录的数据;MongoDB数据库数据,我是通过客户端进行备份的,略;NodeBB目录数据备份;tar -zcvf NodeBB.tar.gz NodeBB/1
2021-03-24 16:56:12
709
原创 有关EMQX桥接的配置工作
前言桥接是一种连接多个 EMQ X 或者其他 MQTT 消息中间件的方式。不同于集群,工作在桥接模式下的节点之间不会复制主题树和路由表。桥接模式所做的是:按照规则把消息转发至桥接节点;从桥接节点订阅主题,并在收到消息后在本节点/集群中转发该消息。环境:emqx1 | v4.1.2 | 192.168.5.207:2883 | 节点nodeemqx2 | v3.1.1 | 192.168.5.209:2883 | 远程broker用Docker在两个服务器上面各自跑了一个emqx的容器,暴
2020-12-15 16:58:15
4600
3
原创 Springboot多模块依赖开发
前言有关Spring-boot多模块依赖开发,针对使用springboot架构的java程序开发,为了解耦合,需要把各个功能模块给封装起来并区分开,进行模块化,减少重复性的工作;多模块依赖开发创建父项目首先先新建一个项目,选择springboot方式创建;创建好项目之后,然后会出现以下项目结构,因为这只是当做一个父项目,不需要有具体的实现,所以只保留红框内文件(.gitignore可忽略),其他文件删除掉;创建子模块删掉多余的文件之后,接下来我们新建三个子项目,也就是三个模块分别
2020-11-26 11:02:27
4016
原创 Docker打包镜像的两种方式
前言docker image其实就是一个文件,一个可被docker运行的文件,运行会成为docker container,也就是docker容器。所以如何运行一个轻量级、效率高的容器,了解镜像很重要,下面先了解构建方式。System:Linux(CentOS 7)Docker Version:19.03.12构建Image通过Dockerfile通过编写Dockerfile文件,Dockerfile示例如下:FROM ubuntu:18.04COPY . /appRUN make /ap
2020-11-24 10:49:55
9718
原创 MySQL高版本导出数据库,低版本导入不了的问题
前言有关docker在创建mysql container的时候,初始化数据库失败的问题解决记录;Config docker:19.03.5 mysql image:5.7 system:centos 7Operate正常操作mysql在docker-compose上的配置如下test_mysql: image: test_mysql:latest restart...
2019-12-19 15:59:35
847
原创 MongoDB/MySQL命令行导入导出数据库/表结构/数据/集合
前言使用导出导入数据库集合使用export导出数据库集合到json文件mongoexport -h localhost:27017 -u 'db_name' -p 'password' -d [db] -c [collection] -o a.json-h 地址-u 数据库账号名-p 数据库账号密码-d 数据库名-c 数据库集合名-o 输出文件路径及文件名使用expor...
2019-07-29 17:55:45
3101
原创 macOS Pillow Build
Mac PillowEnvironment:macOS MojaveVersion:10.14.2Time:2019.03.01PIL是python的一个图形库,而最新的一个版本是2009年为1.1.7更新的,虽然这么久远了,但是官方还未说明PIL项目被抛弃。而Pillow是fork PIL项目的,Pillow的作者的原意也是为了促进以及支持PIL的积极开发。macOS 默认自带pyt...
2019-03-01 14:37:54
574
原创 Docker私有服务器(harbor)搭建
Docker的使用必须关联Docker镜像服务器,而官方的Docker Hub是用于管理公共镜像的,而对于企业来说,很多东西都是私有的,不公开的,放到Docker Hub上不安全,也就衍生除了搭建Docker私有镜像服务器的需求了。其实,在使用了Docker之后,一旦涉及到需要搭建服务器的工作,第一个念头总是会浮现出Docker Hub上面是否有相应需求的镜像,上去一搜还真有,好像叫做regis...
2019-01-27 10:16:01
934
原创 Viewpager+Fragment动态处理(添加、删除)Fragment
问题在进行Fragment的添加和删除时,适配器刷新之后发现并没有什么变化,这是为什么呢?理解FragmentPagerAdapter适合少量的页面显示。该类每一个生成的Fragment对象都会储存在内存中,所以适合相对静态、页面少的情况,如果是页面多,且Fragment的处理相对动态(添加、删除等)时,使用FragmentStatePagerAdapter较为适合。Fra...
2018-08-28 18:27:55
12123
14
翻译 AndroidX重构和映射——update2019.01.29
原文地址:https://developer.android.com/topic/libraries/support-library/refactorAndroidX重构未与Android操作系统捆绑在一起的API包将被重构到新的androidx命名空间中。只有包名和Maven工件名受到影响; 原来的类名,方法名和字段名不会更改。有关AndroidX重构的更多信息,请参阅博客文章。注意...
2018-08-16 14:48:14
6082
原创 Android 使用AndResGuard进行资源文件名混淆
前言在Android中,apk文件其实也只是一个压缩文件而已,对它进行改后缀再解压缩,就会得到dex等文件,如图:通过反编译,我们可以查看到对应的代码,但如果经过代码混淆的话,即使被别人反编译了apk,也只是一堆的abc的命名,可资源不同,直接解压缩apk就可以获得相应的资源文件了,毫无安全性可言,就相当未经过混淆处理的app,被人反编译了代码,直接拿着源代码改改然后重新打包就变成了别人的...
2018-07-31 10:41:28
1921
原创 Google Play App Signing的问题以及解决方式
Google Play App Signing是Google Play 的应用签名,在Google Play上创建项目的时候如果勾选了它,那么它就会生成一个签名文件,不管你上传到Google Play的apk是否用你的签名文件打包,最终都会被替换成Google Play App Signing里的签名文件。平常很少接触Google套件的我,最近用上了Google maps api,调试阶段一切...
2018-07-20 16:09:55
12279
10
原创 Android Studio3.0 flavorDimensions多维度理解(版本差异化打包)
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...
2018-06-01 09:32:52
35994
7
原创 java冒泡排序算法
冒泡排序冒泡排序:两个数比较大小,较大的数下沉,较小的数冒起来。具体排序方式(从小到大):将最前面相邻两个数进行比较大小,把大的排到后面,然后比较第二个和第三个这相邻两个数,以此方式一轮下来,最大的那个数就会被排到最后面,这一轮总共比较了n-1次(n为数组长度),再进行第二轮,这时要比较的次数是n-2次,而第二大的那个数被排在了倒数第二位,以此下来,最终得到排序后的数组。按照原理,我们...
2018-03-21 17:02:44
574
原创 IntelliJ idea 新建项目并导入netty
前言笔者的主要技能是移动端开发,eclipse和android studio这两个工具都很熟手,android是以java为基础的,但是笔者基本不涉及java项目。最近接触了一个项目是基于netty4进行开发的,开发环境是IntelliJ idea,虽然对android studio很熟手,但是接触了idea,还是发现有点不一样的,为了多接触java项目,所以做做笔记。流程1、新建...
2018-03-03 17:35:02
12973
5
原创 ListView或RecyclerView嵌套EditText出现复用问题的解决方式
众所周知,使用listview时,出现大量数据的时候都会采用复用的写法,而recyclerView里已经有了复用的机制了。而因为复用的关系,如果item布局当中涉及到edittext等一些控件时,就会出现因为复用而产生的数据错乱。特别是在item设置数据的时候,如果你的edittext有加入TextWatcher事件监听,而且有在afterTextChanged对文本进行操作的话,这时候,你没
2018-01-25 16:32:26
2827
原创 android studio GC overhead limit exceeded
今天在执行as的打包命令的时候出现了一个问题,运行的时候正常,然而打包却出现这么个错误,有点懵。Execution failed for task ':Xxx:transformClassesWithMultidexlistForAppRelease'.> GC overhead limit exceeded网上有人说在app模块下加入配置dexOptions {
2018-01-13 10:10:59
1895
原创 ios objc与swift的桥接文件
ios中,swift与objc相互要相互调用的话,这里objc可以直接调用swift中的类和函数,但是swift没办法直接调用objc中的类和函数,这时候就需要用到桥接文件,在桥接文件里import进objc中类的头文件就可以。具体操作如下:如我们引入了objc的框架masonry,但是你的项目是swift的,这里就需要用到一个桥接文件,新建一个文件,选择header类型。桥接文件名字
2017-11-18 14:35:08
1353
原创 https://maven.google.com studio3.0问题
最近都在接触ios的开发,以至于有段时间没打开AS了,然后昨天打开更新了一下,发现居然出现了好多问题,引用的第三方包都不支持了,还让我一个一个的去掉,这是什么情况,WTF。才发现Android Studio 3.0.0以上已经默认添加google()作为google的远程仓库了。遇到问题的时候,我还是喜欢先去分析问题的出现,在更新之前是没有问题的,那么就是新版本的AS有问题,AS有问题,我
2017-09-18 15:36:44
9173
原创 ios react-native 环境配置
在这里不讲react-native的开发,只讲有关在ios项目上配置react-native环境的过程在这里会经常用到终端,请习惯可视化界面操作的同学最好学着用命令行进行操作,我也是这么一步一步过来的。首先先准备好需要的工具 1、Homebrew,mac的包管理器,用于装node.js与其他一些东西的 官网:https://brew.sh/,进入官网后在终端执行官网提示的命令行,这里给
2017-09-15 15:02:38
734
原创 ios 删除线的obj-c实现和swift实现
删除线,有几种实现思路 一种是用富文本实现 一种是继承uilabel,重写draw方法,画出来 一种是用分类(swift用拓展)实现 …..在这里我觉得画出来是最好看的,所以,我采用了第二种,画出来obj-c:#import @interface StrickoutLabel : UILabel@end#import "StrickoutLabel.h"
2017-09-07 10:29:21
1012
原创 ios obj-c KVO模式的介绍和使用
在项目需求中,其中有一个需求是监听某个自定义View的隐藏显示来进行其他操作,比如说自定义View里面有个UITextField,当软键盘显示时,隐藏该自定义View的时候需要把软键盘也隐藏掉,这时候如果在依赖该自定义view的类当中进行判断的话,需要把每一次隐藏该自定义View的地方都进行一次隐藏软键盘的操作。操作软键盘的人都知道软键盘都是依赖UITextField的对象的,哪个UIText
2017-08-17 16:02:43
830
原创 ios obj-c 延迟时间后没收到通知就执行操作
不论是在android还是ios,都会有个问题,就是根据输入框内容进行接下来操作,如果是请求网络数据的话,那么随时改变文本内容就直接请求网络的话,想象一下,快速删除文本,几十毫秒删掉一个字符串,然后请求一下网络,那么会造成服务器的负担,而且还可能会出现数据错乱。所以这时候就出现了该需求,就是在用户一段时间不进行频繁操作之后就执行最后的操作。android方面可以用handler和message配合使
2017-08-14 11:37:01
691
原创 UITableView添加头部视图,并解决添加后无法滑动的问题
在UITableView里面添加了头部视图后,如果头部视图大于界面的高度,可以滑动,但是如果这时候再给添加cell的时候,发现cell并不出现,而且头部也不能滑动,即使可以滑动也没有出现cell。只要继承UITableView,并重写一个方法,就可以解决该问题。//去掉 UItableview headerview 黏性(sticky)- (void)scrollViewDidScr
2017-07-31 17:21:24
5407
原创 Palette调色板的演示
Palette的翻译是调色板,也就是对于颜色的控制。具体有什么特效是可以让Palette发挥出它的光彩呢,看以下的动图。 Palette强大的地方在于可以抽取图片当中突出的颜色,然后设置到状态栏,标题栏等地方,使之整体的主题随之变动,非常协调。以前用天天动听的时候就存在这种效果,换歌的时候歌星的专辑图改变了,整个界面的颜色会变成专辑图当中突出的颜色。那时候就一直觉得很神奇,现在发现实现起
2017-07-13 17:14:35
838
原创 Android 切换夜间模式的简单实现
在研究如何切换夜间模式的时候,在网上发现了一个看起来非常方便的方式,那就是利用v7包里面提供的几个api和修改样式来进行实现夜间模式。展示图片 引入appcompat v7包compile 'com.android.support:appcompat-v7:25.3.1'然后在代码里直接设置AppCompatDelegate.setDefaultNightMode(AppCompatDelegat
2017-07-01 16:00:12
1636
原创 apk签名之用 jarsigner签名
Android sdk中有个工具jarsigner,可以对apk进行签名,看名字感觉应该可以对jar也进行签名。在360那里上传apk的时候,同事跟我说因为360要加固的关系,所以本来已签名的apk最终得到一个加固后未签名的apk,然后需要我们自己重签名apk,当然可以直接下载360加固保,可以直接重签名,密钥这么重要的东西,怎么可以随便用别人的软件进行签名呢,所以直接否认这个方案,然后才在网
2017-06-27 16:46:17
5247
原创 Material Design之DrawerLayout与NavigationView实现抽屉效果
记录自己对Material Design开发之前项目引用的是SlidingMenu框架的实现,然后决定自己试试DrawerLayout与NavigationView的实现。在尝试之后,期间也就遇到了一个问题,发现实现起来非常的简单,网上的教程一大把,基本所有的问题都可以解决。基本布局情况,就是用DrawerLayout作为最外层,嵌套主界面内容布局,还有NavigationView。 主界面的
2017-06-27 16:35:52
653
原创 mac android studio 执行terminal命令出现Permission denied的问题
在Android studio中,在进行打包的时候我个人习惯是用Terminal执行命令打包,因为可以执行各式各样的gradle task。在刚开始用mac book的时候,执行命令时出了问题,发现在当前项目执行命令时,mac电脑的用户需要在命令前面加(./),然后继续执行命令的时候,又出了新问题,出现了Permission denied的问题,然后网上一查,权限的问题,用了别人的解决方案一下子就好
2017-06-24 14:34:53
7628
原创 android 开发,eclipse生成jar包,分离资源文件并混淆
sdk开发中,用eclipse进行开发带有资源文件的library库,封装混淆成jar包并分离出资源文件。1、预备工作设备:MacBook 环境:mac在这里我们采取的是所有的java类打包成jar包被应用,然后library库里面的资源文件分离出来,直接被拉进项目对应的目录中就可以被jar包引用,这里利用反射根据资源名字获取资源ID,所有代码中引用资源文件的地方统一采用这种方式。package
2017-06-23 11:36:22
913
原创 最新 Android studio 发布Library库到JCenter服务器
前言:在经历了从eclipse到Android studio过渡之后,引入第三方库的操作也变得相对简单起来,再也不是自己去下载相应的jar,而只需要在build.gradle一句简单的配置信息即可。如下:compile 'com.voctex.banner:banner:1.0.7'其实Android studio在配置了这句信息之后,在build的时候会去jCenter服务器去下...
2017-05-05 11:22:12
910
原创 解决mac电脑上出现Permission to xxx.git denied to xxx的问题
第一次用mac从我的github上导下项目,结果在修改之后想push上去的时候突然出现问题了,这部电脑之前是其他人用的,那个xxx就是他的账号,出现该问题后,针对问题,一下子就百度出了一些解决方法,但是一一试过之后还是没办法解决,问题如下:yidont:VtBanner mac_xihao$ git push origin masterremote: Permission to voctex/Vt
2017-05-04 16:55:03
10468
原创 解决虚拟按键遮盖底部视图的问题
Android部分手机会有虚拟按键,而没有实体按键,例如华为系列的手机。然而在开发过程中,有时候会涉及底部视图的开发,最终的结果却因为虚拟按键的关系,结果底部视图被虚拟按键给遮盖住了。在这里,分为两种情况,一种是Activity继承普通的Activity,一种是Activity继承AppcompatActivity。第一种情况的解决方案:(继承普通的Activity) 直接在配置文件Android
2017-04-11 17:04:34
5228
原创 ios新建项目图解
鄙人新手一个,是由开发Android转向ios开发的,当然也只是想多了解一下ios开发,毕竟技多不压身。 之前自学了oc,然后都是直接在我同事的项目上直接开发功能,但是对于布置一个新的项目来说,我很多都不清楚,这对我来说是不允许的。所以我花了点时间参考了网上很多博客然后搭建了一个可运行的新项目,特此做下笔记。首先先创建一个空的项目,如下图: 然后就会生成一个新的空项目,运行之后一篇黑,这还不是我
2017-03-03 16:25:13
509
原创 ios 自定义0.5的线条UIView
这是本人第一次写有关ios的博客,也不知道要写什么内容,所以先把自己随手弄的一个自定义View给搞上来,大家觉得好用的话也可以拿去用,后期我再优化一下,感觉在布局那块还是蛮好用的,当然,如果你们这群大神有更好的用法请通知我,我刚涉及ios不久。在ios xib布局文件中,用自动布局约束的时候,UIView的宽和高最小只能设置1,而不能设置0.5之类的,然后在运行的时候会发现线条太粗,影响整体美观。一
2017-01-17 20:34:04
1925
2
原创 android与js(JavaScript)的交互
android与js(JavaScript)的交互android开发中,难免会涉及到web网页的展示,web网页的展示的话,有时候web网页需要用到android app上的一些数据,或者是android这边需要调用到js那边的功能,这时候就需要android与js的交互了既然说到是交互,那么肯定是android这边可以调用js那边,或者是js那边可以调用android这边的函数首先,android
2016-12-29 09:11:56
501
原创 自定义View(一)——measure
View的测量自定义View的时候,一般都会涉及到View的几个方法,onDraw、onMeasure和onLayout等方法,依照顺序走的话,会先走onLayout——onMeasure——onDraw,其中onLayout方法主要是处理该View在父布局当中的坐标位置,onMeasure方法是测量该View的大小宽高,最后onDraw方法则是把该View的内容绘制出来。这里要讲述的就是onMea
2016-12-29 08:43:39
333
原创 我的 android studio ndk 开发笔记(1)
进入android这一行这么久,对android studio这个工具也是非常熟练了,但是就是还没去接触有关ndk的开发,有时候也浏览了一下相关的博客,但是却也是有点乱七八糟的,估计是我没认真去找那些写得好的博客。 这一次认真下来,有心弄一下ndk的开发,不求弄得很懂,但求可以简单调用就行了,经过多篇博客的认证与实验,终于在android studio上成功生成so包,并调用成功。所以接下来我将把
2016-12-27 12:52:23
500
cmpp2.0客户端
2018-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人