自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MrZhao_PerfectCode的博客

本博客均是详细讲解

  • 博客(32)
  • 收藏
  • 关注

原创 android 结合源码深入剖析AsyncTask机制原理

 android 结合源码深入剖析AsyncTask机制原理       我们都知道,Android UI线程是不安全的,如果想要在子线程里面进行UI操作,就需要直接Android的异步消息处理机制,前面我写了一篇从源码层面分析了Android异步消息Handler的处理机制。感兴趣的可以去了解下。不过为了更方便我们在子线程中更新UI元素,Android1.5版本就引入了一个AsyncTask类,...

2018-04-20 20:49:37 317

原创 android 结合源码深入剖析Handler机制原理

android 结合源码深入剖析Handler机制原理       Handler机制原理已经被许多大佬写透的东西了,这里我们为什么还要说呢?因为对于许多初学者来说,也只是会使用Handler而已,对于其机制,也只是大概知道,今天我们来利用源码深入剖析其原理。首先我们模拟一下工厂中的情景:Handler:消息的处理者,工厂中流水线的工人。Message:系统传递的消息,工厂中流水线上的产品。Mes...

2018-04-17 11:30:21 442

原创 Java 让你彻彻底底明白JAVA堆与栈的区别

让你彻彻底底明白JAVA堆与栈的区别我们都知道,java把内存划分为两种,一种是堆内存,一种是栈内存。  在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。  堆内存用来存放由new创建的对象和数组。  栈(...

2018-04-15 22:33:57 270

原创 android 自定义Scrollview实现淘宝二层楼效果新版微信小程序下拉效果

android 自定义Scrollview实现淘宝二层楼效果新版微信小程序下拉效果由于最近一段时间真的是太忙了,没有顾上即使更新博客,还请粉丝们见谅,最近要实现这样一个效果,这个效果跟淘宝二层楼和新版微信7.0的下拉小程序效果差不多,百般查找真心没有找到自己合适的,没办法只能自撸了,来看效果。来,二话不说了,直接上代码吧。import android.content.Contex...

2019-04-03 10:11:04 4878 3

原创 android 使用Okhttp封装上传JSON格式数据的工具类

android 使用Okhttp封装上传JSON格式工具类public class PostRequestJSON_Util { private static PostRequestJSON_Util postRequestJSONUtil; private Handler mHandler = new Handler(Looper.getMainLooper()); ...

2018-12-21 17:03:58 1021

原创 android 解决RecyclerView刷新列表Item闪烁及其混乱问题

android 解决RecyclerView刷新列表Item闪烁及其混乱问题相信很多朋友在android开发过程中,会遇到RecyclerView的各种坑,今天我先解决其中一种,后续会给大家补充。具体解释也不多说了,毕竟项目紧张,时间紧迫,以后会给大家拿出来分享源码解释的。解决方法如下:1.首先        在绑定adapter给RecycleView之前,设定adapter的s...

2018-11-02 18:19:24 7636 4

原创 android 自定义封装android 6.0以上动态权限添加工具类

android 自定义封装android 6.0以上动态权限添加工具类android开发过程中,动态权限添加时避免不了的,我看过别的添加权限的好多文章,但大多数添加的过程太过臃肿,代码量大。很不合理,于是乎,自己封装了一个工具类。很简单,来上代码。package com.example.zsh.sendmessagedemo;import android.app.Activity;...

2018-11-01 18:32:30 555 4

原创 android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解

android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解一、反射机制概述Java 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能够调用它的任意一个属性和方法。这种在运行时动态的获取信息以及动态调用对象的方法的功能称为 Java 的反射机制。Class 类与 java.lang.refl...

2018-10-30 18:36:52 1928 1

原创 android 判断是否有网络工具类

android 判断是否有网络工具类/* * Copyright (C) 2016 [email protected] * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the...

2018-10-09 10:45:30 419

原创 android 设置缓存工具类

android 设置缓存工具类/** * Copyright (c) 2012-2013, Michael Yang 杨福海 (www.yangfuhai.com). * <p/> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file ex...

2018-10-09 10:43:58 540

原创 android 判断是否第一次进入欢迎页

android 判断是否第一次进入欢迎页package com.example.zsh.rememberpsw_test;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.support.v7.app.AppCo...

2018-10-08 16:34:48 1564 1

原创 android 使用SharedPreferences 实现登录时记住密码功能

android 使用SharedPreferences 实现登录时记住密码功能由于最近一段时间项目比较赶,好久没有更新博客了,还望粉丝们多多谅解。今天给大家实现下使用SharedPreferences 实现登录时记住密码功能。话不多说,来上代码。这是需要chexbox的布局文件。<?xml version="1.0" encoding="utf-8"?><Line...

2018-10-08 16:22:31 534

原创 android 利用CountDownTimer实现时分秒倒计时效果

 android 利用CountDownTimer实现时分秒倒计时效果相信很多小伙伴在开发过程中都遇到需要计时等操作,但是大部分在选择定时器的时候都是使用Android sdk和java jdk自带的Timer,和TimerTask类比较多,但是Android sdk也给我们提供了一个更加强大的功能类,CountDownTimer.效果如下:来看主要代码:package com.ex...

2018-07-30 18:05:29 5365

原创 android 实现iphone自定义圆角Dialog

android 实现iphone自定义圆角Dialog其实android自定义的dialog都已经足够好了,但是有时候产品还是会设计出类似于iPhone的圆角dialog,今天抽空就将自己写的总结出来,以后用的时候直接来扒代码就好了。相信很多人也写过类似的,但是有时候出现一个默认dialog的背景,然后就看着好丑。就先扯到这儿,上我自己自定义运行的截图:其实代码没有多少先写自定义的...

2018-07-30 14:32:22 564

原创 android 获取APP大小及其清理缓存内容

android 获取APP大小及其清理缓存内容首先请看效果图:首先添加工具类:package com.example.zsh.myclearcachetest;import java.io.File;import java.math.BigDecimal;import android.content.Context;import android.os.Environm...

2018-07-16 18:39:32 2063

原创 android ListView实现横向时光轴

android ListView实现横向时光轴        时光轴最大的作用就是把过去的事物系统化、完整化、精确化。时间轴能够让用户更直观的看到,我的这一刻在做什么,那一刻做过什么,依据时间顺序,把一方面或多方面的时间足迹事件串联起来,形成相对完整的记录体系,再运用图文的形式呈现给用户;页面简单,表现形式特别,一直以来受到广大用户的欢迎。首先来看效果图:这是模拟一个横向的快递信息时光轴,接下来看...

2018-05-28 23:35:36 1514 2

原创 android 快速实现3D标签云效果

android 快速实现3D标签云效果最近业务需求,要求实现一个3D星球环绕效果,经过百般查找,终于找到了这个功能。来先看看效果图:首先还是添加第三方依赖库:compile 'com.moxun:tagcloudlib:1.1.0'布局:<?xml version="1.0" encoding="utf-8"?><android.support.constraint.Const...

2018-05-28 19:44:07 2119 1

原创 android 实现支付宝及微信内部捐赠功能

android 快速实现支付宝及微信内部捐赠功能首先在项目build.gradle中添加依赖allprojects { repositories { maven { url 'https://jitpack.io' } } }第二,在module中的build.gradle中添加依赖dependencies {...

2018-05-15 19:11:17 2074

原创 android 如何解析复杂,包含中文key的json数据并进行展示

android 如何解析复杂,包含中文key的json数据   通常在项目中,常常会有一些json数据包含中文key,而我们通常用AndroidStudio工具中的插件GsonFormat,使用这个插件将会自动生成实体Bean,然而总是有些后台的变态数据,例如包含中文的key,这时候我们就不能用GsonFormat工具了,我们就得用原始的JSONObject或者JSONArray了。这里我用一个包...

2018-05-14 20:06:21 1864 1

原创 android 利用FloatActionButton悬浮按钮实现扇形折叠与隐藏

android 利用FloatActionButton悬浮按钮实现扇形折叠与隐藏首先请看效果图:来看看布局代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http...

2018-05-07 21:26:22 4059

原创 android 利用IJKplayer框架加载网络视屏实现播放功能并且实现标清高清超清切换及左划调节亮度右划调节音量

android 利用IJKplayer框架加载网络视屏实现播放功能并且实现标清高清超清切换及左划调节亮度右划调节音量        现在很多视频都可以实现左划调节屏幕亮度及其右划调节声音的功能,而且可以实现标清,高清, 超清的切换,其实代码很简单,我们一起来看看吧。        首先我们注入IJKplayer三方依赖:compile 'com.dou361.ijkplayer:jjdxm-ijk...

2018-05-06 23:11:09 1865 1

原创 android 利用Retrofit2.0+RxJava2.0实现网络二次请求

android 利用Retrofit2.0+RxJava2.0实现网络二次请求利用Refrogit2.0与RxJava2.0结合的使用    达到了非常简单就可以完成请求网络首先先导入依赖包: compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2...

2018-04-28 11:47:59 1038

原创 android 利用Okhttp3相册多张图片选择利用GriView显示并且上传到服务器

android 利用Okhttp3相册多张图片选择利用GriView显示并且上传到服务器上篇文章我写了相册选择器,说白了,就是从相册选择多张图片,利用第三方依赖,只是一个简单的demo,现在我们来看看他的主要用途把,结合OkHttp3起来,写一个大的案例把.还是再说一下第三方快速实现相册多张图片设置吧。使用步骤1. 在project的build.gradle添加如下代码(如下图)allprojec...

2018-04-26 20:44:48 1903 1

原创 android 第三方快速实现相册多张图片设置

android 第三方快速实现相册多张图片设置说白了就是图片选择器, 支持多图选择和图片预览等功能。支持jitpack支持选择多张支持选择图片数量上限支持图片选择顺序支持图片预览使用步骤1. 在project的build.gradle添加如下代码(如下图)allprojects { repositories { maven { url "https://jitpack.io" } } }2. 在M...

2018-04-26 18:42:39 1544 3

原创 android 简单明了的分析Android触摸事件,几张图带你看懂事件分发

android 简单明了的分析Android触摸事件,几张图带你看懂事件分发 MotionEvent 主要分为以下几个事件类型:ACTION_DOWN 手指开始触摸到屏幕的那一刻响应的是DOWN事件ACTION_MOVE 接着手指在屏幕上移动响应的是MOVE事件ACTION_UP 手指从屏幕上松开的那一刻响应的是UP事件其实,分发事件主要处理的是他的 ACTION_DOWN 事件,即手指触摸到屏幕...

2018-04-25 20:29:03 251

原创 android 利用Retrofit2.0+RxJava2.0实现网络下载图片保存到本地SD卡

android 利用Retrofit2.0+RxJava2.0实现网络下载图片保存到本地SD卡       在项目开发中,我们有很多需求都需要将网络图片下载到本地,并且保存到SD卡,等再次用的时候,可以从本地获取即可,这就免去了网络请求,请看效果图。首先添加Retrofit2.0及RxJava2.0依赖包// Retrofit库compile 'com.squareup.okhttp3:okht...

2018-04-23 21:02:40 6282 1

原创 android 利用CountDownTimer实现验证码倒计时效果

android 利用CountDownTimer实现验证码倒计时效果        我们在进行某些耗时操作时,一般都要设计一个进度条或者倒计时器,让进度可视化,告诉用户“等待之后更精彩”。在使用短信验证码注册或者登录App就可以看到这样的设计:点击“发送验证码”的按钮之后,按钮上就会出现倒计时(一般为60秒),倒计时结束之后,按钮的文字就会变成“重新发送”。在Android中要实现这样的效果可以使...

2018-04-17 23:49:53 371

原创 android 利用第三方Mob,实现短信验证码

现在,在使用各种APP中都有注册功能,注册中跟我们通常会往手机中发送验证码,而通过Mob集合可以快速实现该功能,下面来简单介绍如何使用该功能来发送手机验证码。第一步:在当前modul的gradle中添加 一、配置gradle(当前moduel中配置)buildscript {    // 添加MobSDK的maven地址    repositories {        maven {...

2018-04-16 21:52:57 1177

原创 android 实现随机生成图片验证码

在App开发中,根据需求不同,有时我们需要随机生成图片验证码,点击可以随机切换,其实很简单,接下来我们就来看看把。首先我们使用如下工具类,其实内部原理很简单,运用随机数随机将0-9数字和a-z字母随机排列的方式进行组合,效果图如下:接下来我们就直接上代码把:package com.example.administrator.panada;import android.graphics.Bitma...

2018-04-16 21:41:20 1214

原创 android 实现ListView嵌套Checkbox实现真正的多选、全选、反选、取消

android 实现ListView嵌套Checkbox实现真正的多选、全选、反选、取消        我们在开发APP的时候,很多情况下会使用到ListView嵌套CheckBox的情况,例如购物车选择商品的情况,其实很多人要说这个其实很简单了,并没有那么复杂,事实上并非如此,我们在使用ListView嵌套CheckBox复选框的时候会出现很多问题,接下来我将用一篇博客来说明这些问题,给大家一些...

2018-04-16 21:22:25 653

原创 android 多线程并发或分布式提高TPS

一、多线程并发或分布式提高TPS        首先我们来说一下什么是TPS:TPS(Transaction Per Second)        TPS为每秒处理的事务数,是系统吞吐量的指标,在搜索系统中也用QPS(Query Per Second)衡量。TPS一般与响应时间反相关。通常所说的性能问题就是指响应时间过长、系统吞吐量过低。        1.多线程并发,防止线程阻塞带来的性能损失 ...

2018-04-15 19:19:57 706

原创 android 详细讲解 高仿QQ弹出popwindow调用系统相机拍摄裁剪并预览设置图像

MainActivity布局,设置一个默认图片,模拟QQ头像<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res...

2018-03-30 19:58:16 1100

android gradle-8.2-bin 版本

android gradle-8.2-bin 版本

2024-01-23

空空如也

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

TA关注的人

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