自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux编译动态链接库,springboot集成调用so方法

1.安装编译环境yum -y install gcc yum -y install gcc-c++ yum install -y java-1.8.0-openjdk*2.编译C动态库准备三个文件:hello.h 、 hello.c 、 main.c//hello.h#ifndef _HELLO_H_#define _HELLO_H_void hello();#en...

2019-11-26 15:39:54 3599

原创 Android存储目录详解

1、介绍Android系统分为内部存储和外部存储:内部存储是手机系统自带的存储,一般空间都比较小外部存储一般是SD卡的存储,空间一般都比较大,但不一定可用或者剩余空间可能不足。一般我们存储内容都会放在外部存储空间里。使用过程注意事项:先判断SD卡是否可用,可用时优先使用SD卡的存储,不可用时用内部存储存储在SD卡上时,可以在SD卡上新建任意一个目录存放,也可以存放在应用程序内部文...

2019-11-22 14:49:04 492

原创 Docker基本操作

1、Docker安装管理[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2P9ayRvp-1573011447435)(https://yym439.github.io/img/docker-3.png “管理命令”)]Docker安装:yum -y updateyum install -y docker启动、关闭、重启:service ...

2019-11-06 11:40:27 339 1

原创 抽象工厂模式

定义提供一个创建一系列相关或相互依赖对象的接口(创建型)无须指定他们具体的类 适用场景:客户端不依赖产品类实例如何被创建、实现等细节 一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量重复的代码 提供一个产品类的库,所有产品以同样接口出现,从而使客户端不依赖与具体实现比较工厂方法:针对产品等级(不同品牌厂家的同一种家电)抽象工厂:针对产品族 (某品...

2019-01-31 17:38:35 139

原创 工厂方法

定义定义一个创建对象的接口,让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。(创建型) 使用场景:创建对象需要大量重复的代码 客户端不依赖产品类实例如何被创建、实现等细节 一个类通过子类来指定创建哪个对象优点:符合开闭原则,提高可拓展性 比较工厂方法:抽象产品,抽象工厂(工厂具体实现由子类完成)简单工厂:没有抽象化工厂,工厂类完...

2019-01-31 16:11:17 119

原创 简单工厂

定义 由一个工厂对象决定创建出哪一种产品类的实例(类型:创建型)使用场景:工厂类负责创建的对象比较少 客户端只知道传入工厂累的参数,对于如何创建对象不关心缺点:违背开闭原则,增加新产品需要修改工厂类的判断逻辑 代码//抽象产品类public abstract class Video { public abstract void produce();}...

2019-01-31 14:31:16 133

原创 软件设计原则

开闭原则定义:类、模块、函数应该对拓展开放,对修改关闭。用抽象构建框架,用实现拓展细节。 依赖倒置原则定义:高层模块(调用类)不应该依赖低层模块(功能类),两者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象针对接口编程,不要针对实现编程(应该继承抽象类,实现接口)单一职责 定义:不要存在多于一个导致类变更的原因类、接口、方法只负责一项职责...

2019-01-31 10:36:57 116

原创 UML入门

定义UML:统一建模语言,用于构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法UML类图 记忆技巧:箭头方向:子类指向父类 空心三角箭头:继承或实现 实线:继承 extends、关联(类中有另一个类作为属性) 虚线:实现 implement、依赖(用于方法入参,返回值) 空心菱形:聚合(空盘子可以放很多相同的东西,大雁群(空心菱形)——>大雁)...

2019-01-30 16:17:57 180

原创 Builder模式

定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用场景对象参数多,且很多参数有默认值 产品类中,调用顺序不同产生了不同的作用 多个部位、零件装配到对象中,产生的结果又不同 不同的执行顺序,产生不同的结果   Android模式下的Builder模式 源码中常用到Builder模式的是AlertDialog.Builder。例...

2019-01-28 14:23:21 120

原创 Linux命令说明

linux

2016-08-17 15:50:11 287

原创 JNI_OnLoad实现动态函数替换

jni RegisterNatives注册失败的解决方法

2016-08-05 11:02:46 1700

原创 BroadCast两种实现方式

广播

2016-06-17 15:47:16 1165

原创 Android Studio使用build.gradle修改签名后的apk默认名称

build.gradle

2016-05-03 17:48:29 1575

原创 adb启动activity

adb启动activity

2016-04-07 21:09:37 3384 1

原创 Android 使用无线调试

android 无线调试

2016-03-27 14:42:59 364

原创 WDK驱动程序环境搭建

1.开发工具WDK安装MSDN Library for Visual Studio 2008 SP1.iso安装DebugView(查看调试日志)Visual Assist X 10.8.2029 (VS2013插件)虚拟机 - XP系统(调试驱动比较方便)2.开发步骤1) 源码要放在WDK的安装目录的src文件中2) 打开中的任意一个进入源码路径3) 输入bu

2016-02-01 15:15:42 463

原创 android list用法

android 使用list的remove方法删除元素:在代码中,删除元素后,需要把下标减一。这是因为在每次删除元素后,ArrayList会将后面部分的元素依次往上挪一个位置(就是copy),所以,下一个需要访问的下标还是当前下标,所以必须得减一才能把所有元素都遍历完。

2015-11-13 15:24:25 919

原创 Android adb命令的使用方法

Android adb命令的使用方法一、令提示符下操作 adb shell 进入连接的Android设备目录 adb logcat -s apk名 打开logcatadb logcat -c 清除之前的日志adb uninstall

2015-10-19 23:01:06 714

原创 Android /system/lib底层库的调用

Android /system/lib存放平台运行的库:1.android编译的第三方so库可以直接存放到这个目录/system/lib。调用时可以在android.mk文件中直接加上LOCAL_LDLIBS := -llog -lz 像这样-l加库名称,如果没头文件看是否可以动态调用。写个main()函数就可以直接调用so的接口了。2.使用android device monit

2015-10-12 14:46:18 5678

原创 Android Studio开发NDK

定义Native接口和C/CPP源文件实现接口。接下来AS配置文件如下:1、android NDK编译头文件命令:javah -d ../jni com.example.start.testjniso.NativeActivity2、gradle.properties末尾文件增加:android.useDeprecatedNdk=true3、build.

2015-09-29 16:34:03 350

原创 Android Studio整合.SO到APK

主要描述Android Studio加载第三方库.SO的方法:在app/src/main路劲下,新建一个文件夹命名为jniLibs(一定要这个命名)把*.SO放到这个目录中就可以调用。如果你不按照jniLibs命名,那么你需要做如下的操作:打开build.gradle文件,增加:android{... sourceSets.m

2015-09-22 11:53:12 458

原创 Android Studio常用快捷键

atl +enter强制类型转换shit+F6:重命名文件ctrl+/:注释ctrl+b:跳转到方法的定义处

2015-09-20 16:06:32 417

原创 WinIO3.0在win7 64位系统下的使用

WinIO3.0可以到官网http://www.internals.com/下载。解压完有WinIO32.dll、WinIO32.sys、WinIo64.dll、WinIo64.sys。在64位系统下LoadLibrary()加载动态库失败。原因:1.对应的目录没有存放WinIo64.dll;WinIo64.sys没有签名;2.没有进入测试模式(WinIo3.0在64位系统中使用必须进

2015-09-15 10:30:25 10296 3

转载 头文件为什么要加#ifndef #define #endif

#ifndef在头文件中的作用在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。方法:例如要编写头文件test.h在头文件开头写上两行:#ifndef _TEST_H#define _TEST_

2015-09-09 10:18:32 569

原创 vc 线程的使用

1.vc中开启线程使用:AfxBeginThread()第一个参数:线程函数第二个参数:LPVOID pParm可以存放自己的数据第三个参数:THREAD_PRIORITY_NORMAL2.结束线程的方法:使用AfxEndThread(0);结束线程在一个线程中结束另一个线程,需要使用标志来控制线程的结束。

2015-06-30 11:26:06 506

原创 MFC创建动态库

一、创建----常规MFC DLL动态链接工程:1.创建常规MFC DLL动态工程2.从DLL导出函数:_declspec(dllimport)3. .def文件添加定义; SerialPortDll.def : 声明 DLL 的模块参数。LIBRARYEXPORTS    ; 此处可以是显式导出ShowTime   @1     ;@1表示ShowTi

2015-01-23 13:39:17 782

WinIo3.0在64位系统下的使用

使用时,必须进入测试模式、驱动签名,否则加载动态库失败或者调用初始化函数失败

2015-09-15

Android实现蓝牙打印

实现了蓝牙打印机搜索 连接到打印机 监测打印机状态(未连接、缺纸等) 发送打印指令 打印

2015-01-22

空空如也

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

TA关注的人

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