自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 Retrofit 框架原理和源码分析

一、简单使用具体使用流程和方法说明详见:使用教程简单的代码示例://步骤1:创建接口类public interface WanAndroidService { @GET("article/list/{index}/json") Call<JsonObject> getArticles(@Path("index") int index);}//步骤2:构建R...

2021-07-05 10:38:40 170

原创 Retrofit 框架使用

本文主要介绍Retrofit的使用官网一、定义一个类型安全的 HTTP客户端请求框架,适用于Android和JavaRetrofit是一个Restful的HTTP网络请求框架的封装。网络请求实际上由OKHttp完成的,而Retrofit仅负责网络请求接口的封装二、依赖添加Gradle方式:implementation 'com.squareup.retrofit2:retro...

2021-07-05 10:36:44 310

原创 Java 动态代理

一、简介1.1 定义给某一个对象提供一个代理,并由代理对象控制对真实对象的访问,代理模式是结构型设计模式的一种代理模式详解根据字节码文件的创建时机来分类,可以分为静态代理和动态代理1.2 静态代理在程序运行前就已经存在代理类的字节码文件,代理类和被目标类的关系在运行前就确定了1.3 动态代理代理类在程序运行期间优JVM根据反射等机制动态生成,在程序运行前并不存在代理类的字节码文...

2021-06-08 10:36:13 103

原创 Java so文件混淆

So文件混淆一、 混淆目的JNI开发过程中利用javah生成本地层对应的函数名类似于java_com_XX这种形式,很容易被逆向者在逆向so的时候在IDA的Exports列表中找到如下:image.png我们的目的就是让这个函数在IDA中不能轻易找出,增加破解难度。二、 混淆方法1. 原理当我们在Java中调用System.l...

2019-06-03 09:39:00 1120

原创 Java 泛型通配符上下界理解及应用

一.通配符的应用实践检验真理,所以在说明通配符上下界的理解的时候,先说明下什么时候使用通配符关于泛型类型通配符的作用是为了代替泛型类的类型实参。当我们使用泛型类作为参数时,我们不想固定具体的泛型类型实参,而是想接收任意类型,或者某个类及其子类或超类类型作为类型实参,这个时候就需要使用通配符了,使用泛型类<?>作为类型实参总结来说通配符...

2019-03-21 20:31:00 1744

原创 Android 混淆

一.混淆开启混淆:是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。加代码混淆意义在于不想开源应用,为了加大反编译的成本,但是并不能彻底防止反编译在Application主工程的build.gradle文件里面设置开启混淆:minifyEnabled true配置混淆文件:proguardFiles getDefa...

2019-03-08 00:15:00 225

原创 Android 打包上传Maven库

一.Maven私服搭建下载nexus3地址:https://www.sonatype.com/download-oss-sonatypewindows系统:修改配置解压下载包到:F:\MavenCenter\nexus-3.15.2-01-win64修改文件位置:...\nexus-3.15.2-01\etc文件夹下n...

2019-03-06 20:55:00 582

原创 Android APT(Java注解应用)

关于Java注解一.APT技术APT(Annotation Process Tool),注解处理器。用来在编译时扫描和处理注解,按照一定的规则,生成相应的java文件。Android 目前比较流行的Dagger2, ButterKnife, EventBus3都采用了APT技术。二.APT使用1. AbstractProcesser类Java...

2019-03-03 16:30:00 502

原创 Java注解 annotation

一.什么是注解官方解释:Java 注解用于为Java程序提供元数据。作为元数据,注解不直接影响代码的执行,但也有一些注解实际上可以用于这一目的。什么是元数据,即一种描述数据的数据。所以可以说注解是描述源代码的数据。简单理解注解可以看出一个个标签,用来标记你的代码,是一种应用于类,方法,参数,变量,构造器及包的一种特殊修饰符。二.注解的定义注...

2019-02-22 10:43:00 86

原创 Android 全面屏黑边适配

问题:全面屏底部会出现黑边原因:全面屏宽高比例比较特殊,不是之前的16:9。例如小米mix2s,屏幕宽高比是18:9。Android默认支持的最大宽高比例是1.86,小于全面屏手机的宽高比例。所有如果全面屏手机上的应用没有做适配,底部就会出现黑边。解决方案:方案1:设置resizeableActivity属性值&lt;application...

2019-02-13 10:36:00 3348 1

原创 Android 9.0 加密适配

Android 9.0 加密报错:NoSuchAlgorithmException: class configured for SecureRandom (provider: Crypto) cannot be found调用方法:private static byte[] getRawKey(byte[] seed) throws Except...

2019-01-23 15:56:00 3480

原创 Android SQLite (二.数据库创建,升级及降级)

一.SQLite简介和常用语法二.数据库创建,升级及降级上篇文章简介和常用语法介绍了SQLite数据库的基本信息和一些常用的语法操作,本篇文章主要介绍Android开发过程中SQLite数据库的创建使用和常见问题处理。一.SQLiteOpenHelper介绍对于Android平台来说,我们可以使用系统提供的API轻松实现对SQLite数据库的操作...

2018-10-16 20:24:00 256

原创 Android 横竖屏切换总结

一.Android切换横竖屏应用的横竖屏设置应用的横竖屏设置主要是通过Activity的screenOrientation属性控制,属性值如下:主要有以下两种方式设置screenOrientation属性值静态设置,即在Mainfest文件中配置screenOrientation属性动态设置,即调用Activity的setR...

2018-09-01 17:54:00 1662

原创 Android SQLite (一.简介和常用语法)

[一.SQLite简介和常用语法][二.数据库创建,升级及降级]一.简介SQLite是一个轻量级的数据库,实现了自给自足的,无服务器的,零配置的,事务性的SQL数据库引擎。二.基本SQL语法SQLite 不区分大小写,但有一些命令是大小写敏感的,例如:GLOB和glob1.数据类型每个存储在SQLite的值都属于以下存储类之一存储类 说明 NULL 值是一...

2018-08-24 19:37:00 183

原创 GIT和SVN同时管理项目(Android为例,Android Studio)

前言新公司,项目都是使用SVN管理的,但是SVN无法在本地切换分支,也没有暂存,分步commit等功能,实际开发中使用很不方便,但是项目远程仓库是配置的SVN,这个无法修改,怎么办呢?下面提供个方案:GIT管理本地项目,SVN负责提交远程仓库git配置下载地址git init切换到项目目录,命令行,执行如下命令:初始化本地git仓库git...

2018-08-02 19:24:00 865

原创 Andrid AIDL简介和使用

零.前言本片文章主要介绍Android AIDL的概念和使用,着重介绍AIDL的使用。一.基本概念什么是Binder:简单的来讲,我们可以将Binder看成Android进程间通信的一种方式,是Android的特性之一。什么是ALDL:AIDL ( Android Interface Definition Language ) Android接口定义语言。AIDL是一种编程规范,用...

2018-07-21 16:10:00 152

原创 Android 6.0+的权限问题

问题:Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied) 前段时间实现Android文件的创建时遇到这个问题,权限拒绝。明明权限在manifest文件列出了读取权限,为什么会失败,后来查找Android官方文档,发现Android 23+之后的API对权限进行了新的规定。 系统权限分

2017-02-27 16:50:41 231

原创 Android library三方框架-jcenter仓库

上传Android library 到jcenter1.创建bintray官网账号 注册地址:https://bintray.com/signup 当然你也可以使用GitHub账号地址注册,这里需要注意邮箱地址不能是QQ邮箱地址 2.创建jcenter仓库 3.创建仓库的package–你的项目地址 4.在project项目的gradle文件中添加上传插件 dependen

2017-02-20 12:26:21 363

原创 Android View的工作流程总结分析(二)-Measure

接上文,下面讲讲View工作的三大流程: 一、Measure流程Measure流程是三个流程里面最复杂的,先说下一个概念MeasureSpec MeasureSpec 封装了父View传递给子View的布局要求,它是根据子View的layoutParams属性(layout_windth,layout_height等等)和父View自身的宽高生成的一个尺寸需求。当前View会根据这个值来设

2016-11-11 14:47:30 414

原创 Android View的工作流程总结分析 (一) -performTraversals

Android View的工作流程     Android View的工作流程主要有三大流程:   measure 流程,测量获得View所需要的宽高   layout 流程,布局决定View在屏幕中具体的位置(决定实际的宽高)   draw 流程 绘制,真正将View的内容显示到匹配中   View工作是从什么地方开始的呢?先说结论:ViewRootImpl调用per

2016-10-24 15:22:04 1063

原创 Activity onStop方法调用时机

Called when youare no longer visible to the user.官网的解释是:当对用户不可见时调用 1.home键返回,锁屏,关闭界面肯定会调用onStop的 2.但是开启另一个Activity并不一定会调用onStop方法当设置Activity的主题windowIsTranslucent属性为true是,窗口为半透明,虽然最后看着效果和直

2016-09-08 11:18:39 5783

原创 android:clipToPadding和android:clipChildren

android:clipToPadding 是否限制View在Padding内绘制 默认true 限制  ,false 不限制android:clipChildren  是否限制子View在其范围内绘制  默认true 限制 ,false 不限制

2016-08-31 13:28:24 464

原创 Android 魅族手机ListView 下拉出现HOLD字样

魅族手机ListView 下拉出现HOLD字样目前找到的解决办法是去掉ListView 的边缘模糊和回弹。代码如下: android:fadingEdge="none" android:overScrollMode="never"

2016-07-27 16:07:57 993

转载 Android 动画

转载地址:http://www.cnblogs.com/qiengo/archive/2012/05/03/2480386.htmlAnimationsTween AnimationsAnimationSetInterpolatorFrame-By-Frame AnimationsLayoutAnimati

2016-07-14 16:01:32 198

原创 Android ViewPager + Fragment 自定义滑动标签

Fragment+ViewPager+HorizontalScrollView简单的分类导航页实现效果图:

2016-07-07 20:18:00 492

原创 Android View drawText 文本居中

publicvoid drawText (CharSequencetext, int start, int end, float x, float y, Paint paint)Draw the specified range of text,specified by start/end, with its origin at (x,y), in the specified Paint

2016-06-23 14:54:09 644

原创 Android 在部分华为手机上出现乱码的问题

Android APP 在部分华为手机上出现了乱码问题,找了好久了终于找到原因了前后台post请求体编码和解码时一致的 URL;UTF-8但是还是出现了乱码,原因如下:Content-Type:application/x-www-form-urlencoded; charset=UTF-8,application/x-www-form-urlencoded; charset=utf

2016-06-16 15:06:10 7121

Android View的工作原理详解

详细讲解Android View的工作原理。分析源码,讲解View的工作流程,何时开始触发等等。

2016-10-24

空空如也

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

TA关注的人

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