自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 Kotlin源码编译报错,提示@UnsupportedAppUsage和@SystemApi声明的Java函数无法调用

Kotlin源码编译问题

2022-09-06 16:05:16 3204 1

原创 Android 蓝牙/wifi云打印机 ESC/POS热敏打印机打印(ESC/POS指令篇)

上一篇主要介绍了如何通过蓝牙连接到打印机,这一篇,我们就介绍向打印机发送打印指令,来打印字符和图片我们先来看一下最终票据打印效果图:一、ESC/POS指令ESC/POS指令体系是由EPSON发明的一套专有POS打印机指令系统,市面上绝大部分打印机兼容ESC/POS指令。由于我使用的是佳博的蓝牙打印机,我们来看一下佳博打印机背后的型号说明:上图可见,打印机是58mm纸宽的打印机,支持USB和蓝牙连接,并且支持ESC/POS命令。二、常用的打印命令手机通过蓝牙或者...

2020-09-22 10:17:39 7924

原创 Android 蓝牙/wifi云打印 ESC/POS热敏打印机打印(连接篇)

目录一、蓝牙打印机连接1.蓝牙权限2.初始化配置3.发现设备4.连接设备5.数据传输二、WIFI打印机连接一、蓝牙打印机连接打印机的蓝牙连接方式是基于传统的蓝牙连接方式,手机作为客户端,打印机作为服务端。我们先上效果图:1.蓝牙权限<uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android..

2020-09-22 10:17:30 5436

原创 Android Jetpack 学习之Navigation、BottomNavigationView

先上效果图:Navigation组件,也可以理解成FragmentNavigation。它提供了多Fragment之间的转场、栈管理,帮助我们可以更轻松的使用Fragment。在抽屉式导航栏、底部导航栏、顶部导航栏的需求中我们可以尝试使用这个新组件。甚至,可以尝试写一个单Activity的应用Navigation导航组件由以下三个关键部分组成:Navigation视图:在res/navigation包下面的xml视图资源,包括应用内所有单个内容区域以及用户可以通过应用获取的可能路径。

2020-07-23 18:38:26 1471 1

转载 Android组件化开发

https://www.jianshu.com/p/8b6e6a50e21ehttps://blog.csdn.net/u010302765/article/details/101015212https://blog.csdn.net/fjnu_se/article/details/90757880

2020-04-19 09:00:18 155

原创 Android Studio提示Handler的匿名内部类的内存泄露风险解决方案

首先我们看Android Studio的风险提示:我们知道,在Java中非静态内部类和匿名内部类都会隐式持有当前类的外部引用,android中使用Handler进行消息的异步处理时,最常用的定义Handler的方式如上图,使用匿名内部类的方式。但是这种写法会提示存在内存泄露的风险,因为Handler会持有匿名对象的引用,匿名对象会持有外部类对象的引用,且Handler的生命周期较为特殊,并不会...

2020-04-18 20:07:55 899

转载 https通信原理之加密算法、散列算法、数字证书

对称加密对称加密,对于加密和解密算法来说,加密和解密的密钥是相同的,如同同一把锁,加密密钥和解密密钥都是相同的一把钥匙。用密钥加密后,得到加密后的密文,随后可以直接用其进行解密,得到初始的原文。对于通信的双方,通过对称加密,可以很方便的将通信内容进行加密,然后进行安全传输,能够有效的防止信息在中途被中间人获取到原文。即使信息中途有被截获的可能,但只要密钥没有泄露,信息本身还是安全的。鉴...

2020-04-09 00:16:50 837

转载 RSA加密、解密、签名、验签的原理及方法

原文地址:https://www.cnblogs.com/pcheng/p/9629621.html这里只作记录,方便以后查看。一、RSA加密算法简介RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。者能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称之为公钥和私钥。如果用公钥进行加密,则只能通过对应的私钥去解密,如果...

2020-04-05 23:27:35 573

原创 Android Studio使用AIDL技术进行SDK开发

前面我们有介绍AIDL的基本用法:Android进程间通信——AIDLAndroid进程间通信——AIDL Binder连接池现在我们来介绍利用AIDL来实现一个简陋的SDK,将获取用户信息的方法暴露给客户端,先放工程目录:SDKServer代码实现首先作为服务端,我们创建IAuth.aidl文件,声明IAuth接口// IAuth.aidlpackage com....

2020-03-31 22:50:43 1817

原创 Android Studio AIDL编译时错误: 找不到符号

在使用AIDL实现跨应用通信时,我们把aidl接口复制到外部应用时,同时也复制了实现了Parcelable的User类,并把User类也放到aidl文件夹下会报这个错:解决办法一:在build.gradle添加如下配置再sync now就可以了android { ... sourceSets {//目录指向配置 main { ...

2020-03-29 23:39:48 1166 1

原创 Android进程间通信——AIDL Binder连接池

当项目AIDL业务需求增多时,我们不可能无限制得创建Service,因此,针对这种情况,我们将所有得AIDL放在同一个Service中去管理。在这种模式下,整个工作机制是这样得:每个业务模块创建自己得AIDL接口并实现此接口,这个时候不同业务模块之间不能有耦合的,所有实现细节我们要单独开来,然后向服务端提供自己的唯一标识和其对应的Binder对象;对于服务端来说,只需要一个Service就可以...

2020-03-27 22:30:20 315

原创 Android进程间通信——AIDL

使用Messenger来进行进程间通信的方法,可以发现,Messenger是以串行的方式处理客户端发来的消息,如果大量的消息同时发送到服务端,服务断仍然只能一个个处理,如果有大量的并发请求,那么用Messenger就不太合适了。同时,Messenger的作用主要是为了传递消息,很多时候我们可能需要跨进程调用服务端的方法,这种情形用Messenger就无法做到了,但是我们可以使用AIDL来实现跨进程...

2020-03-27 22:29:05 332

原创 Android进程间通信——Messenger

Messenger,通过它可以在不同进程间传递Message对象,Messenger的底层实现也是AIDL,我们可以从它的构造方法中看出public Messenger(Handler target){ mTarget = target.getIMessenger();}public Messenger(IBinder target){ mTarget = IMesse...

2020-03-27 22:27:17 286

原创 Coordinatorlayout、AppBarLayout、ToolBar及CollapsingToolbarLayout的巧妙使用

相信很多人都用过github上的SlidingMenu,谷歌也推荐了一种实现侧滑菜单的空间——Drawlayout一、导入老版本是需要导入v4

2020-03-06 23:44:06 749 2

原创 Android Studio 安装、环境配置、git配置

最近电脑重装了系统,需要重新配置开发环境,故作个记录,方便以后查阅。前言安装JDK,配置JDK环境。在“系统变量”中新建一个变量名为JAVA_HOME的变量,变量值为本地Java的安装目录。一些Java版的软件和一些Java的工具需要用到该变量,设置PATH和CLASSPATH的时候,也可以使用该变量,方便设置。PATH:指定一个路径列表,用于搜索可执行文件,执行一个...

2020-01-11 23:17:18 2160

原创 Python游戏编程入门(一)——初识Pygame

Pygame是一组功能强大而有趣的模块,可用于管理图形、动画乃至声音,可以让我们很轻松的开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像等任务,不用考虑众多繁琐而艰难的编码的工作,而是将重点放在程序的高级逻辑上。安装Python官网地址:https://www.python.org/downloads/本系列博文使用的是Python3.6.864位系统可以下载Windo...

2019-05-25 10:47:21 25718

原创 Android NDK开发(二)——CMake脚本构建项目

在Android Studio 2.2 之后,工具中增加了CMake的支持,也就是说,Android Studio 2.2 之后有两种选择来编译C/C++代码,一个是上篇ndk-build + Android.mk + Application.mk组合编译,另一个是CMake + CMakeList.txt组合构建项目CMake的使用1、配置环境2、创建CMake工程方式一、在...

2019-05-14 18:01:11 491 1

原创 Android NDK开发(一)——ndk-build编译生成so库文件并使用

JNI简介JNI(Java Native Interface),是方便Java调用C/C++等Native代码封装的一层接口。NDK简介NDK(Native Development Kit),是Android提供的一套工具集合,通过NDK可以在Android中更加方便的通过JNI开访问本地代码。NDK提供了交叉编译,开发人员只需要简单的修改mk文件就可以生成特定CPU平台的动态库。使用...

2019-05-13 14:09:17 12394 2

原创 Android下openssl编译和使用(二)

上篇我们介绍如何编译了openssl:https://blog.csdn.net/zoujin6649/article/details/89891720接下来我们看看如何使用1、新建一个测试工程,并勾选include C++ support2、把openssl-1.1.1b/include下的openssl目录,整个复制到项目src下的cpp子目录3、把lib下的libcryto....

2019-05-08 18:08:49 1727 1

原创 Android下openssl编译和使用(一)

项目中需要用到openssl库的AES加密,写下来方便以后查阅。编译1、安装Linux版本的NDK编译openssl需要使用NDK,先下载NDK:# 在home目录下建立ndk目录$ mkdir android$ cd android$ wget https://dl.google.com/android/repository/android-ndk-r14b-linux-...

2019-05-07 18:13:39 12647 9

原创 gitlab配置ssh key

在clone代码的时候,我们可以选择http协议,也可以选择ssh协议来拉取代码下面我们来介绍如何用git客户端生成ssh key,然后配置在gitlab中1、打开本地git bash,使用如下命令生成ssh公钥和私钥对# -C 参数是邮箱地址$ ssh-keygen -t rsa -C '[email protected]'2、打开~/.ssh/id_rsa.pub文件(~表示用户目...

2019-04-15 19:29:56 8185

原创 Error occurred while communicating with CMake server

Gradle sync failed: Error occurred while communicating with CMake server.使用最新的CMake版本会出现该问题,卸载3.10.2.4988404就正常了解决办法:

2019-04-15 17:16:45 1053 1

原创 React Native学习之 Image组件

静态图片资源React Native提供了一个统一的方式来管理iOS和Android应用中的图片。要往APP中添加一个静态图片,只需把图片文件放在代码文件夹中某处,然后像下面这样去引用它:<Image source={require('./my-icon.png')} />注意:一些老文章和教程提到的require('image!xxx')的写法已经从0.40版本开始不再...

2019-03-19 14:12:49 314

原创 React Native学习之 Touchables类组件

TouchableHighlight组件用户点击时,组件的透明度会降低,同时会有一个底层的颜色透过而被用户看到,使得组件视图变暗或变亮。TouchableHighlight只支持一个子节点(不能没有子节点也不能多于一个),包含多个子组件时,可以用一个View来包裹TouchableHighlight组件的属性如下:activeOpacity:触摸时透明度的设置(0-1之间,默认0...

2019-03-15 16:12:02 183

原创 React Native学习之 TextInput组件

TextInput的主要属性和事件autoCapitalize:枚举类型,可选值有'none'、'sentences'、'words'、'characters'。当用于输入时,用于提示placeholder:占位符,在输入前显示的文本内容value:文本输入框的默认值placeholderTextColor:占位符文本的颜色password:如果为true,则是密码输入框,文本...

2019-03-14 16:14:37 490

原创 Webstorm配置React-Native插件环境

配置语法环境下载react和react-native

2019-03-13 11:32:41 2454

原创 Linux下SSH远程管理

远程管理常用命令1、shutdown关机/重启格式:shutdown 选项 时间 (选项-r表示重启)常用命令示例如下:# 重新启动操作系统,其中 now 表示现在$ shutdown -r now# 立即关机,其中 now 表示现在$ shutdown now# 系统在今天的 20:00会关机$ shutdown 20:00# 系统再过十分钟后自动关机$...

2019-03-10 15:18:35 632

原创 Windows下搭建React Native Android开发环境

安装JDKhttps://www.oracle.com/technetwork/java/javase/downloads/index.htmlJDK版本必须是1.8(目前不支持1.9及更高版本)安装Pythonhttps://www.python.org/downloads/Python版本必须为2.x (不支持3.x)安装Node.jshttps://nodejs....

2019-03-05 13:33:28 228

原创 Linux 打包压缩命令

打包压缩 是日常工作中备份文件的一种方式在不同的操作系统中,常用的打包压缩方式是不同的    windows常用rar,Mac常用zip,Linux常用tar.gz1、打包 / 解包tar 是Linux中最常用的 备份 工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件 tar 的命令格式如下:# 打包文件$ tar -cvf 打包文件...

2019-02-27 13:51:32 21742 3

原创 Linux 软链接和硬链接简介

序号 命令 作用 01 ln -s 被链接的源文件 链接文件 建立文件的软链接,用通俗的方式将类似于Windows下的快捷方式    注意:1、没有 -s 选项建立的是一个硬链接文件,两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接2、源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使...

2019-02-27 13:11:53 148

原创 Linux使用find命令查找文件

find 命令功能非常强大,通常用来在 特定的目录下搜索 符合条件的文件 # 查找指定路径下扩展名是.py的文件,包括子目录$ find [路径] -name ".py" 如果路径省略,表示在当前文件夹下查找 示例一:搜索桌面目录下,文件名包含1的文件$ find -name "*1*"示例二:搜索桌面目录下,所有以.txt为扩展名的文件$ find -name ...

2019-02-27 13:10:50 2422

原创 异常: Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one project.

Android Studio 报异常问题:Unsupported Modules Detected: Compilation is not supported for following modules: app. Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules in one proje...

2019-02-26 15:49:31 18421 3

原创 Linux下系统相关命令

这篇内容主要是为了方便通过远程终端维护服务器时,查看服务器上当前 系统日期和时间 / 磁盘空间占用 / 程序执行情况1、时间和日期序号 命令 作用 01 date 查看系统时间 02 cal calendar查看日历,-y选项可以查看一年的日历     2、磁盘信息序号 命令 作用 01 df -h...

2019-02-25 15:34:32 150

原创 Linux下用户权限相关命令

1、用户和权限的基本概念用户 是Linux系统工作中重要的一环,用户管理包括 用户 与 组 管理 在Linux系统中,不论是由本机或是远程登陆系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限 对 文件/目录 的权限包括:序号 权限 英文 编写 数字代号 01 读 read r 4 02 写 wr...

2019-02-24 13:22:06 2942

原创 解决Putty远程登录Ubuntu提示Network error及如何开启Ubuntu的SSH服务

Putty按照正常的流程登录Ubuntu却提示Network error.在排除网络后,发现Ubuntu没安装SSH服务,Ubuntu默认并没有安装SSH服务,如果通过SSH连接Ubuntu,需要手动安装ssh-server,判断Ubuntu是否安装ssh服务,可以使用命令:ssh localhost连接拒绝表示没有安装SSH 安装命令:sudo apt-get insta...

2019-02-19 13:39:02 1818 1

转载 Android通知栏微技巧,8.0系统中通知栏的适配

https://blog.csdn.net/guolin_blog/article/details/79854070

2018-12-26 15:31:13 110

转载 Android应用图标微技巧,8.0系统中应用图标的适配

https://blog.csdn.net/guolin_blog/article/details/79417483

2018-12-26 15:30:23 121

原创 PyQt5安装和使用

1、先安装PyQt5:    pip3 install PyQt52、安装PyQt5-tools:    pip3 install PyQt5-tools    安装完可以在Python安装目录下看到如下图所示:3、配置PyCharm这一步的目的是为了实现在PyCharm里面打开qt designer,然后生成qt文件,然后将qt文件转换成python语言的软件文件。...

2018-12-18 16:07:45 2779

原创 MySQL 增删改查

数据库import pymysqldb = pymysql.connect(host='localhost', user='root', password='password', port=3306)cursor = db.cursor()cursor.execute('SELECT VERSION()')data = cursor.fetchone()print('Databa...

2018-09-25 16:11:13 192

原创 pip3 install tesserocr安装失败(已解决)

安装Tesseracttesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract,因此安装tesserocr之前,需要先安装tesseract.这里我安装的是 tesseract-ocr-setup-3.05.02-20180621.exe安装的语言包的时候,耐心等待,会很久。验证安装安装成...

2018-09-14 13:17:49 25502 11

BluetoothPrinter

佳博热敏票据打印机,打印餐饮小票,蓝牙打印机,wifi云打印机,用于后厨,前台,均可打印,佳博热敏票据打印机,打印餐饮小票,蓝牙打印机,wifi云打印机,

2020-09-23

React Native入门与实战[完整版]

React Native入门与实战,本书内容一共分为4部分,第一部分主要介绍了React Native的开发基础知识,第二部分主要介绍了React Native的API、组件以及Native扩展和组件的封装,第三部分主要为APP的上架和更新,第四部分实战篇介绍如何使用React Native开发原生APP

2019-03-08

python3-廖雪峰-pdf

python3-廖雪峰-pdf,python3-廖雪峰-pdf,python3-廖雪峰-pdf

2018-02-09

空空如也

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

TA关注的人

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