自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 当textview的hint长度大于text长度时的占位

如果textview的hint设置了两行,但是text显示时只有两个字符,那么它的下面就会空出一行。所以只能自定义textview,代码如下:public class SmartHintTextView extends android.support.v7.widget.AppCompatTextView { private CharSequence mSmartHint; ...

2019-05-09 14:40:49 982

原创 Android cordova自定义插件的开发

目前网上有很多开发cordova插件的方法,我下面简单的说下cordova一些命令的使用,以及我的自定义插件的开发。cordova主要是一种交互的应用,他是用web来调用原生的androi、ios、windows等平台的代码。自定义插件的过程:前提一定要去安装node.js和cordova这两个软件。下面命令是通过nodejs的npm命令执行的。一、创建cordova项目cordova creat...

2018-03-14 16:21:45 2712 4

原创 Android 使用Zxing库扫描二维码

本文是使用Zxing库。android语言,eclipse等工具集成的扫描二维码的demo。具体的Zxing库的作用我这里就不多说了。 下面是集成Zxing库和步骤和demo的集成例子。 从Zxing库的开源地址链接上下载Zxing源代码,下载下来后,我们主要用到的是Android部分你的代码,下面开始进行Zxing库的集成和扫描代码的描述。一.集成Zxing库1.下载的

2017-11-27 12:55:06 673

原创 为什么很多编程语言都用0开始编号呢

我觉得主要原因是有两个:1.从数组存储的内存模型上来看“下标”最确切的定义应该是“偏移(offset)”。如果用 a 来表示数组的首地址,a[0] 就是偏移为 0 的位置,也就是首地址,a[k] 就表示偏移 k 个 type_size 的位置,所以计算 a[k] 的内存地址只需要用这个公式:a[k]_address = base_address + k * type_size但...

2020-01-10 17:18:52 845

原创 JVM 的标记清除垃圾回收算法

标记-清楚(Mark-Sweep)算法,分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其缺点进行改进而得到的。大多数主流虚拟机采用可达性分析算法来判断对象是否存活,在标记阶段,会遍历所有 GC ROOTS,将所有 GC ROOTS 可达的对象标记为存活。只有当标记工作完成后...

2020-01-10 16:59:37 643

原创 为什么每个人都要学产品创新

这一讲我来跟你聊聊“为什么每个人都要学产品创新课”。其实,“产品创新”早就已经深入到我们的日常生活当中了。打个比方,如果把我们的时间倒推十几年,你无法便捷地购买远方的特色产品;无法随随便便叫一份外卖到家里;无法用手机远程控制智能家居;无法在出门时任意选择飞机、高铁、自驾……当你还不关注这一切的时候,它们就已经悄无声息地进入你的生活。当然,如果你只是这些产品的使用者,你只要知道它们是否好用、有用就够...

2020-01-08 14:53:10 568

原创 产品的学习(一) -- 人人都是产品经理吗?

做了几年开发后,觉得如果人生仅仅局限于代码上,或者说某些技术上的执着后会发现,自己的生活和未来少了很多大方向的规划,或者说,一旦有了家庭,一旦超过了某个年龄段,也许这种局限就会越来越大。也是因为自己为了以后的工作规划,我觉得产品的道理,会更适合我。因为我喜欢沟通和交流,我喜欢与不同的技术人员打交道,喜欢各种新产品的使用。。。不说废话了,下面是我学习苏杰老师的一些课程,所获得的一些体悟,希望在这...

2020-01-08 14:14:42 363

原创 拼接字符串的简单类

现在google guava库出了一个joiner类去进行字符串的拼接,大大的节省了拼接时间。我这里简单的写了一个方法去拼接:public static String getStringWithSymbol(String symbol, String... txt) { List<String> strList = new ArrayList<>(...

2020-01-02 14:48:10 279 1

原创 Recycleview横向滑动,当前显示的item居中且高亮显示

公司项目最近的一个要求是,显示一系列数据,横向滑动排列,滑到居中位置,就高亮显示,两边半透明。图如下(如红圈所示。整个图画是整个设计,采用的是自定义的recycleview嵌套里面多个recycleview组成的,如果有小伙伴感兴趣的,欢迎私信。当然,后续有时间,我也会继续添加到这里的。):横向列表很简单实现,就是使用RecyclerView的layoutmanager的横向设置...

2020-01-02 14:27:54 3101 1

原创 发送朋友圈的popupWindow

在我们做分享功能的时候,经常会需要自定义一些视图去实现分享,下面是根据公司的要求,写的一个popupwindow,如有不妥的地方,欢迎大家给出意见。package com.chen.demo;import android.app.Activity;import android.content.Context;import android.graphics.drawable.Bitma...

2019-10-28 10:39:46 173

原创 Gallery与ImageSwitcher的结合构建滑动图片

package com.chen.demo;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.util....

2019-10-28 10:36:16 159

原创 Configuration响应系统设置事件

以下是对手机切换横竖屏时的响应事件,在此用代码进行简单的演示。package com.chen.demo.thing;import android.app.Activity;import android.content.res.Configuration;import android.os.Bundle;import android.view.Menu;import androi...

2019-10-28 10:33:35 194

原创 正则表达式之判断某些link是否为有效的url

通常android有自己的sdk库判断web url是否为有效的url,Patterns.WEB_URL.matcher(str).matches()。这个是对url进行通用的判断,最近根据产品需求,需要添加一些social media link,并验证这些link是否有效且正确。下面是对各种社交的link进行的一些正则判断://判断是否为weibo的网址private St...

2019-06-28 16:29:11 1972

原创 emv处理流程

1,初始化应用( Initiate Application),进行应用选择后的第一个过程这个过程需要进行TSI( TransactionStatusInformation),TVR( TerminalVerificationResults),PDOOL( ProcessingOptionsDataObjectList) DataspecifiedinPDOL,输出A...

2019-05-30 11:08:38 2502

原创 emv 认证规范

EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,已成为公认的全球统一标准。1999年2月,当时的国际三大卡组织共同成立了EMVCo组织,用来管理、维护和完善EMV智能(芯片)卡的规格标准。EMVCo组织提供EMV LEVEL 1...

2019-05-30 11:06:55 2971

原创 数据的压缩与解压缩

package chen.test;import chen.util.util;public class Compress { protected static int compress(byte[] src, byte[] dst, int len){ byte current_byte; int dst_len = 0; byte ...

2019-05-30 10:58:59 1572

转载 SHA1-Hash算法原理

http://www.burtleburtle.net/bob/hash/doobs.html这个页面提供了对几种流行Hash算法的评价。我们对Hash函数的建议如下:1.字符串的Hash。最简单可以使用基本的乘法Hash,当乘数为33时,对于英文单词有很好的散列效果(小于6个的小写形式可以保证没有冲突)。复杂一点可以使用FNV算法(及其改进形式),它对于比较长的字符串,在速度和效果...

2019-05-30 10:56:16 4287

原创 安全加密dukpt

DUKPT:(derived unique key per Transaction)每笔交易衍生单玥管理方法是一种非常安全的密钥管理技术,主要应用于对称密钥加密MAC,PIN等安全数据方面.主要思想: 保证每一次交易流程使用唯一的密钥,采用一种不可逆的密钥转换算法,使得无法从当前交易数据信息破解上一次交易密钥。应用:要求收单行和终端必须是同步支持该密钥管理技术。...

2019-05-30 10:54:46 1604

原创 android7.0出现android.os.FileUriExposedException: file:///storage/...exposed beyond app through Intent

项目中出现这个问题是因为android 7.0版本在打开文件时,会出现该bug,在7.0以上的版本需要特殊的uri。1.在AndroidManifest.xml中添加provider,如下 <!-- file provider --> <provider android:name="android.support.v4.conte...

2019-05-22 14:40:04 1332

原创 Radiobutton 点击切换取消选中状态

Radiobutton是一种单选按钮,是由于RadioGroup管理下的一组按钮,所以一旦其中的一个button选中,再点击,就不能取消,想要取消调用Radiobutton的setchecked(boolean isChecked)的方法。但是连续点击当前的radiobutton的话,只能选中一次和取消选中一次,不能再点击了,因为当把当前的radiobutton取消点击后,其radiogrou...

2019-04-25 15:22:34 19727

原创 b[n] & 0XFF原因

在32位的电脑中数字都是以32格式存放的,如果是一个byte(8位)类型的数字,他的高24位里面都是随机数字,低8位才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用&amp; 0XFF操作,可以把高24位置0以避免这样错误的...

2019-03-06 11:37:13 1058

原创 Lokalise的使用

因为我们公司项目已经到后期,所以算是很庞大了。现在需要做优化和重载,其中涉及到多语言适配化方面,不可能将几千个单词再同时翻译成其他各个国家的吧,那任务量太重了。所以我们就使用了Lokalise这个工具,帮助我们适配,但是集成他们的sdk是需要付费的,但确实挺好用的,如果公司能接受,可以推荐。 官网:https://lokalise.co/ 注册账号后...

2019-03-06 11:08:40 2653

原创 android 实现二维码扫描

本文是使用Zxing库。android语言,eclipse等工具集成的扫描二维码的demo。 下面是集成Zxing库和步骤和demo的集成例子。 从https://github.com/zxing/zxing链接上下载Zxing源代码,...

2019-02-28 15:09:11 1764

原创 kotlin 基础

kotlin是一种类似于java1.8的lambda新特性的写法。(jetbrains公司推出的)1.kotlin语言特性1.1 基础语法var 表示变量 val 表示不可变变量,而不是一个常量kotlin中方法和变量都可以写在类外,但其实在jvm中还是将方法包含在class里面$符号可以进行字符的引用。1.2 与 java代码互调因为kotlin是可以为null的,但...

2019-02-28 15:07:56 141

原创 Dateutils 获取格式化时间

Dateutils是一个很好的计算系统时间的并且Android的sdk library(android.text.format.DateUtils)自带的库。由于公司要求,获取到手机系统的时间差,即给一个long型的时间,即可得到系统格式的时间差。并且这个时间差有多语言化。Dateutils就是一个很好的工具,只要一句话。1.获取时间差DateUtils.formatDateRang...

2019-02-25 16:03:34 6442

原创 cordova开发中问题详解

开发cordova过程中,遇到真机调试问题。在4.4手机上运行cordova工程可以运行成功,而且功能都能使用,但是换成5.0以上的手机后,出现下面报错 "Refused to execute inline event handler because it violates the following Content Security Policy directive: "default-src ...

2018-05-03 16:52:02 642

原创 安卓 蓝牙BLE

蓝牙BLE全称是Bluetooth Low Energy。 BLE是蓝牙4.0的核心Profile,主打功能是快速搜索,快速连接,超低功耗保持连接和传输数据,弱点是数据传输速率低,由于BLE的低功耗特点,因此普遍用于小功率的穿戴设备。Android4.3才开始支持BLE API,所以需要测试时使用安卓4.3及其以上的手机设备,而BLE 终端必须是一个蓝牙4.0的设备。以下所示是BLE的...

2018-03-14 15:55:57 651

原创 android 获取前一天时间的两种方法

要想获取前一天的时间,我这里有两种方法,话不多说,直接上代码:package com.test;import java.time.LocalDate;import java.time.LocalDateTime;import java.util.Calendar;import java.util.Date;public class TestDate { public s

2017-09-20 17:20:59 9754

原创 android连接蓝牙相关问题及解决方法

开题感想首先对于在新公司工作一年多的人来说,在目送人走人来的情况下,自己已逐渐成为一位所谓的“老员工”,感慨时光易逝啊。而自己所负责的主要是蓝牙通信的sdk的撰写,下面对蓝牙sdk连接的一些问题做简单的介绍。Android sdk连接蓝牙我们公司主要负责的是pos设备与蓝牙的通信连接,所以就简单的介绍我自己写代码时的一些收获和碰到的坑。1.蓝牙连接分为有先配对再连接和不配对直接连接...

2017-09-20 17:00:53 2215

zxing库扫描二维码

使用Zxing源代码生成的zxing,jar包库,可以直接放在android studio和ecplise的libs文件夹里集成,可扫描一维码二维码。

2017-11-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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