自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

android_hdh的博客

每日总结,温故知新

  • 博客(66)
  • 资源 (5)
  • 收藏
  • 关注

原创 开发利器:接口代理和接口模拟工具

本工具后端模拟代理服务基于开源框架 Mock Server(https://www.mock-server.com/#what-is-mockserver,具体框架为 mockserver-netty-5.14.0) 开发完成。代理服务启动后,如果我们需要代理手机的请求,就将手机连至电脑同一个局域网内,然后在网络代理中设置代理服务器为控制面板中显示的代理 IP 和端口号。7、设置完成后就能看到手机的请求已经被代理了,通过点击列表中的请求可以查看具体的网络请求数据。8、模拟接口可以通过两种方式来完成。

2023-08-15 18:53:29 647

原创 Android APK 加固技术探究(三)

Android APK 加固技术探究(一)Android APK 加固技术探究(二)Android APK 加固技术探究(三)为了保证 Android 应用的源码安全性,我们一般会对上线的应用进行代码混淆,然而仅仅做代码混淆还不够,我们还要对我们的应用加固,防止别人通过反编译获取到我们的源码。目前 apk 加固技术比较成熟完善,市面上比较流行的有“360加固”。本文就 apk 加固技术做一个技术探究,希望读者看过后能明白加固的其中原理,并也能自己实现加固方案。源码地址:https://gitee

2021-11-01 23:24:56 1620 1

原创 Android APK 加固技术探究(二)

Android APK 加固技术探究(一)Android APK 加固技术探究(二)Android APK 加固技术探究(三)为了保证 Android 应用的源码安全性,我们一般会对上线的应用进行代码混淆,然而仅仅做代码混淆还不够,我们还要对我们的应用加固,防止别人通过反编译获取到我们的源码。目前 apk 加固技术比较成熟完善,市面上比较流行的有“360加固”。本文就 apk 加固技术做一个技术探究,希望读者看过后能明白加固的其中原理,并也能自己实现加固方案。在 Android apk 加固技术

2021-11-01 23:23:21 2288

原创 Android APK 加固技术探究(一)

Android APK 加固技术探究(一)Android APK 加固技术探究(二)Android APK 加固技术探究(三)为了保证 Android 应用的源码安全性,我们一般会对上线的应用进行代码混淆,然而仅仅做代码混淆还不够,我们还要对我们的应用加固,防止别人通过反编译获取到我们的源码。目前 apk 加固技术比较成熟完善,市面上比较流行的有“360加固”。本文就 apk 加固技术做一个技术探究,希望读者看过后能明白加固的其中原理,并也能自己实现加固方案。Android apk 的反编译作

2021-11-01 23:21:12 1727

原创 Flutter开发之Android启动白屏优化方案

通常 Android 项目运行,因项目大小或设备性能多多少少会出现启动白屏,关于这方面的优化 Android 原生有通用的方案,同样 Flutter 在这方面的优化方案也是一样。解决方案步骤一:在 Android 工程的目录下找到这两个文件步骤二:打开 launch_background.xml上图中红框中的内容就是我们替换白屏的图片,这里你可用一张图片也可用多个图片放到不同的item中去展示步骤三:如果按照上面的步骤设置没有效果,那么请先检查是否修改了所有的laun

2021-03-17 08:46:59 590

原创 Android 中基于 OKHttp 和 HttpUrlConnection 封装的 Http 请求库

Android 中基于 OKHttp 和 HttpUrlConnection 封装的 Http 请求库1、项目地址Github传送门2、项目说明HttpAgent 是 Android 网络请求框架,可以自定义网络引擎,支持 GET、POST、文件上传、文件下载,可以监听文件下载上传进度。本库内部基于 OkHttp 和 HttpUrlConnection 实现了两套网络请求逻辑,使用者可以根据自己的需要使用其中的某一种类型,或者自己按提供的接口自行实现。3、使用说明1、全局配置HttpAgent

2020-08-18 13:47:54 468 1

原创 Android 中动态提取图片中颜色作为主题色

功能需求一个页面中顶部显示一张图片(图片从网络加载),此时需要根据图片的颜色来动态调整顶部标题栏的背景色。技术要求Android 调色板支持库实现过程1、添加调色板支持库dependencies{ implementation 'androidx.palette:palette:1.0.0'}2、创建调色板实例这里有 2 中方式来创建/** * 同步方式 */fun createPaletteSync(bitmap: Bitmap): Palette = Palette.fro

2020-07-17 18:05:07 4001

原创 kotlin项目报错误提示Please specify proper '-jvm-target' option

错误提示Cannot inline bytecode buit with JVM target 1.8 into bytecode that is being built with JVM target 1.6.Please specify proper '-jvm-target' option报错原因kotlin代码编译的时候依然是使用的jdk1.6在编译。要想kotlin也用jdk1...

2020-05-07 13:43:28 504

原创 Android 设备监听网络状态变化

Android 网络状态的变化监听目前主要有两种方式,一种是通过 ConnectivityManager 网络连接管理类来注册监听网络状态回调,另一种则是通过广播来实现。1、通过 ConnectivityManager 来实现创建 ConnectivityManager 对象ConnectivityManager connectivityManager = (ConnectivityMa...

2020-01-21 18:11:00 3701

原创 Android 设备网络信息的获取(网络类型、网络强度、网络速度、代理情况)

1、Android 设备网络类型的判断判断网络类型主要还是依赖系统服务(系统为我们提供了大量的服务,以便我们能够查看到设备的一些信息),这里通过 Context.CONNECTIVITY_SERVICE 这个服务来获得 ConnectivityManager 类对象。具体实现如下/** * 获得网络类型 * * @param context * @ret...

2020-01-21 14:05:21 4324 1

原创 Android 设备电池容量和使用量的获取

1、获取 Android 设备的电池容量电池容量的获取主要通过反射 com.android.internal.os.PowerProfile类,调用其中的 getBatteryCapacity 方法获取。具体方法如下/** * 获取电池的容量 * * @param context * @return */ public static ...

2020-01-21 11:51:35 3424

原创 Android网络请求遇到not permitted by network security policy问题

从Android9.0开始,Google为了Android的网络安全将不再默认支持Http的请求,所有的请求将需要使用Https,所以当使用大于等于9.0版本时,http的请求将会出现标题中的错误。当然我们如果依然需要使用Http,Google也提供了方法帮我们解决这个问题。方法:1、在res中新建xml文件夹,然后在文件夹中新建名为network_security_config.xml文...

2019-10-21 14:18:36 632

原创 Android ViewModel使用与源码解析

Android 中的ViewModel的使用主要分为3部分1、创建一个ViewModel类,例如class MyViewModel: ViewModel(){ private val message:MutableLiveData<String> by lazy{ MutableLiveData<String>().also{ ...

2019-10-14 17:46:54 346

原创 Android findViewById源码分析

Android中常用到findViewById的地方,一是Activity中直接调用findViewById和二个是Fragment中通过View去调用findViewById。1、先来看下第二种我们在用Fragment时常有这样一段代码override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,...

2019-10-10 15:48:20 665

原创 MySql删除数据库中某一列中的特殊字符

update 表名 set 列名 = replace(列名,'原值','新值')

2019-08-19 21:28:33 1343

原创 MySql更新表中某个字段值时报一下错误

错误日志:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor a...

2019-08-19 21:25:41 244

原创 Android动态改变shape.xml中图形的颜色

在Android开发过程中我们常遇到将某个图形的颜色改变(例如用圆点的不同颜色来代表不同的状态)像这样的需求,一般我们使用android的shape就可以实现,比如<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"...

2019-07-03 14:48:46 2429

原创 Android 弹框没有背景色及背景边框设置

<style name="versionDialogTheme" parent="@android:style/Theme.Holo.Light.Dialog"> <item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 --> &lt...

2019-06-28 10:25:15 1050

原创 Android用PopumWindows实现特殊需求

最近有一个特殊的需求----实现按钮点击弹出一个页面,页面在按钮下方显示,下面半透明,上面透明。如图所示首先想到的是使用popumwindows实现。实现方式:popumWindows 弹出方式使用showAsDropDown,然后focusable设置为不获取焦点(因为要在弹出的情况下响应页面上面的筛选点击事件)。遇到问题及解决方法:1、popumwindows的显示高度:s...

2019-06-21 18:04:33 256

原创 Kotlin中使用DSL方式实现接口回调

import logimport sun.audio.AudioDataclass AudioPlayer{ //定义一个内部类 inner class ListenerBuilder{ //定义三个回调方法 internal var mAudioPlayAction:((AudioData) -> Unit)? = null ...

2019-06-17 17:49:52 930

原创 Android中Activity和Fragment通过接口管理类来简化通信过程

思想来源动脑学院实现思路,1、将回调接口抽象化,2、提供一个接口管理类,来添加实现的抽象接口和调用注册的接口3、Activity中调用接口管理类来注册回调接口4、Fragment中调用接口实现方法具体的实现逻辑请移步源码地址...

2019-04-17 16:30:24 505

原创 Android密码框显示隐藏密码

//显示密码editText.transformationMethod = PasswordTransformationMethod.getInstance()//隐藏密码editText.transformationMethod = HideReturnsTransformationMethod.getInstance()

2019-04-01 13:49:07 1410

原创 Android EditText限制输入的最大字符数

需求:EditTtext需要限定输入的字符数量,一个汉字字符占据的是2个字符,一个英文字符占据1个字符。实时监听输入的字符数量,超过字符提示内容长度超限实现思路:通过EditText的InputFilter过滤器实现。1、查看InputFilter这个类,里面有个实现好的限制输入文本长度的静态类LengthFilter,源码如下:/** * This filter will...

2019-04-01 13:43:14 3192

原创 Java中关于String,StringBuffer,StringBuilder的区别

1、String的值是不可变的,即String str = "111"; str = "222";虽然str对象名称没有变但是它指向的是两个不同的对象。因此如果大量使用String字符串会比较耗内存,因为它要频繁的创建和销毁创建的String对象。2、StringBuffer他的值是可以改变的。并且他是线程安全的类,因为他的很多方法都加了同步操作,所以它在操作的速度上来说要比StringBui...

2019-01-17 19:38:58 109

原创 继MVP模版后的第二个模版------Adapter模版

具体内容详见Github https://github.com/ShanDianDev/Adapter-Templete快速创建Adapter模版免去创建布局内部类的烦恼

2018-10-19 15:14:35 124

原创 Android Lifecycles组件(生命周期感知组件)的简单使用

来自google的一段介绍    生命周期感知组件执行操作以响应另一个组件(例如活动和片段)的生命周期状态的更改。这些组件可帮助您生成更易于组织且通常更轻量级的代码,这些代码更易于维护。    一种常见的模式是在活动和片段的生命周期方法中实现依赖组件的操作。但是,这种模式导致代码组织不良以及错误的增加。通过使用生命周期感知组件,您可以将依赖组件的代码移出生命周期方法并移入组件本身。这个...

2018-10-19 11:14:39 770

原创 Android开发中使用模版功能快速创建MVP模版文件

在android开发中使用MVP模式进行开发最烦的就是要创建model,presenter,view等等一系列文件。这大大的降低了开发效率,那么有没有方法能够解决这个问题呢?这里不得不感谢AS的伟大,他为我们提供了这一类事插件的功能。在创建Activity的过程中这一张图片大家一定很熟悉当我们点击Empty Activity时给我们创建了一个带XML布局的Activity,并且帮我们在...

2018-10-15 15:15:03 333

原创 Android动画中的插值器Interpolator使用

Interpolator的使用在Android中使用属性动画时可以设置插值器,系统为我们提供了几种已经实现了的插值器类。 分别为: - LinearInterpolator 匀速直线运动 - AccelerateDecelerateInterpolator 中间快两头满 - AccelerateInterpolator 开始慢然后快 - AnticipateInterpolator ...

2018-08-10 13:32:08 1081

原创 用Kotlin写一个RecyclerView的自定义分割线

很多时候我们在用RecyclerView时需要用到分割线。有时候图省事就用了一个View布局给他设置个背景色来实现,这样做虽然可以实现分割线的效果,但是这么做是不是有点low了。。。。其实RecyclerView自己就有设置分割线的方法addItemDecoration,通过这个方法我们可以很方便的设置分割线。同时系统还为我们提供了一个分割线的类DividerItemDecoration。...

2018-07-27 14:45:12 1952 1

原创 Kotlin写一个自定义的菜单控件

首先贴一下效果图思路:菜单控件分两部分,一是点击的子按钮(RecordButton),二是包裹着子按钮的容器(RecordMenu)。子按钮负责显示文字及背景颜色和点击事件,父容器主要控制子控件的位置和动画显示。实现:子按钮,先贴代码class RecordButton : RelativeLayout { /** 控件显示的文本*/ lateinit v...

2018-07-26 13:44:59 2597

原创 Android activity页面跳转-共享元素

Android5.0之后支持Activity页面跳转使用共享元素,所谓共享元素即是在两个Activity(A,B)中设置两个控件(a,b),从A跳转到B时让两个Activity平滑的从a过度到b。效果图如下下面就来记录一下实现的过程1.首先在需要跳转的两个Activity的布局中找到你需要共享的控件&lt;android.support.constraint.ConstraintLayout xm...

2018-06-22 11:08:04 1126

原创 Kotlin学习-基础-数据类型

Kotlin的数据类型有:数字、字符、布尔值、数组和字符串。1、数字kotlin在数字处理上接近于java但是不是完全相同。他提供如下几种内置类型来表示数字:Double、Float、Long、Int、Short、Byte(字符类型在Kotlin中不是数字)1.1字面常量    数值常量有三种:十进制(123,Long类型要加L-123L,Float要加F或者f-123.4f),十六进制(0x0f...

2018-06-18 17:05:46 220

原创 Android中关于Bitmap的裁剪缩放和创建

Android 中常常需要对图片进行缩放裁剪等处理,这里简单的介绍一下这两种处理方式的方法1.裁剪/** * Returns an immutable bitmap from the specified subset of the source * bitmap. The new bitmap may be the same object as source, or a cop...

2018-03-09 11:27:01 7806

原创 关于Servlet中获取到Http传输过来的中文正常,而当数据插入到MySql中时为乱码或者问好的解决方案

1、当连接数据库时这样写url="jdbc:mysql://localhost:3306/RQDataBase?useUnicode=true&characterEncoding=UTF-8"2、如果是用连接池则用url="jdbc:mysql://localhost:3306/RQDataBase?useUnicode=true&characterEncoding=UTF

2018-02-05 16:24:27 295

原创 Android中获取输入法高度,根据输入法高度调节文本框的位置

可能大伙儿都发现了Android中并没有直接提供给我们获取输入法高度的方法,但是接下来提供的方法却能帮我们间接获取输入法高度。直接上代码rl_finance_detail.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayoutListener() {

2018-02-05 14:23:20 1349

原创 java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMerger

对你表示同情,因为你遇到了这个bug,但是还得恭喜你,因为这篇文章将帮助你解决这个bug。android项目在构建时不会报这个错,但是一运行就会报这个错,这个错的意思是在你的项目中引用了相同的包。知道问题所在那么我们就来解决问题。1、找到引用了相同包的依赖,例如我的项目中用了compile'com.squareup.okhttp3:okhttp:3.7.0'在okhttp中同时引用

2018-02-01 15:07:41 11433 5

原创 Android软件性能检测工具讲解

1 静态代码质量检测工具Android Studio—>Analyze—>Inspect Code通过静态代码质量检测工具可以删掉工程中无用的资源文件、发现潜在的内存泄漏问题、明显的代码问题、简化代码等等,如下图它列举出了所有的存在的问题,点击进行修改2  使用严格模式(StrictMode)StrictMode就是用来指定一系列策略(policy),对相应规则(rule)

2017-10-17 15:08:46 469

原创 Rxjava2.x学习记录(三)

Rxjava2.x的内容和Rxjava1.x稍有差别,操作符部分基本不变使用添加依赖compile 'io.reactivex.rxjava2:rxandroid:2.0.1'compile 'io.reactivex.rxjava2:rxjava:2.1.5'具体的使用方法详见http://www.jianshu.com/p/0cd258eecf60

2017-10-16 14:09:05 289

原创 Rxjava1.x学习记录(二)操作符

1,from将一组数据,按顺序依次发射出去private void rxFromUse() { List list = new ArrayList<>(); list.add("from1"); list.add("from2"); list.add("from3"); list.add("from4");

2017-10-13 18:33:42 332

原创 Rxjava1.x学习记录(一)名词及用法的简单介绍

1   介绍几个名词(比较常用到的)Observable:可观察的,用来发送一个事件源Subscriber:订阅者,用来接受处理一个事件源Subscription:当Observable订阅了Subscriber时会返回一个Subscription,这个Subscription可以对订阅关系进行管理(例如取消订阅)Action0:一个接口,内部包含一个call(),无返回值

2017-10-13 15:26:42 306

Mock Server Helper 管理系统程序

客户端网络代理程序和接口模拟服务程序,方便前端开发进行接口调试,加快联调进度和开发进度

2023-08-15

C++经典30实例,帮助理解c++.zip

C++学习经典实例30个,帮助理解c++ 包括文本编辑器,多线程,odbc等等

2019-05-24

apk反编译工具

apk反编译工具,帮助分析apk内容,查看自己apk的加固是否有效

2018-01-09

TCP_UDP_PerformanceTest.exe

Socket通信中并发压力测试工具,可以设置并发数,请求频率和请求的内容,使用还是比较简单的,基本上满足了socket服务器的测试

2016-08-12

Apache MINA框架所用的jar包

Java中使用Apache MINA框架所用的jar包,将其导入到项目中即可

2016-08-12

Thrift框架所用的包

压缩包中包含四个文件,libthrift-0.9.1.jar,slf4j-api-1.7.12.jar,demoHello.thrift,thrift-0.9.3.exe.使用方法将前两个包导入到项目中。然后将后两个文件放在同一个目录,在控制台中执行如下命令thrift-0.9.3.exe -r -gen java ./demoHello.thrift,将产生一个新的目录,将里面的文件复制到项目中即可

2016-08-12

空空如也

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

TA关注的人

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