自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张小强的专栏

好记性不如烂笔头,记录点滴,生活源于积累

  • 博客(138)
  • 资源 (29)
  • 收藏
  • 关注

原创 svn 命令行解决锁定的问题

当我们做 svn 提交代码的操作的时候,出现代码被锁了,使用 svn cleanup 还是解决不了被锁的问题。怎么办?执行下面的操作即可。下面是通过命令行的方式解除代码被锁的问题。进入 .svn 目录,找到 wc.db 数据库文件。然后用 sqlite3 命令打开 wc.db 数据库,使用.table命令,查看数据库中存在哪些表。找到 WORK_QUEUE 和 WC_LOCK 表,使用 delete 命令删除这两个表即可。xxx:~/source$ cd .svn/xxx:~/source/.svn

2021-02-05 16:02:33 1149

原创 Android Studio 修改默认代码仓库为阿里仓库

由于墙的关系,我们在使用 Android Stdio 配置 Gradle 时,使用默认的 google() 和 jcenter() 库,会下载不了我们需要的一些库文件,导致整个工程编译不过。怎么办?FQ?条件有限,这里我们可以通过使用阿里云代理的方式实现快速部署代码仓库的问题。方法如下:找到工程的 build.gradle 文件,将 google() 和 jcenter() 替换为下面的地址即可。这些我们就可以正常的编译我们的工程啦。repositories {// google()/

2021-02-03 18:02:35 1209

原创 SVN 命令行方式添加注释换行

我们在 Linux 环境下,使用 SVN 提交代码的时候,如果需要写入注释的时候,需要回车分行显示怎么办?使用如下命令即可:svn ci -m $'1.修改xxx\n2.优化yyy\n3.去掉zzzz'这样我们提交的代码注释就是1.修改xxx2.优化yyy3.去掉zzzz使用 $'xxx\nyyy' 格式即可实现注释换行了。\n就是实现换行转义字符,但要在$''的语句中才生效,如果直接在""使用\n是实现不了换行的。...

2021-01-20 16:03:15 1300 3

原创 Android 打包指定的so到apk中

今天遇到一个问题,第三方合作方只提供了arm架构的so,而我们的Android设备是arm64的,怎么办?现在就来讲讲怎么强制打包指定架构的so到我们的apk中。以我们的工程目录下 libs/armeabi/libxxx.so 为例。分别介绍在 Android Studio 中和 Android.mk 中的方法。Android Studio 中打包指定的 ABI 架构 so 到 apk 中app/build.gradleandroid { ... defaultConfig { ...

2020-09-17 15:08:46 1848 1

原创 Android ViewBinding 替换 findViewById 的神器

ViewBinding中文官网ViewBinding 的出现就是为了替代 findViewById 的。以前我们写完布局后就要在代码中使用 findViewById 方法找到 xml 文件中对应的 view ,这样耗时费力,还有可能会出错,比如 view 跟 id 不一致等等,奇奇怪怪的问题,毕竟人力和时间有限,这种简单繁杂的工作直接交给 IDE 去做不是更好,它们做的检测工作肯定比人来更精准。配置Android Studio 3.6 Canary 11 之后的版本都支持使用ViewBinding这个

2020-06-11 12:02:07 1227 1

原创 获取 Android 设备 屏幕,内存,存储大小

获取内存总大小ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();am.getMemoryInfo(info);info.tota...

2020-04-23 11:12:36 519

原创 AndroidStudio 添加系统签名

在做 Android 系统定制时,开发自家的 APP,可能会需要使用到一些特殊的权限,系统相关的 API 等等。因此,APP 自身需要有系统签名才能使用这些权限和 API。那我们要怎么获取系统签名,并给 APP 签上系统签名呢?下面讲解三种签名方式。第一种:系统编译签名在相应 APP 工程目录的mk文件中,添加下面这句话即可:...LOCAL_CERTIFICATE := platform...

2020-03-30 16:41:28 3407 3

原创 AndroidStudio 导入 framework.jar 并优先使用其提供的API

第一步:将编译好的framework.jar(out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar)拷贝到 AndroidStudio 相应工程的 libs 目录下(Project/app/libs)第二步:在 AndroidStudio 中选中 framework.jar 右键选择 Add As L...

2020-01-17 14:27:33 3184 3

原创 Android快速编译烧录system.img的方法

快速编译 system.img分别执行下面3条指令。编译命令如下:. build/envsetup.shlunchmake systemimage -j8编译生成后的 system.img 路径out/target/product/xxx/system.img快速烧录 system.img在PC端分别执行下面3条指令即可烧录system.img到Android设备中啦。adb ...

2020-01-10 15:18:30 3372 1

原创 SVN 命令方式批量添加和删除文件

使用SVN管理代码时,我们在linux环境下提交代码遇到大量的文件增加删除时使用命令的方式去提交代码非常痛苦,下面通过组合命令的方式解决了一个个提交命令的繁琐。SVN 批量添加文件:svn st | awk '{if ($1 == "?") {print $2} }' | xargs svn addSVN 批量删除文件:svn st | awk '{if ($1 == "!") {prin...

2020-01-10 14:52:11 1408 2

原创 Android WindManager Addview 监听按键事件

监听 Home,Menu 按键的广播IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);mContext.registerReceiver(mHomeListenerReceiver, filter);private BroadcastReceiver mHomeListenerReceive...

2019-10-28 19:18:41 1664

原创 Android 无需 root 卸载系统应用

卸载应用的命令adb shell pm uninstall [-k] [--user USER_ID] 包名-k : 卸载应用但保留数据和缓存--user 指定用户 id : Android 系统支持多个用户,默认系统用户只有一个,id=0。卸载系统应用(例:系统自带的计算器)不指定用户ID当我们不设置用户ID的时候,卸载系统应用是不成功的。adb shell pm unins...

2019-10-21 14:06:28 4852

原创 Android 9.0 System.loadLibrary 的源码解析

本文主要讲解下Android 9.0 System.loadLibrary 的源码实现。源码分析libcore/ojluni/src/main/java/java/lang/System.javapublic static void loadLibrary(String libname) { Runtime.getRuntime().loadLibrary0(VMStack.getC...

2019-09-30 17:27:09 2719 1

原创 Android 9.0 System.getProperty("java.library.path") 源码解析

本文将一步步解析 System.getProperty("java.library.path") 在 Android 9.0 中的源码实现。话不多说开干。源码分析首先,来分析下 System.getProperty() 函数的实现。libcore/ojluni/src/main/java/java/lang/System.javapublic static String getProper...

2019-09-28 11:37:24 2978

原创 设计模式之访问者模式

定义提供一个作用于某对象结构中的各元素的操作表示,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式。UML类图代码实现Element.javapublic interface Element { public void accept(Visitor visitor);}Visitor.javapublic abstrac...

2019-05-13 09:09:35 238

原创 设计模式之模板方法模式

定义定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。UML类图代码实现AbstractClass.javapublic abstract class AbstractClass { public void templateMethod...

2019-05-13 09:04:01 168

原创 设计模式之策略模式

定义定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换,策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。策略模式是一种对象行为型模式。UML类图代码实现Strategy.javapublic abstract class Strategy { public abstract void algorithm();}Context.javap...

2019-05-13 09:02:49 206

原创 设计模式之状态模式

定义允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。UML类图代码实现State.javapublic abstract class State { public abstract void handle();}Context.javapublic clas...

2019-05-13 09:02:04 147

原创 设计模式之观察者模式

定义定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对象行为型模式。UML类图代码实现Observer.javapu...

2019-05-13 09:01:01 241

原创 设计模式之备忘录模式

定义在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。UML类图代码实现Originator.javapublic class Originator { private String state; public String getState() { ...

2019-05-11 10:09:15 177

原创 设计模式之中介者模式

定义用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。UML类图代码实现Mediator.javapublic abstract class Mediator { protected ArrayList<Colleague> l...

2019-05-11 10:07:14 186

原创 设计模式之迭代器模式

定义提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。UML类图代码实现Iterator.javapublic interface Iterator { public void first(); public void next(); public boolean hasNext();...

2019-05-11 10:04:11 194

原创 设计模式之解释器模式

定义定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。解释器模式是一种类行为型模式。UML类图代码实现Context.javapublic class Context { private ArrayDeque<String> map = new ArrayDeque<>(); public ...

2019-05-11 10:02:03 313

原创 设计模式之命令模式

定义将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。UML类图代码实现Command.javapublic abstract class Command { public abstract void exec...

2019-05-11 09:59:05 204

原创 设计模式之职责链模式

定义避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。UML类图代码实现Handler.javapublic abstract class Handler { protected Handler successor; public void setSucc...

2019-05-11 09:55:40 188

原创 设计模式之代理模式

定义给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。代理模式是一种对象结构型模式。在代理模式中引入了一个新的代理对象,代理对象在客户端对象和目标对象之间起到中介的作用,它去掉客户不能看到的内容和服务或者增添客户需要的额外的新服务。远程代理(Remote Proxy):一种常用的代理模式,它使得客户端程序可以访问在远程主机上的对象,远程主机可能具有更好的计算性能与处理速度,...

2019-05-11 09:49:37 177

原创 设计模式之享元模式

定义运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。UML类图代码实现Flyweight.javapublic class Flyweight { private String intrinsicState...

2019-05-11 09:46:29 145

原创 设计模式之外观模式

定义为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。外观模式是迪米特法则的一种具体实现,通过引入一个新的外观角色可以降低原有系统的复杂度,同时降低客户类与子系统的耦合度。外观模式中所指的子系统是一个广义的概念,它可以是一个类、一个功能模块、系统的一个组成部分或者一个完整的系统。子系统类通常...

2019-05-11 09:43:06 204

原创 设计模式之装饰模式

定义动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。UML类图代码实现Component.javapublic abstract class Component { public abstract void operation();}Decorator.javapublic class Decora...

2019-05-11 09:39:32 181

原创 设计模式之组合模式

定义组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。UML类图代码实现Component.javapublic abstract class Component { public abstract voi...

2019-05-10 15:03:11 158

原创 设计模式之桥接模式

定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。UML类图代码实现Abstraction.javapublic abstract class Abstraction { protected Implementor impl; public void s...

2019-05-10 14:52:35 187

原创 设计模式之适配器模式

定义将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。根据适配器类与适配者类的关系不同,适配器模式可分为对象适配器和类适配器两种,在对象适配器模式中,适配器与适配者之间是关联关系;在类适配器模式中,适配器与适配者之间是继承(或实现)关系。在实际开发中,对象适配器的使用频率更高,...

2019-05-10 14:43:15 205

原创 设计模式之建造者模式

定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。UML类图代码实现Product.javapublic class Product { private String partA; private String partB; private String partC; public Strin...

2019-05-10 14:29:21 197

原创 设计模式之原型模式

定义将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。由于在软件系统中我们经常会遇到需要创建多个相同或者相似对象的情况,因此原型模式在真实开发中的使用频率还是非常高的。原型模式是一种“另类”的创建型模式,创建克隆对象的工厂就是原型类自身,工厂方法由克隆方法来实现。浅拷贝在浅克隆中,如果原型对象的成员变量是值类型,将复制一份给克隆对象;如果原型...

2019-05-10 14:23:14 225

原创 设计模式之单例模式

定义确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。UML类图代码实现饿汉式EagerSingleton.javapublic class EagerSingleton { private static final EagerSingleton instance = new EagerSi...

2019-05-10 14:16:08 135

原创 设计模式之抽象工厂模式

定义提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。简而言之,就是工厂不在只生产面包,它同时还可以生产辣条,糖果等食品,转型成一个食品工厂。可以生产多种食品类产品,就是说从单一食品种类面包生产,到支持多种类型的食品生产的工厂。UML类图代码实现ProductA.javapublic abstract class...

2019-05-10 11:48:07 205

原创 设计模式之工厂方法模式

定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。工厂方法模式又简称为工厂模式(Factory Pattern),又可称作虚拟构造器模式(Virtual Constructor Pattern)或多态工厂模式(Polymorphic Factory Pattern)。工厂方法模式是一种类创建型模式。简而言之,就是现在有多家面包生产工厂,分别是菠萝...

2019-05-10 11:41:52 156

原创 设计模式之简单工厂模式

定义定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法模式,它属于类创建型模式。简而言之,就是面包工厂生产各种面包,分别是菠萝包、手撕面包、火腿肠面包等等面包,客户想要生成什么面包,就跟工厂说需要生产什么面包即可。缺点就是客户需要三明治面包的话,工厂必须另外在增加一条三明...

2019-05-10 11:35:04 174

原创 设计模式之总序

概述模式是特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思想或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等。设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。七大设计原则1、单一职...

2019-05-10 11:31:41 206

原创 面试题:打印螺旋数字

输入一个n,打印n阶螺旋n = 11n = 29 2 38 1 47 6 5n = 325 10 11 12 1324 9 2 3 1423 8 1 4 1522 7 6 5 1621 20 19 18 17如上,输入不同的n值得到不用的数字螺旋。通过上面的示例可以找出基本规律:1总是在最中心位置,最大边的个数与n的关系是2n-1的关系,以及最左上角的值是最大边的乘...

2019-05-06 18:25:26 2018

vysorpro_8551.zip

Vysor 是一个免root实现实时电脑控制Android设备的工具软件,非常好用

2020-08-03

支持adb的putty(免安装).zip

支持adb的putty工具版本。 有需要的朋友可以自行下载。 本工具使用非常方便。

2020-04-01

jna 测试demo apk

本apk是根据JNA写的一个测试代码,用测试JNA的基本方法。

2018-01-23

jnaerator java代码生成工具

jnaerator 是一个专门为C++类生成jna格式的java代码工具。

2018-01-23

jna的aar资源包

JNA的jar和so资源文件,用于支持jna,实现免去写jni的烦恼!

2018-01-23

Sublime Text 3

本资源是一个代码编辑管理工具Sublime Text 3,非常方便!

2017-11-21

Markdown Windows平台编辑工具

本资源是一款专门针对Markdown在本地编辑的写作工具,适用平台Windows 64位的系统。

2017-11-21

Android GPS 收星测试APK

Android平台专门用于测试gps收星状态的apk,可以获取各种gps状态信息。

2017-11-17

Android 4.4.2 exfat移植

这是exfat android源码,感兴趣的可以参考我的博客http://blog.csdn.net/QQxiaoqiang1573/article/details/78534626

2017-11-14

Log.isLoggable之一正确的使用姿势

Log.isLoggable的使用测试样例

2017-06-05

ButterknifeTestDemo

本代码是一份简单使用Butterknife的样例代码

2017-03-17

Scalpel工具使用

用scalpel分析android界面布局,展现3D的效果

2017-03-07

Android 判断wifi是2.4GHz还是5GHz

android 判断wifi是2.4G还是5G热点

2017-01-23

Android 6.0 Launcher3 增加屏幕切换动画

Android 6.0 Launcher3 增加屏幕切换动画的资源和源码包

2017-01-09

基于eclipse的android-gif-drawable实现小demo

使用android-gif-drawable实现gif的加载显示

2016-12-14

基于eclipse的android-gif-drawable实现demo

使用android-gif-drawable实现gif的图片加载显示

2016-12-14

Android 基于4.4系统截屏的三指截屏

实现android三指截屏功能

2016-11-28

Android 动画之布局动画

Android布局动画的使用代码

2016-11-18

Android 动画之集合动画AnimatorSet

AnimatorSet的简单使用

2016-11-09

Android 动画之属性动画ObjectAnimator

介绍了ObjectAnimator的基本使用方法,感兴趣的可以去看android animation系列的文章 地址:http://blog.csdn.net/QQxiaoqiang1573/article/details/52874751

2016-11-08

Android 动画之属性动画ValueAnimator

ValueAnimator的简单使用

2016-11-04

Android 动画之插值器

android 动画的插值器

2016-10-20

Android 动画之视图动画

android 视图动画的代码

2016-10-20

Android Contacts之三自定义的联系人列表特效 b

实现了Contacts的滑动特效,中文索引,关键字搜索等等功能。

2016-09-30

Android Contacts之三自定义的联系人列表特效 A

Android Contacts之三自定义的联系人列表特效 A

2016-09-30

Android Contacts之三自定义的联系人列表特效

Android Contacts之三自定义的联系人列表特效

2016-09-30

Android Contacts之二根据4.4实现的联系人列表特效 A

联系人列表的代码,可以参考学习

2016-09-23

Android Contacts之二根据4.4实现的联系人列表特效

Android Contacts之二根据4.4实现的联系人列表特效

2016-09-23

Activity切换之overridePendingTransition初探-代码

本工程用于overridePendingTransition的上手入门,有需要的朋友可以看看

2015-09-09

空空如也

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

TA关注的人

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