5 殇神马

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 5w+

Android Q适配之文件存储

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

2020-01-03 14:21:44

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

Android中,应用的性能优化是一个比较重要的问题,应用性能直接影响到用户的体验,应用的流畅度,崩溃率,流量使用量,耗电量,以及启动的快慢,内存使用等,都会严重影响用户的使用。而内存优化更是Android应用性能优化中的重要部分,这篇文章就来记录总结一下Android应用的内存优化首先先来了解一下两个概念:内存泄漏:由于某种原因,导致程序中动态分配的堆内存,无法被释放,导致系统内存的浪费。...

2019-11-03 11:38:50

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

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

2019-09-01 15:03:04

Android 正确获取View的宽和高

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

2019-08-11 16:10:35

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

       **我们知道从Android 6.0(API 23) 开始,Google在Android上引入了动态权限模式,即用户可在应用运行时管理权限,这种模式让用户能够更好地了解和控制权限,用户可为所安装的各个应用分别授予或撤销权限。但是对于开发者来说,为了适配Android 6.0(API 23)及以上版本,除了在Andr

2018-12-20 14:03:47

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

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

2018-09-07 16:57:30

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 connect to 127.0.0.1:5037 unable to create Debug: Una...

2018-07-12 17:12:58

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.sys 这个系统文件损坏。解决办法:C:\Windows\System32\drivers\...

2018-07-12 15:53:47

Retrofit2学习使用

一、简介 我们这里所介绍的Retrofit均是指Retrofit2.0 Retrofit是Square公司开发的一个基于OKHttp的Restful API风格的网络请求库。 GitHub地址: https://github.com/square/retrofit二、Retrofit工作原理 Retrofit的网络请求工作本质上是由OKHttp完成,而Retrofit是对网络请求接口的...

2018-06-12 15:04:16

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.bintray.com/android/arch/core/common/1.0.0/common-...

2018-06-11 18:06:25

Android悬浮窗

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

2018-06-11 16:13:14

Android URL Scheme

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

2018-04-22 16:49:30

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

之前写过一篇 Android 实现应用更新(适配Anndroid N),本篇主要讲解Android O(Android 8.0)上应用更新的适配问题,应用更新的完整实现请结合上一篇文章一起,文末也会给出完整代码链接。最近测试反馈在Android 8.0的手机上,提示应用更新,更新时会出现下载失败,并且通知栏也没有显示下载的进度的情况,即使下载成功也不会弹出应用安装界面。实测发现确实是有这样...

2018-03-25 17:24:37

沉浸式与透明状态栏

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

2018-01-07 16:13:25

Android 混淆

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

2017-12-11 16:18:55

Android 实现弧形View或者ImageView

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

2017-11-26 10:10:55

CoordinatorLayout中使用WebView冲突

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

2017-11-19 14:56:40

同步和异步的概念

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

2017-11-05 15:59:23

在PopupWindow中再弹出PopupWindow问题

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

2017-10-25 07:22:41

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

在Android 应用开发过程中,经常用到第三方库或SDK,而引用第三方的方式无非就是jar,so,aar,以及通过build.gradle中compile这个几种方式。下面介绍一下jar,so,aar这几种文件的正确引用方式:(1)jar文件将jar文件复制到app/libs目录下,然后重新sync project即可图解: (2)so文件首先同样是将不同CPU架构的so文件放到app/li

2017-08-27 11:24:43

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。