技术
文章平均质量分 62
HL是限量版
我不曾向往一张未经沧桑的面庞,但会仰慕一颗赤诚热烈的少年心
展开
-
【详细】三种主流跨平台技术探讨
前言每当我们评估新技术时要问的第一个问题就是“它会给我们的业务和客户带来哪些价值?”,工程师们很容易对闪闪发光的新事物着迷,却经常会忽略这些新事物其实可能对我们的客户没有任何好处,反而只会让现有的工作流程更加复杂。2021年3月3号,google宣布Flutter 2:Flutter的重大升级,使开发人员能够为任何平台创建美观,快速且可移植的应用程序。针对web,移动和台式机构建的下一代Flutter。用户可以使用相同的代码库将本机应用程序发布到五个操作系统:iOS,Android,Window原创 2021-03-24 11:37:06 · 2118 阅读 · 12 评论 -
【详细】手把手实现Grafana自定义主题
Grafana 有两个默认主题,dark 和 light,但是实际项目中,这两个主题展示效果并不出色,有时候为了更好的展示效果,我们需要修改Grafana的主题实现更漂亮的展示,今天就来探究实现这个功能Grafana版本Grafana v7.3.71. 效果展示(1)星空主题(2)hotline主题(3) 青色主题(4)灰度主题2. 具体实现2.1 安装Boom Theme Plugin(1)指令安装grafana-cli plugins...原创 2021-01-22 15:09:21 · 6801 阅读 · 17 评论 -
【详细】IntelliJ IDEA: 无法创建Java Class文件
有时候IDEA新建一个项目,可能导致编辑器不能直接创建java文件,见下图,于是我尝试了以下方法:(1)选择 File——>Project Structure——>Project Settings——>Modules如图新项目,new后面并不能创建Java文件(2)选择该项目的java存放的文件夹,将其设置为源文件,点击OK(3)再次单击新建,就会发现可以新建java.class文件了...原创 2020-10-15 12:57:27 · 10548 阅读 · 4 评论 -
【超详细】数据库事务隔离探究
前言提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这100块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这时就要用到“事务”这个概念了。简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQ原创 2020-09-11 14:52:10 · 241 阅读 · 3 评论 -
【详细】Python蓝鲸登陆接入企业ldap教程
之前有参照《企业内部登录对接蓝鲸智云统一登陆》http://docs.bk.tencent.com/develop_center/enterprise_login/来了解蓝鲸社区版的登陆认证体系,尝试着接入企业ldap认证,目前在蓝鲸助手的帮助下已经实现接入,下面是接入教程和代码片段,需要实验的小伙伴可以从附件中下载源码修改相应的内容。特别说明:蓝鲸登陆体系的ldap认证方式是通过api请...原创 2019-12-09 22:31:31 · 1910 阅读 · 2 评论 -
【详细】长按APP图标弹出快捷方式,ShortCut功能实现
Shortcuts介绍Android7.1(API Level 25)及以上系统可以自定义Shortcuts,通过在桌面上长按App Icon弹出Shortcut列表,点击某个shortcut可使用户快捷得打开App里常用的或推荐的任务。国内各个厂商基本上在安卓8.0上集成了该功能。见下图 1.1 Shortcuts的简单作用每个Shortcut可以关联一个或多个intents,...原创 2018-11-14 18:10:52 · 11476 阅读 · 8 评论 -
【详细】TeamViewer安装使用教程
今天给大家分享一款可以远程办公,协同办公的软件--TeamViewer,第一次知道它是看到师兄出去玩用手机改BUG!被深深地震惊到了,,,渣渣感觉也体验一下这款好的工具。 下载地址:https://www.teamviewer.com/en/个人版免费 安装教程安装完了,进行登陆ID是电脑的id,有一个密码,这个是我们用其他终...原创 2018-11-12 19:08:23 · 25538 阅读 · 5 评论 -
傻瓜也可以看懂的——ButterKnife实现原理
ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来也是特别方便,使用起来...原创 2018-11-15 14:11:36 · 340 阅读 · 0 评论 -
【详细】自定义view实现圆形头像功能
个人中心是每一个app都有的模块,在个人中心中,我们常常可以看到一个圆形有边框(无边框)的头像。作为一个常见的功能,今天我们把它实现一下。1. 需求分析 这个主要分为两部分:一个头像边框,一个是圆形头像显示,我们主要是考虑采用自定义View来实现这个需求。2. 实现过程 废话不多说,看一下代码。2.1 新建一个View类 我们新...原创 2018-11-08 17:20:01 · 545 阅读 · 0 评论 -
Android 7.0动态权限方法
1. 基本方法1.1 注册表申请(安卓6.0以下的手机需要)<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.CAMERA" /><uses-permiss...原创 2018-11-07 19:29:37 · 604 阅读 · 0 评论 -
【详细】Android studio统计代码行数,轻松实现
最近经常想看看自己写了多少行代码,但是一行一行统计实在是太费劲了,加上代码中,有一部分是跨平台的代码(ios和Android两端)需要区分统计,十分不便。于是,上网搜了一下,发现了一个神器Statistic(插件)可以智能统计各类代码行数。 1. 首先肯定是将插件下载下来,下载地址:https://plugins.jetbrains.com/plugin/45092. 下载...原创 2018-12-04 18:43:14 · 4723 阅读 · 0 评论 -
一分钟实现动态模糊效果
现在,越来越多的App里面使用了模糊效果,尤其是动效效果中尤为常见。 对于这类需求,Android推出RenderScript。测试表明,使用RenderScript的渲染效率和使用C/C++不相上下,但是使用RenderScript却比使用JNI简单地多!同时,Android团队提供了RenderScript的支持库,使得在低版本的Android平台上也能使用。...原创 2018-11-27 16:22:10 · 1947 阅读 · 0 评论 -
RxView学习及实现按钮防抖功能
RxViewRxBinding是是一组开源库,可将Android的中各类UI控件的动作事件转换为RxJava中的数据流。使用RxBinding,以RxJava观察者模式来处理UI事件.RxView是RxBinding中的一个组件。 引入依赖注意:RxBinding包中包含RxJava的内容,所以就无需再添加RxJava的依赖了。dependencies { ........原创 2018-11-28 16:50:14 · 4151 阅读 · 0 评论 -
【详细】实现多布局的recyclerview
前言在项目中基本上都会用到的 多种item(条目)的加载 比如大家常见的app( <网易新闻>app的新闻的列表,<新闻头条>app的新闻列表) 都是采用了加载多种item的布局。例如下图: 但是我们要如何实现这种功能呢?很多人说用recycleview嵌套recycleview,但是事实上,种方法并不理想,理由是一方面recycleview...原创 2018-12-15 23:06:30 · 438 阅读 · 0 评论 -
一分钟实现柱状图自定义View
前言最近项目组要求实现一个柱状图,本想用第三方实现,但是领导说最近app瘦身,尽量不要采用第三方。于是,渣渣在查阅了 MPchart这个第三方后,自己写了一个自定义View实现对应需求。效果图 实现功能:自定义View本质是draw绘制,我将功能切分了一下:横坐标的名称 按比例实现柱状图的高低 横坐标轴和上边框的线 背景虚线 最低数据跟踪 没有数据显示 数字值显...原创 2018-12-11 18:14:57 · 273 阅读 · 0 评论 -
微信、朋友圈分享功能
微信作为国民app,几乎是每个人手中的必备软件。很多产品都希望通过微信进行导流。今天就探究一下微信分享、分享朋友圈的功能。例如下图: 首先,对于微信分享功能,我们先要考虑一下流程 。对于一个分享功能,我们首先需要先规划自定义分享布局,判断用户手机有无微信app,若有获取对应的权限,然后走友盟的接口回调,实现整个微信分享功能。 自定义布局 这个...原创 2019-01-25 22:36:02 · 551 阅读 · 0 评论 -
【详细】AS400系统安装gcc教程
as400作为小众系统,网上对于as400相关资料一直比较匮乏,近期业务上有涉及as400,安装gcc的要求。查阅资料,发现网上的大部分教程真的是坑意满满,,,作为一个渣硕我毫无意外的多次躺坑,,,特此记录一下正确的安装方式。安装环境系统:as400机器:10.0.2.10gcc版本:4.6.2参考教程:http://www.youngiprofessionals.c...原创 2019-08-09 11:19:09 · 1730 阅读 · 5 评论 -
【详细】Spinner实现三级联动功能
1. 需求分析 在实际开发中,我们经常遇到要求省市县三级联动的下拉框需求,如下图,针对这类需求,我们常用Spinner控件去实现。当用户选择Spinner控件的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。 今天,我就研究一下怎么实现三级联动的需求。2. 实现流程在布局文件中添加Spinner控件在Acitvity中获取控件给Spinne...原创 2018-11-10 19:38:57 · 2759 阅读 · 0 评论 -
客户端多个异常文案显示方法
在实际开发中,针对某一界面,我们有不同的显示需求:以app中的消息列表为例,在网络有问题的情况下,我们界面显示网络出现问题;在网络正常,但是没有消息数据的情况下,我们要求显示,没有消息。这是常规的异常显示案例。 但是,有时候为了减少Layout数量,我们不得不将一些异常情况都写在一个界面。添加异常布局方法1. include异常布局<include ...原创 2018-11-04 19:40:10 · 1149 阅读 · 0 评论 -
Ubuntu14 系统下安装Opencv3.0攻略
本文记录了Ubuntu 14.0下使用源码手动安装OpenCV 3.0的过程。并给出了测试例子,让用户安装,配置,测试一体化请大家关注我的技术博客,HL是限量版版权声明:本文为博主原创文章,未经博主允许不得转载!转载需链接原创 2017-04-12 09:16:36 · 1736 阅读 · 0 评论 -
如何利用Python语言进行——航偏校正
限量版之前参加研电赛,做的无人机与Nao机器人的协同系统,成功获得赛区一等奖加特奖晋级全国总决赛。我是一个很懒的的人,比赛完了做一下总结,把自己利用的技术,写出来,和大家一起分享~喜欢的话请关注我的博客,后续会继续更新,分享收藏都可以哈~ 好了言归正传,开始正题~首先谈谈,为什么要进行航偏校正,地面Nao机器人在迷宫里行走时由于电机自身误差、发热等因素造...原创 2017-08-11 18:44:00 · 1214 阅读 · 0 评论 -
基于Python和Opencv的目标检测与特征
1.目标检测(1)什么是目标检测?判断一副图像或者视频的一帧存不存在目标物体,例如检测一幅图片中有没有花,有 没有人脸,或者检测一段视频中行驶过的车辆、行人等 检测完成后,也可以继续往深做目标识别,例如判断检测出的车是什么车,检测出的人脸是谁等等,在今后机器学习算法以及深度学习、人工智能的发展下,对目标的快速精准识别已经成为可能(2)基本步骤从上图我们可以看出来,通过对一副输入图像或...原创 2017-08-12 09:46:41 · 19658 阅读 · 2 评论 -
【浅析】Python的内存管理机制
python的内存管理浅析原创 2017-08-24 10:20:17 · 3247 阅读 · 0 评论 -
【详细】Application生命周期简介
一、什么是Application?Android系统会为每个程序运行时创建一个Application类的对象且仅创建一个(例如:打开微信安卓系统会为微信创建一个Application对象,再打开微博安卓系统又会为微博创建一个Application对象),所以Application可以说是单例 (singleton)模式的一个类。Application对象的生命周期是整个程序中最长的,它...原创 2018-09-26 15:35:02 · 6000 阅读 · 0 评论 -
一分钟教你学会-Android Service、Intent Service
服务详解Android的四大组件之一,服务是长期运行在后台的应用程序组件。服务不是进程,也不是线程,它和应用程序在同一个进程中,服务中不能做耗时操作,运行在主线程中。主要应用与后台播放音乐,定位服务,每隔一定时间和服务器进行交互。注意服务需要在注册列表中注册! 一,定义安卓的四大组件之一,是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件。服务能够被其他组件启动,绑定,交...原创 2018-10-03 09:12:14 · 265 阅读 · 0 评论 -
Android P的新特性
Android P的新特性室内WIFI定位Android P增加了对RTT Wi-Fi协议的支持,以此作为室内定位的基础。 在支持硬件支持的Android P设备上,开启定位并且打开WIFI扫描后就可以使用该功能进行定位。应用可以测量与附近支持RTT的Wi-Fi接入点(AP)的距离。设备必须启用位置并启用Wi-Fi扫描(在设置>位置下)。使用这个功能不会连接到WIFI,而且为了保持隐...原创 2018-10-06 18:18:40 · 316 阅读 · 0 评论 -
Android handle的难点问题及解答
1. 消息的使用new Handler().postDelayed(new Runnable() { @Override public void run() { finish(); overridePendingTransition(R.anim.abc_fade_in, R.anim.abc_fade_out); }}, 50...原创 2018-10-06 20:40:19 · 332 阅读 · 0 评论 -
TextureView 和 Surfaceview 的区别
为什么用surfaceTexture不用surface来展示呢?ICS之前都用的是surfaceview来展示video或者openGL的内容,surfacaview render在surface上,textureview render在surfaceTexture,textureview和surfaceview 这两者有什么区别呢?surfaceview跟应用的视窗不是同一个视窗,它...原创 2018-10-07 22:21:17 · 2753 阅读 · 0 评论 -
Android 自定义LayoutManager
Android 自定义LayoutManager实现自定义LayoutManager主要的4个步骤: 指定默认的LayoutParams 计算每个ItemView的位置 添加滑动事件 实现缓存其中,主要在onLayoutChildern() 这个回调方法中实现主要功能。指定默认的 LayoutParams 当你继承LayoutManager之后,必须要重写g...原创 2018-10-16 16:04:56 · 1146 阅读 · 0 评论 -
Android一分钟教你会-传递序列化参数
传递序列化参数在ReceiveRedPacketAnimationActivity.java中,我们通过getSerializableExtra()方法来获取参数传递过来的序列化对象// 这是接收参数private void initBundle() { eventEveryWhereCanShowBean = (EventEveryWhereCanShowBean) getI...原创 2018-10-10 14:43:07 · 505 阅读 · 0 评论 -
Android 一行代码实现创建定时任务
Android中的定时任务,有两种任务实现,一种是Java API Timer类实现,另一种是Android的Alarm机制。由于Java中的Timer 类实现存在一个明显短板——不适用于哪些长期在后台运行的定时任务。因为,Android 手机长时间不操作的情况下自动让CPU进入到睡眠状态,这就有可能导致Timer类中的定时任务,无法正常运行。因此,我们推荐使用第二组Alarm机制!...原创 2018-10-10 14:46:07 · 272 阅读 · 0 评论 -
如何利用Python判断一个字符串是合法ip
这是京东2018年校招面试,考的是正则表达式,在这里尝试解答一下#!/usr/bin/pythonimport os,sysdef check_ip(ipaddr): import sys addr=ipaddr.strip().split('.') #切割IP地址为一个列表 #print addr if len(...原创 2017-09-19 14:36:42 · 1487 阅读 · 0 评论 -
Glide缓存- 图片URL带token问题
部门项目的图片资源都是存放在阿里云上面的,最近项目重构,领导决定将内部图片和资料存放在360云上,因此部分支持换成了360云。而360云为了对图片资源进行保护,会在图片的URL地址的基础之上再加上一个令牌参数也就是说,一张图片的URL地址可能会是如下格式:http://url.com/image.jpg?token=d9caa6e02c990b0a 而使...原创 2018-11-04 18:52:02 · 2141 阅读 · 0 评论 -
【详细】Android 判断网络状态,实现app自动静音
在实际应用中,我们不希望在公司内网环境下,打开游戏就显示较大的声音,进而影响其他同事办公环境。因此,就需要让app变得智能,让app可以根据使用者当前网络状态,自动进行静音等操作。本次内容分为两部分:1. 识别网络环境 2. 实现app自动静音。自动静音 首先是实现自动静音功能。/** * 实现静音功能 */private void sile...原创 2018-11-04 19:26:09 · 1347 阅读 · 0 评论