自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LVXIANGAN的专栏

学无止境

原创 移动支付之Pos终端主密钥、工作密钥、pin密钥、mac密钥

下面介绍一下加密机中最主要的几种密钥:   1、加密机主密钥(MK)    加密机主密钥(Master Key - MK)是存入在HSM机内的由三个成分合成的一对最上层密钥。在HSM机器以外的地方不会以明文形式存放,它采用双倍标准DES密钥(长达112位)实现三重数据加密。    HSM投入运行时...

2014-11-09 22:05:09 31912 2

转载 Android之性能优化之View.GONE和View.INVISIBLE

Android中UI应用的开发中经常会使用view.setVisibility()来设置控件的可见性,其中该函数有3个可选值,他们有着不同的含义: View.VISIBLE--->可见 View.INVISIBLE--->不可见,但这个View仍然会占用在xml文件中所分配的布局空...

2020-04-06 11:58:45 146 0

原创 进阶之路-Excel之数据透视表

系统正在运行的任务 在Android 5.0(API 21)之前,我们可以利用android.permission.GET_TASKS权限获取当前程序相关信息、最近运行的任务、一个缩略的任务状态、是否活动等等 在Android 5.0 后,普通app已经不能使用(即使配置了也无效),只对系统级...

2020-04-04 20:49:15 99 0

原创 Android之查找apk包名和启动入口类

最近拿到一台用户主界面深度定制过的Android设备:没有返回键、找不到程序列表、主界面按钮只对应着指定的app,通过adb install 命令安装apk后,没有界面可直接运行。 ...

2020-03-06 00:11:19 372 0

原创 人工智能(AI)之模型训练是什么

在机器学习中,经常听到一个词:“模型训练”,不禁疑惑:模型是什么东西?怎么样训练的?训练后得到的结果是什么? 下面用图简单描述个人理解: 在人工智能中,面对大量用户输入的数据/素材,如果要在杂乱无章的内容准确、容易地识别,输出我们期待输出的图像/语音,并不是那么容易的。因此算法就显得尤为重...

2020-03-02 23:19:09 1314 0

原创 Linux之chmod文件权限介绍

使用adb命令,执行文件报错:cant execute: Permission denied 使用chmod 777 文件名 即可修复该问题。那么这个777是什么意思呢? "777" 3位数,分别依次对应着Linux系统的3种用户角色:文件所有者、群组用户、其他用户。 ...

2020-02-27 19:48:01 75 0

原创 Android之判断手机是否有root权限

什么是Root权限? 当你买了一台Android 手机回来的时候,并不意味着你拥有了对这台手机的绝对支配权,因为当你想要删除系统自带的软件,却无能为力。原因很简单:手机厂商处于自身利益,绑定了一些软件,不允许我们删除;有一些手机依赖的软件,不能随意删除。 Android手机只有两种账户类型:一...

2020-02-20 10:52:06 258 0

原创 CPU性能指标之DMIPS、MIPS

MIPS,DMIPS和MFLOPS是常用的CPU性能评估标准。 MIPS: 每秒执行了多少百万条指令。全称:Million Instructions executed Per Second DMIPS:D是Dhrystone的缩写,在MIPS 前面加上 Dhrystone (整数运算),用...

2020-02-14 22:55:52 251 0

原创 禁用恼人的WIN键

Windows中,由于Fn键、Win键、Ctrl键、Alt键布局排在一起,在使用电脑时经常误触到Win键,造成页面切换。我用的Asus笔记本就是这样:在编辑文本时,本想按快捷 Fn键 + 左箭头 跳转到行首,一个不小心误触按成了 Win键 + 左箭头,结果所有的窗口都被最小化到一半,也没有找到对应...

2020-01-23 00:40:34 270 0

转载 什么是手机的工程模式

什么是手机工程模式?   工程模式,顾名思义,工程师用来给手机调试的模式。看似深不可测,其实也没有大家想象的那么复杂,我们可以在里面获取一些基站信息,比如信号强度、电池状态、手机运行时间、后台软件运行时间,当然也可以调试WLAN。   手机怎么进工程模式? 1、在拨号盘输入 *#*#463...

2020-01-21 10:31:53 272 0

转载 switch case和if else效率区别

switch…case写法: switch (表达式){ case 值1 : 语句1 break; case 值2 : 语句2 break; ... default : 语句n break; } if…else写法: if(boolean){ }else if(boole...

2020-01-14 10:05:57 157 0

转载 解决谷歌浏览器添加插件时显示程序包无效:"CRX_HEADER_INVALID"

在添加谷歌插件的时候,却发现谷歌浏览器显示 程序包无效:"CRX_HEADER_INVALID",现整理解决方法如下: 1、把插件的后缀名由 .crx 更改为 .rar 2、解压你刚刚更改后缀名为 .rar,得到对应的文件夹 3、进入谷歌浏览器的 "拓展程序&q...

2020-01-11 23:46:21 148 0

原创 Android之debug运行调试发现有多个设备

最近在运行Android工程时,明明只连接了一台设备,但弹出的列表却提示存在多台可运行设备: 为什么会无端端多了三个设备呢?设备名称是 ip + port 方式组成的。选前面三个中任意一个去运行, 提示adb需要重启,按照restart 操作后依旧重复提示上述内容。 换了台电脑测试,并没有发现...

2020-01-01 00:08:38 53 0

原创 Android Studio报错之error module not specified 和 error please select android sdk

运行Android 工程代码时,经常会看到以下图标,按编译错误提示:error module not specified 我们先指定运行的主module,步骤如下: 但在正确选择module后,依旧报错:error:please select android sdk 解决...

2019-12-08 09:38:08 80 0

转载 Android之AIDL跨进程抛异常的原理

总结: 1、跨进程通讯中,从一端到另外一端,只支持传递以下9种异常: SecurityException BadParcelableException IllegalArgumentException NullPointerException IllegalStateException...

2019-12-08 00:03:50 130 0

原创 Android之setSystemUiVisibility总结

关于沉浸式体验模式,我们通常会在Activity,使用decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_XXXXX) 来设置,具体示例可以看这篇文章。 View 各种SYSTEM_UI_FLAG的总结 View.SYSTEM_UI...

2019-12-07 16:14:38 129 0

原创 Office Word 之画肘形箭头

在使用word 画跨职能流程图时,经常会用到肘形箭头画回字形,但默认提供的肘形箭头如下图所示,无法实现上下边左对齐。 解决方法如下: 改用任意多边形 拖动箭头,配合shift 键(取直线)、单击(换方向)、双击(停止),依次按1、2、3、4顺序画回形,修改箭头末端类型即可,效...

2019-12-02 22:37:39 397 0

转载 Android安全之intent隐式意图攻击

该漏洞涉及到app所使用的intent和intent filter。 intent是一个可用于从一个app组件请求动作或处理事件的“消息对象”。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent...

2019-11-10 11:37:11 274 0

原创 Android之设置线程优先级的两种方法Thread.setPriority和Process.setThreadPriority

在Android开发过程中,通常会涉及使用线程实现异步任务,而不同任务有不同权重,这就需要我们为不同的线程设置优先级。Android提供了两种方法,让我们可以实现线程优先级设置。 我们无法控制进程,但是可以控制进程中的线程的优先级。 两种方法 Thread.setPriority(Threa...

2019-11-10 09:42:06 626 0

原创 Android之提高Service优先级总结及android:persistent的使用

关于Service保活,提高Andorid 应用中Service 组件优先级的方法,总结起来,大概有这些方法: 在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = “1000”这个属性设置最高优先级,1000是最高值,如果数字...

2019-11-09 22:22:13 231 0

转载 Android之static静态变量生命周期

静态变量引用与内存回收、内存泄露这些问题有关,有必要加深研究和理解。 一、静态变量在类被加载的时候分配内存。 类在什么时候被加载?当我们启动一个app的时候,系统会创建一个进程,此进程会加载一个DVM实例,然后代码就运行在DVM之上,类的加载和卸载、垃圾回收等事情都由DVM负责。也...

2019-11-09 22:03:38 57 0

原创 Android Studio 无法全局搜索find in path 问题解决

Andorid Studio 工具用久了,会在内部产生很多临时文件,之前全局搜索功能好好的,结果越来越慢,最后甚至罢工了。 解决方法:Android Studio -----File ----- Invalidate caches / restart,在弹出框中选择“invalidate...

2019-11-08 20:32:43 326 0

转载 Java之数据结构

通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 Java数据结构继承关系图 可以看到,Java 集合框架主要包括两种类型的容器: 一种是集合(Collection),存储一个元素集合, 另一种是图(Map),存储键/值...

2019-11-03 10:35:51 49 0

原创 Java之transient关键字有什么用

在LinkedHashMap 类中,看到有个关键字transient,它是什么意思呢? 下面援引百度百科解释: Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特...

2019-10-24 21:07:00 51 0

原创 Android之音频开发基础

相信不少人在音频采集处理的时候,会遇到这样的设置界面,那采样率、比特率、通道这样的术语,代表的是什么意思呢? 图1 1、基本常识 频率的单位是HZ,中文为赫兹,是电,磁,声波和机械振动每秒的周期次数(周期/秒)。 人类的耳朵能听到的声音频率范围为20Hz~20000Hz,如果低于这...

2019-10-20 10:38:58 174 0

原创 Android之Parcel和Parcelable

总结: Parcel 类是一个容器,能装各种类型的数据,并能在C/CPP底层传输。 Parcel 可以在Binder 驱动为不同进程实现数据交互,为什么它能充当这样的角色呢? 系统设计使然。虽然不同进程在Java层是相互独立,有着不同内存空间,但底层有binder驱动(binder.cpp)...

2019-09-17 21:12:46 281 0

原创 Android之多线程安全AtomicBoolean类详解

在多线程并发请求中,我们假设有这样的一些情景: if(a){ xxxxx; a = false; yyyyy; } 这里存在线程安全的问题:多个线程可能都读到a的值进入了代码块,然后都去修改了a的值;其实只需要一个线程执行就可以了,也就是:如何保证只初始化一次,不会重复初始化? 答...

2019-09-15 16:39:28 129 0

原创 Android之装饰者模式

在查看ContextWrapper源码时,发现以下用法: 这种写法叫装饰者模式,相比于单纯的实现接口,它具备更大的灵活性。 // 抽象类接口,规范饼的属性 public interface ICake { public String name(); // 名称 public Do...

2019-08-15 17:02:22 70 0

原创 Android之Binder学习(IPC跨进程通讯)

Binder是什么? “粘合剂”,可以理解为:粘合两个进程。它在不同的应用情景中,代表的意思不一样: 从通讯机制的角度,它是binder 通讯机制,一种实现跨进程通讯的方式。 作用:在 Andorid 中实现跨进程通讯 从模型结构的角度,它是binder 驱动,一种虚拟的物理设备驱动(...

2019-07-28 23:24:44 101 0

转载 RESTful API 最佳实践

RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计。 它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。 一、URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的...

2019-07-22 15:27:42 50 0

转载 Android之解决RxJava内存泄漏:RxLifecycle详解及原理分析

前言 随着RxJava及RxAndroid的逐渐推广,使用者越来越多,但是有一个问题,RxJava的使用不当极有可能会导致内存泄漏。 比如,使用RxJava发布一个订阅后,当Activity被finish,此时订阅逻辑还未完成,如果没有及时取消订阅,就会导致Activity无法被回收,从而引...

2019-07-21 11:37:06 118 0

原创 APP之防重放攻击

什么是重放攻击? 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击。重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果这个正常逻辑是插入数据库操作,那么一旦插入数据库的语句写的不好,就有可能出现多条重复的数据。一旦是比较...

2019-07-17 17:27:50 1257 0

原创 Android之LRU算法

LRU算法简介 LRU 全称是 least recently used,意为“最近最少使用”,说白了就是一种淘汰算法,当有新的元素插入进来的时候,我们的使用空间又有限的时候,就需要淘汰旧的元素,这时候就会选择淘汰最近最少使用的元素。 应用场景 在app开发中,假设有一个页面列表需要从网络...

2019-07-17 16:29:21 291 0

转载 Android Studio之maven Central 和 JCenter

Android studio 是从哪里得到库的? Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android...

2019-07-17 00:30:48 241 0

转载 Android官方架构组件ViewModel+LiveData+DataBinding架构属于自己的MVVM

Demo运行效果 获取Bing每日一图并显示 项目结构 实现过程 1. 添加Glide、Retrofit、RxJava的依赖 implementation 'com.squareup.retrofit2:retrofit:2.4.0' compile '...

2019-07-11 11:39:01 276 0

原创 Java之继承一个泛型类

泛型继承的原则 继承泛型类时,必须对父类中的类型参数进行初始化。 步骤: 1、定义一个泛型类Parent<T>, 注意:定义:泛型T,使用:实际类型 2、子类继承调用。Son类定义时有两种方式初始化父类型的类型参数: 法1:用子类中的泛型类型初始化父类: public cl...

2019-07-08 11:43:26 950 0

转载 Java之泛型ParameterizedType、getGenericSuperclass、getActualTypeArguments

在反射中,我们经常遇到这样代码:ParameterizedType、getGenericSuperclass、getActualTypeArguments,今天就让我们来了解一下。 先来看一段代码: 这段代码啥意思?引用一段测试代码: public class Person<T...

2019-07-06 11:06:20 614 0

转载 Android之LiveData

LiveData本身很简单,但其代表却正是MVVM模式最重要的思想,即数据驱动视图(也有叫观察者模式、响应式等)——这也是摆脱顺序性编程思维的重要一步。 回顾LiveData:从处境尴尬到咸鱼翻身 我们都知道Google在去年的 I/O 大会非常隆重地推出了一系列的架构组件,本文的主角,Liv...

2019-07-03 17:51:02 117 0

转载 Android之LifeRecycle

概述 在过去的谷歌IO大会上,Google官方向我们推出了Android Architecture Components,其中谈到Android组件处理生命周期的问题,向我们介绍了Handling Lifecycles。 同时,如何利用android.arch.lifecycle包提供的类来控...

2019-07-03 17:10:15 371 0

转载 Android之ViewModel

原文请参考官方文档 ViewModel和静态类的区别: 问:既然ViewModel不受acitivity生命周期影响,那我用静态类也可以实现,两者有什么区别? 答:一般一个Activity / Fragment 对应着一个ViewModel,这样有利于模块化,当Activity finis...

2019-07-01 10:29:30 1403 0

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