自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_wzc的博客

我的心愿是~宇宙和平!!!

  • 博客(34)
  • 资源 (17)
  • 收藏
  • 关注

原创 一款可以一键实现屏幕适配的插件

目录什么是SmallestWidth适配怎么计算SmallestWidth的值怎么确定dimens.xml文件内的值一键生成`values-swdp`文件夹插件什么是SmallestWidth适配SmallestWidth适配也叫做限定符屏幕适配方案,SmallestWidth 翻译成中文就说是最小宽度,也就是更具最小宽度去适配;开发者为了做好适配会在工程中新建一系列 values-sw&l...

2019-04-27 00:47:57 2094 1

原创 图解混合密码系统

虽然 **非对称加密** 解决了密钥配送问题,但是 **非对称加密** 有两个问题。(1)**非对称加密** 处理速度不如 **对称加密**(2)无法抵御中间人攻击为了解决问题(1)所以有了**混合密码系统**,它结合 **非对称加密** 和 **对称加密** 两者的优势。问题(2)这需要对公钥进行认证(如HTTPS),单靠混合加密系统是无法防止中间人攻击的

2022-01-02 14:00:01 3361

原创 Android系统下的文件权限

Android继承了Linux中的文件权限机制,系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为**只读`(r)`**、**只写`(w)`** 和 **可执行`(x)`** 三种方式。

2021-12-18 14:34:49 6515

原创 图解DES、3DES和AES加密算法

DES是一种将64bit的明文加密成64bit的密文的对称加密算法。它的密钥长度是56bit。从规格上来讲,DES密钥长度是64bit,但是由于每隔7bit会设置一个用于校验检查的校验位,所以实质上密钥长度是56bit。DES是以64bit的明文为一个单位来进行**分组加密**的,所以**DES**每次只能加密64bit的数据。如果需要加密很长的数据,就需要对**DES**加密进行迭代,而迭代的具体方式就称为**模式**(**ECB**、**CBC**、**CFB**、**OFB**、**CTR**)

2021-12-04 13:30:36 10154

原创 Java注解之编译时注解

文章目录AbstractProcessorinit(ProcessingEnvironment processingEnv)ProcessingEnvironmentgetSupportedOptions()getSupportedSourceVersion()getSupportedAnnotationTypes()process(Set<? extends TypeElement> set, RoundEnvironment roundEnvironment)ElementAbstract

2021-08-08 00:42:04 1464

原创 如何实现自定义注解

注解(Annotation)在Java中,是以@字符开始的修饰符,如我们常见的@Override就是注解。而它的源码如下:@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Override {}可以看到源码很简单,那么这些@Target、 @Retention是什么意思呢?这些在自定义注解上的注解,叫做元注解。元注解Java 中提供了以下元注解类型:@Retention@Targ

2021-08-07 11:40:11 4912

原创 Jetpack-Paging使用教程

Jetpack-Paging使用教程一、Paging是什么?Paging 是一个分页库,Paging 可以帮助我们优雅地渐进加载大型数据集合,同时也可以减少网络的使用和系统资源的消耗。在内存中缓存分页数据,确保您的 App 在使用分页数据时有效地使用系统资源。内置删除重复数据的请求,确保您的 App 有效地使用网络带宽和系统资源。可配置当用户滚动到加载数据的末尾时自动请求数据。1.1. Paging版本截止到目前2021-01-17 Paging库现在分为两个版本,其中Pagi

2021-01-17 14:57:06 997

原创 如何实现Android屏幕适配

文章目录一、分辨率适配一、分辨率适配android中的dp和px相互转换的计算公式:px = dp * (dpi / 160)density = dpi / 160px = density * dp而dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的。“dpi”=√(宽2+高2 (单位"px" ))/(屏幕尺寸(单位"inch" ))├── src/main│...

2020-06-07 17:15:19 2263 1

原创 解决Android实现圆角效果在Android P以下成黑色

解决Android实现圆角效果在Android P以下成黑色背景项目中测试反馈在Android P以下图片边黑了。看了一下项目代码发现是自定义圆角图片View造成的,review 代码发现实现原理很简单。就是如下图绘制出四个黄色的角,盖在图片上就行了。(PS:图画的比较粗糙,大家见谅)

2020-04-04 15:32:15 1847

原创 手把手教你搭建Android项目组件化架构

文章目录1.1.项目地址:组件化:将app按照业务、功能、等进行划分一个个Module,然后在具体的Module中可以用MVC、MVP、MVVM等架构去具体实现。特点:在打正式app时这些Module是集成在app内的,调试时这些Module又可以变成一个个app模块一对一调试。在2.基础配置统一管理build配置以及组件/集成模式的切换在根目录下新增config.gradle文件...

2019-08-04 20:08:27 597

原创 关于Java垃圾回收机制

文章目录1.概述2.判断对象是否存活的方法2.1.引用计数法2.2.可达性分析算法2.3.什么样的对象才是真正死亡3.垃圾回收算法3.1.标记-清除(Mark-Sweep)算法3.2.复制(Copying)算法3.3.标记-整理(Mark-Compact)算法3.4.分代收集算法4.JVM内存分配4.1.新生代4.2.老年代4.3.永久代1.概述最近在看《深入Java虚拟机》一书,书中讲到关于...

2019-07-14 15:59:24 373

原创 如何利用无UI的Fragment实现动态权限申请

文章目录1.关于危险权限2.权限申请官方例子2.1. ContextCompat.checkSelfPermission()2.2. shouldShowRequestPermissionRationale()2.3. requestPermissions()2.4. onRequestPermissionsResult()1.关于危险权限总所周知Android6.0及以上涉及到危险权限需要动...

2019-07-07 16:59:34 1197

原创 BAT大厂面试题

答案只写了Java基础的部分,有空会接着写。答案并不是标准答案,有错的地方还请指正面试题目来中鸿洋大神的微信公众号分享:BAT大厂面试题(一)java面试题(1)java基础面试知识点(2) java深入源码级的面试题(有难度)(3)数据结构(4)线程、多线程和线程池(5)并发编程有关知识点(二)Android面试题(1)Android基础知识点(2)Android...

2018-03-06 15:24:37 1973 5

原创 什么是TCP协议的三次握手四次挥手

IP协议、HTTP协议、TCP协议、TCP/IP 协议我们经常遇到,而且初学的时候容易弄混。那么他们之间有什么关系呢?重点内容1、什么是TCP/IP 协议TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、HTTP协议、TCP协议等。而三次握手四次挥手就发生在TCP协议中。TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层。每层都有相应的协议,具体如下图: 下面是从网

2018-01-22 11:14:04 1181

原创 几种常见的单例模式学习

懒汉式(线程不安全)//只适合单线程环境public class Singleton { private static Singleton instance=null; private Singleton(){} public static Singleton getInstance(){ if(instance==null){ ...

2018-01-08 12:03:37 316

原创 The specified child already has a parent. You must call removeView() on the child's parent first

:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.//看字面意思是子View已经存

2017-08-28 16:47:20 6921

原创 关于Android Studio配置Gradle

不管是安装Android Studio还是升级Android Studio都会遇到配置Gradle的烦恼。1.配置gradle1.1 默认配置的Gradle第一次安装的AS默认配置是,在setting下gradle下设置gradle选择的是use defalut gradle wrapper(recommended),当选择的是这个时,AS就会根据{project.dir}\gradle\wrap

2017-08-25 15:25:23 1243

原创 Android Studio LibraryModule中引用aar

一、在正常的Module中引用aar步骤是: 1.在Module的build文件中加入如下:repositories { flatDir { dirs 'libs' }}//看网上说这部分,有说加在android标签内的也有说和android同级的//我都试过了,两种都是可以的2.在dependencies标签下加入如下 compile(name: 'aar的

2017-07-16 00:54:55 3551

原创 Android中的序列化Serializable和Parcelable

一简介二Serializable接口三Parcelable接口一、简介IPC是Inter-Process Communication的缩写,含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程; IPC主要包含三个方面:Serializable接口、Parcelable接口和Binder; Android中可Serializable接口和Parcelable接口来对对象进行序列化

2017-06-04 13:52:15 660

原创 讲一讲Android中View的事件分发机制

点击事件的分发过程由三个很重要的方法来共同完成:dispatchTouchEvent、onInterceptTouchEven和onTouchEvent; * ViewGroup的相关事件有三个:onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent。 * View的相关事件只有两个:dispatchTouchEvent、onTouchEvent。

2017-04-02 16:56:42 798

原创 使用Viewpager实现带指示器的导航页

先来看一下最终效果1.布局文件如下: <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/viewp

2016-12-11 12:00:49 678

原创 android调用系统照相机拍照,并压缩保存在本地

1.首先拍照和保存文件肯定就需要申请权限 &lt;!-- 往SDCard写入数据权限 --&gt; &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt; &lt;!-- 在SDCard中创建与删除文件权限 --&gt; &lt;uses-permiss...

2016-11-26 10:33:35 8315 2

原创 学习自定义View之前你应该要知道的一些东西

自定义View可以说是Android进阶的必经之路,也断断续续的学习了一段时间,所有该做一下总结什么的了。目录学习自定义View之前要知道的Anroid中的坐标系屏幕中的坐标系View中的坐标系MotionEvent触摸点中 get 和 getRaw 的区别Android中的角度和弧自定义View基础1 构造函数2 onMeasure测量View大小

2016-07-07 11:16:41 680 2

原创 利用事件分发机制解决ScrollView嵌套ListView滑动冲突

记得以前面试的时候,面试官问了ScrollView嵌套ListView使用的问题。那么ScrollView嵌套ListView使用会出现什么效果呢? 如布局文件如下:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

2016-06-28 21:17:23 5776 5

原创 Activity四种启动模式总结

最近在学习《Android开发艺术探索》,所以对所学习到的知识做个总结,就算是做笔记吧。 Activity的启动模式目前有四种,分别是standard、singleTop、singleTask和singleInstance。怎么给Activity的启动模式呢? 一般我们通过AndroidMenifest.xml文件配置,如下所示: &lt;activity ...

2016-06-23 20:16:40 3336

原创 Android开发之实现百度地图定位功能

之前写了一篇高德地图定位的,现在写一篇百度的。 关于百度开放平台的注册、SDK的下载和申请APK就不说了,和高德的差不多。那就进入正题,看看如何使用百度地图SDK实现定位功能吧。1. 配置环境导入需要的jar包和so库文件 百度地图SDK点击下载 百度地图定位SDK点击下载 下载完成解压,将需要的jar和so导入到项目中,如图: jar包要在lib文件夹下,so文件要在新建文件夹ar

2016-06-05 17:41:17 11789 5

原创 关于使用百度地图SDK报错java.lang.UnsatisfiedLinkError的解决办法

前几天使用百度地图SDK一直报错,导致无法显示百度地图,报错如下: java.lang.UnsatisfiedLinkError: No implementation found for long com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create() (tried Java_com_baidu_platfor

2016-06-04 15:03:16 11503 8

原创 Android开发实现高德地图定位详解

一、 要实现高德地图定位呢,首先需要做好以下几步准备: 1. 在高德开放平台注册帐号 注册地址:http://lbs.amap.com 2. 在开发中下载Android平台下的 地图SDK和定位SDK文件 进入相关下载下载自己想要的功能或文件,图只是截取了地图SDK的页面,定位SDK也是一样,按自己想要的文件下载。下载完成后解压得到: - 3D地图包解压后

2016-05-26 18:40:06 37685 18

转载 使用LruCache缓存,轻松解决图片过多造成的OOM

Android中一般情况下采取的缓存策略是使用二级缓存,即内存缓存+硬盘缓存—>LruCache+DiskLruCache,二级缓存可以满足大部分的需求了,另外还有个三级缓存(内存缓存+硬盘缓存+网络缓存),其中DiskLruCache就是硬盘缓存

2016-05-25 12:18:30 2405

原创 如何使用百度天气预报API接口

前些天知道了如何获取数字签名SHA1,那它用来干嘛的呢?今天就来学习一下它的用处。 比如说我们要开发一款基于位置的服务,如地图、天气预报等。我们要用到API Key。百度APL Key申请地址:http://lbsyun.baidu.com/apiconsole/key创建应用 如图: 提交后得到API Key 如图: 接口实例:http://api.map.baidu.com/tele

2016-03-05 15:58:27 57828 7

原创 如何在Androdi Studio中获取SHA1数字签名和MD5

1. 在AS中打开Treminal窗口,Treminal在AS的下方。如图: 2. 然后进入到.android文件夹(该文件夹一般都在C:\Users\Administrator.android)。 如图: 3. 然后输入keytool命令:keytool -list -v -keystore debug.keystore,回车。 如图: 4. 输入密钥库口令,默认是 androi

2016-03-03 18:19:09 915

原创 如何分清JSON解析什么时候该用JSONObject,什么时候该用JSONArray。

前一段时间学习Android解析JSON数据,发现不知道什么时候该用JSONObject,什么时候该用JSONArray。所以通过上网查询了资料,然后整理写下这篇博客。JSONObject: 可以看作是一个json对象,其包含一对(Key/Value)数值。所表现的形式是最外被大括号”{}”包裹,其中的Key和Value被冒号”:”分隔,数据结构为:{key:value,key:value,…}的键

2016-03-02 14:45:22 4975

原创 String和StringBuffer的区别

String是不可变类,String对象一旦创建,其值就不能被该改变。StringBuffer是可变类,对象对象被创建后仍然可以对其值进行修改。 另外一个区别,实例化String时,可以利用构造函数(String s = new String(“sss”))的方式来初始化或者用赋值(String = “sss”)的方式初始化。 StringBuffer只能通过构造函数(StringBuffer

2016-02-29 16:10:03 591

原创 java中“==”、equals和hashCode的区别

1.“==”运算符是用来比较两个变量的值是否相等。也就是比较变量对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用类型变量是否相等只能使用“==”来比较。 如果变量是基本数据类型,那么可直接用“==”比较。 例:String s = &quot;hello&quot;;String t = &quot;hello&quot;;s==t;返回的是true。如果变量是 指向数据的对象(引用类型),那...

2016-01-14 17:15:44 1368 1

android-support-v7-appcompat.jar(v7包)

android-support-v7-appcompat.jar(v7包) ps:现在必须要积分才能下载?

2017-10-10

自己整合的百度地图SDK_V2.0(基础地图+定位+驾车导航+搜索)

之前的没有把arm64-v8a放进去(之前上传的的删不掉(☍﹏⁰)觉得CSDN应该加个删除功能),导致在application中初始化百度地图在64位cpu上的手机会崩溃。实在是对不住了各位,srroy(┮﹏┭)。但是在64位的cpu上导航会初始化失败,在32位是正常的。查了百度还是没有解决(◞‸◟),我觉得是so文件的问题,如果你们知道是什么原因,求告知(・ω< )★

2017-06-29

自己整合的百度地图SDK(基础地图+定位+驾车导航+搜索)

百度下载的SDK一直有问题(导航定位都能用,但是加载基础地图就导致APP蹦溃),不知道是我的原因还是百度的原因;吐血改了一天没有结果(在官方开发平台各种组合下载),所以只能找以前的SDK试试。结果可以了。这个是自己整合了以前的百度地图sdk各版本拼凑起来的,亲测可行,哈哈哈。

2017-06-28

MPchart 开源图表库jar包

MPchart 开源图表库jar包

2016-10-31

掘金浏览器插件v0.3.6

掘金浏览器插件v0.3.6

2016-09-24

百度导航SDKv3.2.0开发包

百度最新导航SDKv3.2.0开发包

2016-08-29

android优化检测无用代码工具UCDetector

在特殊情况下项目方法数达到上线64K(65536),而你宥不想分包或插件化动态加载APP,那只能对无用代码进行删除,无用代码可以通过此工具检查。

2016-08-10

最新百度地图SDK4.0.0

包括类参考、示例代码、开发包(基础地图、检索功能、LBS云检索和计算工具)。

2016-08-08

解决ScrollView嵌套ListView Demo

利用事件分发机制解决解决ScrollView嵌套ListView使用

2016-06-28

百度地图定位SDK

百度地图定位SDK

2016-06-05

高德地图定位SDK

高德地图定位SDK

2016-06-05

高德地图SDK(2D)

高德地图SDK,地图是2D地图。

2016-06-05

百度地图SDK实现定位

根据百度地图SDK,实现定位当前设备,并显示在地图上。

2016-06-05

掘金浏览器插件Beta

掘金浏览器插件

2016-06-04

高德地图定位

实现高德地图定位

2016-05-26

百度地图SDK v3.7.3

百度地图SDK v3.7.3包括类参考、示例代码、开发包(基础地图、检索功能、LBS云检索和计算工具)。

2016-05-25

Android天气预报APP

较简单的天气预报APP

2016-05-11

空空如也

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

TA关注的人

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