自定义博客皮肤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 Q适配之文件存储

Android中不同系统的适配一直是应用开发中非常重要的问题,如果不能及时适配不同的系统版本,应用极有可能发生崩溃,给用户带来不好的体验。 随着Google发布 Android Q(API 28),我们需要及时的根据系统的变化做出相应的适配。Android Q中隐私权一块发生了较大的改变。特别是外...

2020-01-03 14:21:44 655 0

原创 Android进阶系列之性能优化篇-(内存优化)

Android中,应用的性能优化是一个比较重要的问题,应用性能直接影响到用户的体验,应用的流畅度,崩溃率,流量使用量,耗电量,以及启动的快慢,内存使用等,都会严重影响用户的使用。 而内存优化更是Android应用性能优化中的重要部分,这篇文章就来记录总结一下Android应用的内存优化 首先先来了...

2019-11-04 21:12:36 87 0

原创 Android进阶系列之ViewPager的刷新问题分析

ViewPager是Android应用开发中非常常用的一个控件,是一个可以让View左右翻页滑动的管理布局,需要和PagerAdapter配合使用,来创建每一页的View并显示。 ViewPager的使用其实是比较简单的,但是有一个比较重要的问题,就是ViewPager的数据刷新。PagerAda...

2019-09-01 15:03:04 774 0

原创 Android 正确获取View的宽和高

Android 在实际开发过程中,我们可能经常要获取View的宽和高,那么如何来正确获取一个View的宽和高呢。 View提供了getWidth(),getHeight(),getMeasureWidth(),getMeasureHeight() 方法来获取View的宽和高,getWidth(),...

2019-08-11 16:10:35 1688 0

原创 Android 动态权限申请之 shouldShowRequestPermissionRationale方法异常

       **我们知道从Android 6.0(API 23) 开始,Google在Android上引入了动态权限模式,...

2018-12-20 14:03:47 1172 0

原创 Android 直播礼物动画实现之SVGA动画

在最近做的直播项目中,产品要求发送礼物时,需要显示对应的礼物动画,其中几个礼物动画效果如下: 看了这几个动画效果,是挺炫酷的,妥妥的能够增加用户体验,但是实现起来可就没那么容易了。 Android中动画实现方案,主要有以下几种: (1)Frame Animation(逐帧动画) ...

2018-09-07 16:57:30 9512 2

原创 adb.exe start-server failed cannot connect to 127.0.0.1:5037 adb:CreateFileW 'nul' faield:系统找不到指定文件

1.新安装Android Studio后,连接手机,但是检测不到真机,一般是驱动问题、或者端口号被占用。但是使用驱动人生检测 连接的手机驱动正常、5037端口号也没有被占用。 Android Studio 提示 : adb.exe start-server failed cannot con...

2018-07-12 17:12:58 709 0

原创 window10 安装git后 git bash here 闪退问题

1.win10系统安装Git-2.18.0-64-bit.exe后,在桌面右击点击 git bash here闪退了,并且在桌面生成了一个 并在桌面生成一个mintty.exe.stackdump文件。 经过百度说是C:/Window/System32/drivers/null.sysnull...

2018-07-12 15:53:47 2178 1

原创 Retrofit2学习使用

一、简介 我们这里所介绍的Retrofit均是指Retrofit2.0 Retrofit是Square公司开发的一个基于OKHttp的Restful API风格的网络请求库。 GitHub地址: https://github.com/square/retrofit 二、Retrofit工作...

2018-06-12 15:04:16 139 0

原创 Error:Could not find common.jar (android.arch.core:common:1.0.0).

1.Android Studio打开项目突然报如下错误 Error:Could not find common.jar (android.arch.core:common:1.0.0). Searched in the following locations: https://jcenter...

2018-06-11 18:06:25 552 0

原创 Android悬浮窗

前言: 最近在做的项目中有一个直播模块,直播模块中有一个最小化的功能,就是观众端观看直播的时候,可以选择最小化,在整个应用中有一个小窗口播放直播画面。在参考了微博、斗鱼直播等市面上主流的直播软件,发现它们都是通过悬浮窗(WindowManager)来实现最小化功能的。 1.悬浮窗权限 使用悬...

2018-06-11 16:13:14 657 1

原创 Android URL Scheme

前言: 我们在使用微信的过程中,经常可以通过别人分享的链接,直接跳转到一些APP内部。比如京东、网易云音乐,我们通过在这两个APP内部分享链接到微信,微信中点击链接进入微信浏览器打开分享的页面,可以在页面中看到直接打开的按钮,点击直接打开就进入了该APP的对应的页面。实际上就是从微信浏览器中的一...

2018-04-22 16:49:30 7421 0

原创 Android 实现应用更新适配 Android O (Android 8.0)

之前写过一篇 Android 实现应用更新(适配Anndroid N),本篇主要讲解Android O(Android 8.0)上应用更新的适配问题,应用更新的完整实现请结合上一篇文章一起,文末也会给出完整代码链接。 最近测试反馈在Android 8.0的手机上,提示应用更新,更新时会出现下载失...

2018-03-25 17:24:37 7589 4

原创 沉浸式与透明状态栏

沉浸式:(Immersive Mode) 沉浸式提供参与者完全沉浸的体验,就是给用户一种置身于虚拟世界的感觉。对应到移动应用上就是全屏 效果,例如 游戏全屏、视频的全屏都是提供用户沉浸式的体验。 Android系统中的一个Activity(界面)其实是有许多系统元素的...

2018-01-07 16:13:25 397 0

原创 Android 混淆

1.简介在Android项目打包上线的过程中,混淆是很重要的一步,混淆会使用a、b、c、d这样简短而无意义的名称,对类、属性和方法进行重命名,增加反编译后代码阅读的难度,从而增加反编译的难度。Android中使用Proguard进行混淆。Proguard是一个免费的Java类文件压缩、优化、混淆,...

2017-12-11 16:18:55 124 0

原创 Android 实现弧形View或者ImageView

在Android项目开发中,经常会遇到下面这两种弧形布局设计: 图一上方是一个外凸的红色弧形背景,图二上方是一个内凹的背景图片实现方案:图一可以通过自定义View,绘制出这个弧形View;图二可以继承自ImageView,并通过clipPth的方式,让ImageView在弧形区域内绘制实现。图...

2017-11-26 10:10:55 10357 16

原创 CoordinatorLayout中使用WebView冲突

最近在项目中使用到了CoordinatorLayout和AppBarLayout,主要是为了实现当向上滑动的时候顶部部分布局隐藏,但是对于下方布局是RecycleView时没有问题,但是如果下方布局是WebView时,则会出现向上滑动的时候,顶部布局无法隐藏,可以滑动的仅仅是WebView自身。R...

2017-11-19 14:56:40 939 0

原创 同步和异步的概念

在计算机领域,我们经常会听到同步和异步这两个词,笔者最早就是在操作系统中接触到同步和异步的概念。同步:是指一个进程在执行某个请求的时候,若这个请求没有执行完成, 那么这个进程将会一直等待下去,直到这个请求执行完毕,才会继 续执行下面的请求。异步:是指一个...

2017-11-05 15:59:23 759 0

原创 在PopupWindow中再弹出PopupWindow问题

最近在项目的开发中遇到一个需求,是一个弹出菜单点中击一个选项按钮,在选项按钮下方弹出下拉菜单。最初想到的实现方式第一个弹出菜单用PopupWindow,第二个下拉菜单 也用PopupWindow,在第一个PopupWindow菜单中的选项按钮正下方显示第二个下拉菜单PopupWindow。但是在...

2017-10-25 07:22:41 1994 0

原创 Android Studio 中,jar、so、aar文件正确引用姿势

在Android 应用开发过程中,经常用到第三方库或SDK,而引用第三方的方式无非就是jar,so,aar,以及通过build.gradle中compile这个几种方式。下面介绍一下jar,so,aar这几种文件的正确引用方式:(1)jar文件将jar文件复制到app/libs目录下,然后重新sy...

2017-08-27 11:24:43 551 0

原创 Android 实现应用更新(适配Anndroid N)

应用更新是移动应用开发中的一个常见功能。主要分为三步:(1)检测应用新版本检测应用新版本,一般是进入应用时调取服务器接口,获取最新应用版 本信息,和当前应用版本信息进行比较,如果当前应用不是最新版本,则下载最新应用并自动跳转至安装界面。(2)下载并安装下载应用文件(APK文件),系统自身提供了Do...

2017-06-04 12:14:07 2821 2

原创 Android N上Popwindow显示位置不正确问题

Popwindow是Android应用开发过程中比较常用的一个组件,最近发现了在Android N(Android 7.0)上Popwindow的一个位置显示问题, 使用showAsDropDown或者是showAtLocation来显示Popwindow,Popwindow总是顶到了屏幕顶部,...

2017-05-29 10:09:18 1378 0

原创 Android 获取系统各个目录

在Android开发过程中,我们经常会对文件系统进行操作——存放、释放我们应用的数据。Android系统中提供了各种功能的文件目录,每个目录都有相应的特点和功能。 这篇文章主要介绍和记录一下实际开发过程中常用的各个文件目录。(1)内部存储(Internal Storage)内部存储是App的私有目...

2017-03-31 22:16:15 5337 1

原创 windows下在一台电脑上配置多个git账号

一般情况下,我们都是一台电脑配置一个git账号,可以是GitHub账号,也可以是 oschina(码云)账号或者是gitLab账号。我之前用过GitHub和oschina,今天公司配置了一个内部的gitLab。这就涉及到一个问题,如何在一台电脑上配置两个或者是两个以上的git账号。这里以在一台电...

2017-03-14 23:32:47 6101 0

原创 Android实现图片的高斯模糊

在市面上很多的APP都使用了对图片作模糊化处理后作为背景的效果,来使得整个页面更具有整体感。如下就是网易云音乐的音乐播放页面:很明显这个页面的背景是由中间的小图片模糊化后而来的。最常用的模糊化处理就是高斯模糊。高斯模糊的几种实现方式: (1)RenderScriptRenderScript是Go...

2017-03-05 11:21:44 532 0

原创 ScrollView嵌套ListView、GridView,进入页面显示的位置并不是在最顶部,而是在中间部分问题

在Android项目的开发中,经常会遇到一些布局,可能需要在ScrollView中嵌套ListView或、GridView来实现,当然我们都知道ScroView中嵌套ListView、GridView的坑,之前的文章 ScrollView中嵌套ListView和GridView冲突问题的解决 也...

2016-12-18 18:02:57 2914 3

原创 自定义进度条之圆角进度条问题

Android自定义进度条是开发中比较常见的一个需求,在之前的博客中也介绍过如何通过自定义ProgressBar的样式来实现自定义水平进度条和环形进度条。本文主要是对近期一个项目中的圆角进度条的实现做一个记录。 设计给出的图是这样的: 拿到设计图,对于之前自定义过ProgressBar样式的同...

2016-12-18 16:18:40 5385 0

原创 Android中比较好的开源项目整理

记录一些比较好的Android开源项目:-自定义星级评论条 https://github.com/hedge-hog/RatingBar-高仿微信图片选择器 https://github.com/ioneday/ImageSelector-仿iOS的PickerView控件,有时间选择和选项选...

2016-11-05 22:48:29 474 0

原创 webp格式的图片

webp格式是谷歌(Google)开发的一种旨在加快图片加载速度的图片格式,图片压缩体积大约只有JPEG的2/3,能够节省大量的服务器带宽资源和数据空间,FaceBook,Ebay等知名网站已经开始使用webp格式。既然是谷歌(Google)开发的,当然在Android中也是支持这种格式的图片的。...

2016-10-30 21:25:15 270 0

原创 ImageView的ScaleType属性详解

ImageView的ScaleType属性是用来设置图片在View上如何显示,按照何种比例缩放,显示部分还是显示整体等等。 可以在XML文件中设置,也可以在代码中设置 在XML文件中设置:<ImageView android:layout_width="match_par...

2016-10-23 17:08:03 1901 0

原创 Android集成微信分享,由于分享的缩略图大于32K,而无法调起微信客户端

在项目中集成微信分享功能,分享的是一个链接,带有图片和标题。 按照微信开放平台网页类型分享示例,进行代码编写,但是点击分享 始终无法调起微信客户端。 /** * 微信分享到好友(聊天界面) */ public static void wechatShareToSc...

2016-10-23 14:17:19 13734 7

原创 Android数据加密之RSA+AES混合加密

在上一篇Android数据加密 中已经介绍了Android中数据加密的情况,并且在总结中给出了RSA+AES混合加密的方案,下面就来介绍一下RSA+AES混合加密。该篇博客转载自:http://blog.csdn.net/aa464971/article/details/510344621.RSA...

2016-09-19 16:51:55 3558 1

原创 Android中数据加密

在一个Android应用中,客户端与服务器之间数据通信安全是非常重要的。这就涉及到了数据的加密。Android中客户端与服务器端数据的加密主要有两种情况:1.只有创建者才能够知道的数据 比如用户密码数据,这类数据加密后必须是不可逆的, 也就是说数据加密后传到服务器,服务器端无需解密,也不...

2016-09-19 15:48:44 622 0

转载 使用OpenSSL生成RSA公钥和私钥

Windows 下使用OpenSSL生成RSA公钥和私钥(1)下载OpenSSL (2)打开OpenSSL文件夹下的bin目录,点击openssl.exe,打开命令窗口。(3)开始生成RSA的私钥 输入命令:genrsa -out rsa_private_key.pem 1024genrsa -...

2016-09-18 23:35:22 11407 2

原创 使用gradle编译Volley的jar包

前面已经介绍了Volley网络请求框架的使用,Android官网给出的使用Volley的方式是从google代码仓库克隆Volley的源码,然后把Volley源码作为Android Library导入到你的项目中使用。 但是我还是想怎么样能够把Volley编译成jar包,直接使用jar包,这样用...

2016-09-18 11:56:12 1120 0

原创 Volley网络请求框架

1.Volley简介Volley是在2013年Google I/O大会上推出的一个网络通信框架,能够让我们的网络请求变得更加容易和快速。 Volley具有以下优点:-网络请求的自动调度 -多并发网络连接 -透明的磁盘缓存和内存缓存 -支持请求优先级 -有取消请求的接口,你可以取消一个请求,...

2016-09-17 18:14:31 186 0

原创 OkHttp网络请求框架

OkHttp是一个高效的Http请求框架,使用起来也比较简单,能够帮助我们更好的进行网络请求。下面来分析一下OkHttp。官网地址: http://square.github.io/okhttpGitHub地址: https://github.com/square/okhttp1.添加OkHt...

2016-09-16 18:10:56 211 0

原创 Linux下搭建C/C++开发环境

1.安装编译器 Linux下最流行的编译器是gcc 安装gcc编译器sudo apt-get install build-essential2.然后创建一个C程序源文件,并在编辑器中编码touch Hello.c vi Hello.c编写程序#include<stdio.h> ...

2016-09-09 00:49:56 5175 0

原创 Android中layout_weight和weightSum

weightSum是LinearLayout的属性,定义weight的总和。如果未指定该值,以LinearLayout中所有子视图的layout_weight属性的累加值作为总和。layout_weight是LinearLayout中的子视图使用有效的属性,用于将剩余空间按照比例分配给子视图。Li...

2016-09-08 18:54:51 191 0

原创 Android自定义ProgressBar的样式

ProgressBar简介ProgressBar是Android开发中比较常用的一个UI控件,主要是用来显示任务执行的进度的,以及向用户表明任务正在执行中。 Android系统提供的ProgressBar的的样式主要分为两种:水平的进度条,环形进度条。 水平的进度条可以显示任务执行的进度(百分...

2016-08-30 19:15:31 1318 0

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