-
Android EditText限制输入字符类型的方法总结
Android EditText限制输入字符类型的方法总结 前言: 最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我要设置为显示密码的形式,可以像下面这样设置: 在xml中 Android:inputType="textPassword" 在java文件中,可以用 myEditText.setInputType(InputType.TY
-
Android中使用七牛云存储进行图片上传下载的实例代码
Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了. 可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端
-
谷歌技术人员解决Docker镜像体积太大问题的方法
虚拟机的问题 最初,大家都使用虚拟机作为软件的运行环境,对外提供服务.为了在虚拟机上运行你的 Service,你不得不运行一大堆程序: 系统进程 定时任务 SSH 安装 Agent 安装 Bash 安装一大堆 libs 其实,你仅仅只是想让你的 Service运行起来,但你不得不维护一个 40GB的虚拟机. 然后你开始试用 Docker 开始试用 Docker,你毫不犹豫选择了和之前虚拟机一样的镜像:Ubuntu 1404,将之前的虚机的内容复制到了 Docker镜像,安装了一堆软件,最后发现你
-
vue3 setup语法糖之组件传参(defineProps、defineEmits、defineExpose)示例详解
vue3官方文档 defineProps 和 defineEmits 都是只能在 <script setup> 中使用的编译器宏.他们不需要导入,且会随着 <script setup> 的处理过程一同被编译掉. defineProps 接收与 props 选项相同的值,defineEmits 接收与 emits 选项相同的值. 父传子 - defineProps 父组件 <template> <div class="Father"> &
-
java编写Http服务器下载工具
这个工具比较简单,用于配合另外一个工具进行文件传送,废话少说,上代码 import java.net.URL; import java.net.URLConnection; import java.io.File; import java.io.InputStream; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.IOException; import org.apac
-
简述Java编程语言对象的容纳
如果一个程序只含有数量固定的对象,而且已知它们存在的时间,那这个程序是相当简单的. 数组 容纳对象有很多方式,数组是其中最为普遍的一种,它主要有如下两个特点:效率和类型.对于Java来说,为保存和访问一系列对象(实际是对象的句柄),最有效率的方法莫过于数组.数组实际是一个简单的线性序列,因此访问速度非常的快,但是它也存在一些限制,如数组的大小是固定的,并且不可以在"存在时间"内发生改变. 对于基本数据类型构成的数组,其运作类型跟对象数组相似,所不同的是前者里面保存的不是对象的句柄,而是
-
用phpmailer实现简单openvpn用户认证的实现代码
现在每个人都有无数帐号密码, 难免记不住; 原理是通过 邮件服务器 pop 服务完成认证,也可以使用SMTP,并加SSL已提高安全性; 免去设置用户/密码麻烦,适合有自己邮件服务器的场合, 需要PHPMailer, 请自行google PHP代码 复制代码 代码如下: <?php require_once('class.phpmailer.php'); require_once('class.pop3.php'); $username = getenv('username'); $passwor
-
在Centos部署nodejs的步骤
今天突然发现自己买了一年快过期了的搬瓦工,除了少数时间拿来当梯子用用其它也没用上,所以流量还剩这么多... 所以就想试试把本地写的nodejs的demo部署上去看看. 顺便把原来买的域名解析上去QAQ 安装node和npm 在官网下载编译好的node包: wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x86.tar.xz xz -d node-v6.10.2-linux-x86.tar.xz tar -xf node-v6.10.
-
c语言中回调函数的使用以及实际作用详析
目录 前言 一.通过这节课程你能掌握以下知识: 二.程序架构的核心理念和需求 三.回调函数的作用 1.输出型 2.输入型 四.掌握回调函数的程序编写 总结 前言 今天给大家讲一下芯片/模块厂家写SDK必须会使用的一种技术:回调函数. 回调函数这个知识点其实并不是很难,难是难在网上很多讲解回调函数的都说的太学术化了化了,一点也不亲民. 很多人即使知道怎么写回调函数也根本就搞不懂它们在实际产品中也有什么用,什么时候用. 所以这节课呢我们会以程序架构的需求为出发点,讲解回调函数是怎么满足它这个需求的.
-
Python浮点数四舍五入问题的分析与解决方法
问题 昨天遇到一个问题,在 6.6045 保留三位小数时,使用 round() 函数进行计算,我们希望得到 6.605,然而: >>> round(6.6045, 3) 6.604 网上有人说,因为在计算机里面,小数是不精确的,例如 1.115 在计算机中实际上是 1.114999999999999991182,所以当你对这个小数精确到小数点后两位的时候,实际上小数点后第三位是 4,所以四舍五入,结果为 1.11. 这种说法,对了一半. 因为并不是所有的小数在计算机中都是不精确的.例如
-
Android中的SpannableString与SpannableStringBuilder详解
前言 最近在学习Android开发,发现确实有太多东西需要去整理,去学习.慢慢来吧,任何东东的深入学习都是不简单的.今天稍微整理下SpannableString与SpannableStringBuilder,因为在上篇中,我们曾讲到过有关CharSequence的东东,有关CharSequence的话,这两个类是必谈的,所以这里加以整理. 一.概述 1.SpannableString.SpannableStringBuilder与String的关系 首先SpannableString.Spann
-
Python时间差中seconds和total_seconds的区别详解
如下所示: import datetime t1 = datetime.datetime.strptime("2017-9-06 10:30:00", "%Y-%m-%d %H:%M:%S") t2 = datetime.datetime.strptime("2017-9-06 12:30:00", "%Y-%m-%d %H:%M:%S") interval_time = (t2 - t1).seconds # 输入的结果:7
-
dess中一个简单的多路委托的实现
复制代码 代码如下: var SDelegate = function(f, b, c) { if (b) { this.asFunction_ = function() { return f.apply(b, arguments); } } else { this.asFunction_ = function() { return f.apply(this, arguments); } } this.method_ = f; this.binding_ = b; this.continus =
-
Java+OpenCV调用摄像头实现拍照功能
目录 环境准备 制作主界面 整体结构介绍 核心代码与知识点讲解 JPanel中如何显示摄像头的图像 OpenCV调用摄像头 使用摄像头拍照 完整代码 OpenCVUtil.java ImageUtils.java FileBean.java VideoPanel.java TakePhotoProcess.java FaceRecognize.java(核心主类) 随着我们对环境.Mat基本使用越来越熟练.Java Swing也逐步熟悉了起来.今天我们开始进入OpenCV驱动摄像头的几个使用场景
-
你不需要jQuery(三) 新AJAX方法fetch()
XMLHttpRequest来完成ajax有些老而过时了. fetch()能让我们完成类似 XMLHttpRequest (XHR) 提供的ajax功能.它们之间的主要区别是,Fetch API 使用了 Promises,它让接口更简单.简洁,避免了回调的复杂性,省去了使用复杂的 XMLHttpRequest API. 如果你之前未使用过Promises,你应该先看看<JavaScript Promises 用法>这篇文章. 一.基本Fetch用法 让我们先用一个例子来比较一下使用 XMLHt
-
易语言进行网页操作方法
首先展示下功能(看图片) 本代码附加了DLL代码命令,会以不同的颜色标注,也可以全部复制后张贴到易语言新建的一个程序集名中,易语言会智能的分开DLL和子程序. 相关源码: .版本 2 .程序集 网页操作累 .子程序 HTTP读文本, 文本型, 公开, 有可能线程阻塞,请在外部加超时判断 .参数 完整网址, 文本型 .参数 访问方式, 文本型, 可空, "GET" or "POST",为空默认"GET" .参数 代理地址, 文本型, 可空 .参数
-
Android程序开发之使用Design包实现QQ动画侧滑效果和滑动菜单导航
Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个support库里面,Google给我们提供了更加规范的MD设计风格的控件.最重要的是,Android Design Support Library的兼容性更广,直接可以向下兼容到Android 2.2.这不得不说是一个良心之作. 使用方法很简单,只需要添加一句依赖 compile 'com.android
-
你应该知道的区块链运作7个核心技术
区块链运作的7个核心技术,你知道几个? 1.区块链的链接 顾名思义,区块链即由一个个区块组成的链.每个区块分为区块头和区块体(含交易数据)两个部分.区块头包括用来实现区块链接的前一区块的哈希(PrevHash)值(又称散列值)和用于计算挖矿难度的随机数(nonce).前一区块的哈希值实际是上一个区块头部的哈希值,而计算随机数规则决定了哪个矿工可以获得记录区块的权力. 2.共识机制 区块链是伴随比特币诞生的,是比特币的基础技术架构.可以将区块链理解为一个基于互联网的去中心化记账系统.类似比特币这样
-
JavaScript 模块的循环加载实现方法
"循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本. // a.js var b = require('b'); // b.js var a = require('a'); 通常,"循环加载"表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现. 但是实际上,这是很难避免的,尤其是依赖关系复杂的大项目,很容易出现a依赖b,b依赖c,c又依赖a这样的情况.这意味着,模块加载机
-
IDEA设置JVM可分配内存大小和其他参数的教程
有时我们会遇到 java.lang.OutOfMemoryError 的问题,可能会需要设置jvm运行参数 作用 -Dproperty=Value 该参数通常用于设置系统级全局变量值,如配置文件路径,保证该属性在程序中任何地方都可访问.当然,也可以通过在程序中使用System.setProperty进行设置. 注意: 1.如果-Dproperty=value的value中包含空格,可以将value使用引号引起来.例如:-Dmyname="hello world". 2.如果配置了-Dp
