自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (8)
  • 收藏
  • 关注

原创 java设置指定名称的网络适配器的IP地址

开发中需要外接一个USB设备,然后在上位机通过grpc协议和下位机进行通行,USB设备插到上位机上以后会以一个RNDIS 网络设备存在,如果要想和它通信,需要先设置Rndis网络的地址,每次连接不同的设备后都需要收到设置这个地址,不利于运维人员维护,所以想通过JAVA代码来自动找到Rndis设备,然后在代码中运行CMD命令设置IP地址。

2023-06-13 10:58:24 433

原创 设计原则:依赖倒置

使用背景 公司生产了几种核验设备(108,208,380等),每一款核验设备上面都有测温功能,对应的测温模块来源于不同厂家的不同型号,有的是串口接入的,有的是USB口接入的。在代码中进行测温并获取温度信息时:具体的实现类:public class TemperatureManager { public void doUsbTemperature(){ System.out.println("USB测温模块开始工作"); } public double g

2021-06-22 19:17:00 122

原创 开闭原则的实现

定义一个软件的实体,如类、模块和函数应该对扩展开放,对修改关闭。实现方法用抽象来构件框架,用实现扩展细节实现的核心关键点:面向抽象编程,抽象相对来说是稳定的,让类去依赖于固定的抽象,所以对修改来说是封闭的,通过面向对象的集成以及多态的机制就可以实现对抽象的继承,通过重写改变其固有方法或者实现新的扩展方法ex:版本的更新尽量不修改源代码,但是可以增加新功能优点提高软件系统的可复用性及可维护性 代码实现1、定义接口public interface IFruit { // 返回

2021-06-20 13:19:16 590

原创 自定义选项卡切换

一、实际使用的效果二、自定义可切换的标题栏1、布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"

2021-06-11 16:54:41 306 2

原创 简易定时器

概要能上图就别BB,看右上角的效果。一、其实就是个TextViewpackage com.hisign.id_verification.viewsupport;import android.content.Context;import android.os.CountDownTimer;import android.util.AttributeSet;import android.util.Log;import android.widget.TextView;public class

2020-08-06 13:30:21 257

原创 RxJava学习总结(二)

一、被观察者(Observable)的创建1. createObservable<Integer> observable = Observable.create(new ObservableOnSubscribe<Integer>() { @Override public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {

2020-06-18 15:30:12 161

原创 android监听屏幕底部导航栏和输入法的显示

记录贴,直接上代码!1、工具类public class LayoutChangedListener { private View decorView = null; private int decorViewHeight = 800; // HD100设备,屏幕的固定高度为800 private OnLayoutChangeListener layoutChangeL...

2019-08-08 09:55:47 834

原创 android自定义圆角按钮,点击实现背景和文字颜色同时变化

1、效果2、基于TextView实现,同时制定TV背景和文字的背景的选择器 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" ...

2019-08-08 09:37:05 489

原创 Android连接USB打印机

项目中需要用到android设备通过USB连接热敏打印机打印图文混排的小条,总结一下。外部主要是用这个方法来打印: /** * 打印核验小条 * 子线程中运行 */ private static int times = 0; public void printVerifyData(String tmpName, ...

2019-08-04 16:10:55 3761

原创 android通过USB读取身份证信息

一、USB的通信流程搜索设备—>建立连接—>通信1、搜索设备 /** * 获取目标UsbDevice * @param view */ public void searchUsbDevice(View view) { HashMap<String, UsbDevice> deviceMap = mUsbMan...

2019-08-02 15:52:45 2981 3

原创 手动模拟EventBus框架

一、实现原理1、主要的实现类为EventBus类,用观察者实际模式来实现(观察者设计模式参考),包含三个主要的方法:register、 unregister、post2、订阅者(一般为activity)通过EventBus的register和unRegister来订阅和取消订阅3、事件发布者通过post来发布数据,EventBus找到自己缓存的所有订阅者,并找到每一个订阅者的所有方法并执行...

2019-07-27 10:45:38 151

原创 RxJava学习总结(一)

一、概念函数响应式编程(Functional Reactive Programming:FRP):是一种通过一系列函数的组合调用来发射,转变,监听,响应数据流的编程范式(这概念我基本理解不了~)。在RxJava中,函数响应式编程具体表现为:一个观察者(Observer) 订阅一个可观察对象(Observable)通过创建可观察对象发射数据流,经过一系列操作符(Operators)加工处理和线程...

2019-07-19 15:21:06 395

原创 Android数据加密传输

客户端在和平台端进行数据的通讯时,有时需要对传输的数据进行加密,下面介绍一些在开发中常用的加解密方法。一、对称加密1、对称加密(又称为私人秘钥加密/共享秘钥加密):加密与解密使用同一秘钥,也称为单密钥加密。2、加密强度不高,但效率高,加密解密的速度比较快,适合数据比较长时的使用。3、密钥分发困难,密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦4、常见对称密钥加密算法(1)、DE...

2019-07-17 15:34:22 631

原创 AndroidSudio+SVN建立分支、切换分支

1、AndroidStudio建立分支,右击项目名称:Subversion–>Branch or Tag…2、 指定建立分支的来源,是本地工程,还是来自SVN的代码库3、 指定基于SVN上的某一次提交建立分支4、 指定分支代码的存放地点,以及分支的名称。5、确认分支建立成功6、切换分支 ,右击项目名称:SubversionUpdate Directory常用GIT命令使...

2019-07-15 13:58:52 466

原创 Android设备和PC端通过USB线通信

一、原理通过 adb forward来实现,adb forward tcp:7777 tcp:8888。将本机7777端口收到的数据,转发到android设备的8888端口上。二、实现步骤1、在android设备上建立一个端口为8888的SocketServer,并打开server到监听状态,即serverSocket.accept()。2、监听PC上的7777端口,即执行adb for...

2019-07-13 09:49:52 1590

原创 观察者设计模式的理解

一、概念观察者设计模式: 行为型的设计模式,也叫作发布订阅模式。两个角色:被观察者(Observer),观察者(Observerable)。被观察者维护观察者实例列表,当有事件发生时,调用观察者的方法进行通知。二、代码实现1、观察者/** * 观察者 */public interface Observer { // 被观察者有事件产生时,通过这个方法通知观察值 p...

2019-07-10 09:18:56 175

原创 Android蓝牙打印机打印图片文字

一、打印的效果图,打印照片+二维码+文字二、蓝牙相关组件介绍 /** * 代表本地蓝牙适配器(蓝牙无线电)。BluetoothAdapter是所有蓝牙交互的入口。 * 使用这个你可以发现其他蓝牙设备,查询已配对的设备列表, * 使用一个已知的MAC地址来实例化一个BluetoothDevice, * 以及创建一个BluetoothServerSo...

2019-06-28 15:58:52 10120 13

原创 Android的事件传递机制

**一、当一个按钮的点击事件产生后,它的传递过程如下:Activity–>Window–>View**1、点击事件用MotionEvent来表示,当一个点击事件发生时事件最先传递给当前的Activity,由Activity的dispatchTouchEvent来进行事件的分发。2、在Activity的dispatchTouchEvent中通过window对象(通过getwind...

2019-06-27 16:10:12 210

原创 android自定义RadioButton的样式

一、样式的实现 <TextView android:layout_width="wrap_content" android:layout_height="50dp" android:layout_gravity="center" andro...

2019-06-19 18:54:20 2078

原创 android定时任务总结

一、Handler + Runnable private void testHandler() { // 开始启动任务 MyApplication.getMyApplication().mHandler.post(handlerRunnable); } // 用handler的延迟任务 private Runnable hand...

2019-02-27 11:27:28 237

原创 JAVA反射

一、通过反射执行构造方法// 1、反射执行构造函数(无参数)Object obj = myObjectClass.newInstance();System.out.println(&quot;obj = &quot; + obj);// 2、反射执行构造函数(有参数)Class myObjectClass1 = Class.forName(&quot;com.hisign.reflection.MyObject&quot;)...

2019-01-21 17:27:20 102

原创 android7.0获取静态IP、网关、子网掩码、DNS

/** * 获取静态IP的相关信息 * @param context * @return */ public Map&amp;amp;lt;String,String&amp;amp;gt; getIps(Context context){ Map&amp;amp;lt;String,String&amp;amp;gt; ipMaps = new HashMap&amp;amp;lt;

2019-01-18 09:02:08 4836 3

原创 android7.0设置系统时间

public void setAndroidSystemTime(Context mContext){ String time = &quot;2019-01-17 17:30:54&quot; SimpleDateFormat simpleDateFormat = SDF_THREAD_LOCAL.get(); if (simpleDateFormat == null) { ...

2019-01-18 08:54:57 4929 2

原创 android反射获取系统属性值

/** * 获取当前系统的版本名称 * @return */ public String getSystemVersionName(){ String ver = null; try { systemProperties_get = Class.forName(&amp;quot;android.os.System...

2019-01-09 16:46:30 760

原创 android(activity、dialog)隐藏底部导航栏

if (Build.VERSION.SDK_INT &gt; 11 &amp;&amp; Build.VERSION.SDK_INT &lt; 19) { View v = this.getWindow().getDecorView(); v.setSystemUiVisibility(View.GONE); } el...

2018-09-14 11:53:45 6281

原创 打开USB摄像头

一、确定USB摄像头的名称String nodeNames[] = android_command("ls /sys/class/video4linux");public static String[] android_command(String cmd) { String result = null; String con = ""; Process p; ...

2018-08-02 19:15:31 1016

原创 图片生成、转换(总结帖)

1、YUV转bitmap// YUV转RGBfinal YuvImage image = new YuvImage(hsfeVerifyResult.getImageBuf(), ImageFormat.NV21, 640, 480, null); ByteArrayOutputStream os = new ByteArrayOutputStream(hsfeVerif...

2018-08-01 09:50:22 299

原创 MVP的简单总结

MVP的结构以前做web时我们用过MVC的结构(javaBean +jsp+servlet),个人感觉android里面的MVP和那个MVC是一样的。 M:model,功能模块的实现 V :显示层,一般由activity来充当,UI相关的一下操作 P:presenter专注于你的业务逻辑,model层方法的调用,返回结果给V层显示。三者的关系1、P层起到桥梁的作用,他持有V层和...

2018-04-16 11:37:04 321

原创 Retorfit+RxJava--单文件上传、多文件+文字一起传、form-data表单提交

一、引入依赖compile 'com.squareup.retrofit2:retrofit:2.3.0'compile 'com.squareup.retrofit2:converter-gson:2.3.0'compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'compile 'com.squareup.okhttp3:loggi

2018-01-30 11:36:55 1974

原创 自定义CheckBox的复选框、复选框和文字的间距

原生的有点丑,UI的同学给了个切图替换 一下。 一、创建selector 两张图,一个是选中状态,一个是未选中状态。<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@dra

2017-12-28 10:12:58 4838

原创 总结一些常用的adb命令

总结一下工作中常用的adb命令,便于以后查找,发现新的用法是便于追加。一、log相关1、log中显示时间 :adb logcat -v time 2、按照TAG过滤:adb logcat -s yourTag 3、过滤出来包含某个关键字的log:adb logcat | grep your_key_words 4、过滤掉包含某个关键字的log:adb logcat | grep ...

2017-12-12 16:08:02 532

原创 自定义控件

一、背景:项目中要用到好多一模一样的控件,且每一个控件有自己的各种状态和相对独立的业务逻辑,为了使代码简洁、可复用可移植,把这个控件独立抽取出来,做成了一个自定义的控件。

2017-12-12 13:55:31 234

原创 Android Studio 3.0升级小结

今天把AS的版本升级到了3.0,升级过程小结一下。 1、3.0版本需要升级编译工具的版本: buildToolsVersion ‘26.0.2’ 2、和apt冲突: Error:A problem occurred configuring project ‘:app’. android-apt plugin is incompatible with the Android Gradle

2017-11-17 11:48:23 3933 1

原创 platform.pk8,platform.x509.pem生成keystore的方法

制作环境:Windows7 + cygwin64以下步骤在cygwin下操作1、生成shared.priv.pem openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt2、生成pkcs12 openssl pkcs12 -export -in platform.x509.pem

2017-09-26 08:43:01 2782

原创 android端实现WebService数据传输

在工作中需要实现android客户端想服务端通过webservice协议传输数据,用到了ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar 这个JAR包,把客户端实现的过程做一下记录,方便以后查阅。

2017-07-25 09:17:08 2659

原创 判断进程是否存在、Activity是否在前台显示

1、判断进程是否存在 2、判断activity是否正在前台显示

2017-07-21 09:19:20 920

原创 AIDL使用的注意事项

最近做了个服务端和客户端两个APK进行AIDL通行的项目,总结一下在实现个过程中应该注意的问题。 1、因为服务端和客户端的AIDL相关的文件必须在名称相同的包中,为了避免来回的拷贝文件出现错误,最好把AIDL相关的单独生成一个JAR包,供服务端和客户端使用。 2、自定义的参数类需要实现Parcelable接口,并实现接口中的相关方法,栗:public class HSFEVerifyResult

2017-07-20 09:35:43 378

原创 android端HttpServer的实现

这几天调查了一下在android设备上实现HTTP服务的功能,发现了NanoHTTPD,能通过java实现HTTP的功能。 https://github.com/NanoHttpd/nanohttpd自己整了个小“栗子”,大家一起品尝学习一下,实现了从PC端浏览android设备上文件的功能。HTTP是在TCP/IP协议之上的应用层协议,咱们都做过JAVA的网络编程(java socket),再了

2017-06-28 10:54:18 10477

原创 TextView动态改变部分内容和颜色

很简单的东西,怕自己记不住,记录一下~核验人数共计:%1$s人tv_count.setText(String.format(getString(R.string.title_total_record), count));// 改变数字颜色SpannableStringBuilder builder = new SpannableStringBuilder(tv_count.get

2016-12-21 15:26:28 963

原创 日期使用的总结

/** * 计算年龄 * @Title: getAge * @Description: TODO * @param dateOfBirth yyyyMMdd * @return * @throws */ private int getAge(long dateOfBirth) { Date dbDate = null; SimpleDat

2016-08-12 10:07:44 240

printer.zip

android通过USB打印机打印图文混排的小条,包括USB连接,打印。

2019-08-04

usb_idcard_reader.zip

https://blog.csdn.net/dami_lixm/article/details/98208453 , android APP通过USB连接华视身份证读卡器,读取身份证信息。亲测成功读取~

2019-08-02

Drive_F.zip

android 设备通过usb线和电脑连接,可以实现互相通信。

2019-07-13

android_httpserver.zip

在android设备上开启http服务的示例,在PC浏览器上输入相应的地址,浏览android设备上的文件

2019-07-12

系统分析师历年真题[分类]解析

软考高级系统分析师历年真题分类解析,分类解析,分类解析。各个知识点集中攻破,便于复习。

2019-03-29

android端HttpServer的实现

下这个吧 , https://download.csdn.net/download/dami_lixm/11341046 android端HttpServer的实现,PC端通过浏览器访问android端SD卡上文件的功能

2017-06-28

AIDL测试程序

aidl进程间通信,分为客户端和服务端。客户端启动后绑定服务端并把客户端提供的功能引用注册回服务端,服务端根据业务需要跨进程的调用客户端的功能。 此例子也可以扩展为客户端拿到服务端的功能引用并调用服务端提供的功能。

2015-03-13

android编码规范

android编码规范,包括了变量、常量、类名和包名的命名规范。

2013-04-03

空空如也

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

TA关注的人

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