自定义通知栏,就会面临根据背景色展示不同的颜色的通知栏布局。网上也有很多教程,但是都会面临一个问题那就是Android 7之后就失效了,主要原因是Notification.contentView为空。那怎么解决这个问题呢?
为了界面的美观有时候需要隐藏ScrollView、RecyclerView、ListView等滚动条和去掉滑动到边界阴影,下面我就列举一下解决方案供大家参考。 1、ScrollView的属性设置 设置滑动到边缘时无效果模式: 1 andro…
Android Studio 3.4 更新了,带出来很多亮眼的功能,这里就不多说了,想详细了解的朋友去Android官网查看https://developer.android.com/studio/releases/。 其中有一项是启用了R…
java.version Java运行时环境版本 java.vendor Java运行时环境供应商 java.vendor.url Java供应商的 URL java.home Java安装目录 java.vm.specification.…
现象 安装应用的时候会提示安装失败,提示信息是INSTALL FAILED CONFLICTING PROVIDER,如下图所示: 究其原因 根据英文我们可以直观的知道因为provider的问题,在Android中provider的auth…
最近AndroidStudio升级到3.3版本,Android的Gradle plugin升级到了3.3.0,构建版本的时候出现一些警告。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 WARNING: API '…
在采用Gradle构建Android项目时候出现如下错误信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Executing tasks: [:app:a…
前言 无规矩不成方圆,按规矩办事都有好的结果。Android也有自家的一套规则,其中Icon就是有诸多规则,这些还是要遵循的,不为别的,就是大家都在按章就你搞特殊化,后果真的要自负。虽然这个规则一变再变,但因出师有因——人的审美再变。 关于…
从图中,我们可以看到从Lanucher启动Activity会至少涉及3个进程,其中ActivityManagerService则是其中的纽带。 主要说明: 1. AMS进程 ActivityManagerService:Activity管理…
遇见问题 最近在res/raw目录下放入了大文件(200M),rebuild出现错误编译通过不了。 编译环境如下: project的build.gradle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17…
1. 前言 2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案、阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较…
1. 前言 Instant Run,它是Android Studio2.0以后新增的一个运行机制,能够显著减少你第二次及以后的构建和部署时间。简单通俗的解释就是,当你在Android Studio中改了你的代码,Instant Run可以很…
1. 前言 动态编译技术在开源框架中的应用非常的广泛,现在市面上的插件化框架,热修复框架几乎都使用了动态编译技术,原理几乎都是在编译期间动态的在class文件中注入代码或者或修改。那就让我们来了解一下这高大上的技术吧。 2. 揭开动态编译的…
1. 前言 Android Studio 项目是使用 Gradle 构建的,构建工具 Gradle 可以看做是一个脚本,包含一系列的Task,依次执行这些 Task 后,项目就打包成功了。 而 Task 有一个重要的概念,那就是 inpu…
1. 简述 热修复技术可谓是百花齐放,微信的Tinker、QQ空间的Nuwa、饿了么的Amigo、美团的Robust等等,各个热修复方案争相发布,都声称自己可以做到全方位全功能的热修复。不过他们各自有自身的局限性,或者不够稳定,或者补丁过大…
前言 线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。由于Android的特性,如果在主线程中执行耗时操作那么就会导致程序无法及时地响应,因此耗…
前言 线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要…
前言 相信大家在调试android应用程序包的时候经常会遇到“应用程序没有响应”这种情况,也就是当我们的应用程序出现crash情况,这种提示方式会给用户带来很不好的体验。而且,通常crash导致的退出,因为没有走正常的退出流程,会导致数据没…
1. NDK NDK是Google开发的一套开发和编译工具集,可以生成动态链接库,主要用于Android的JNI开发。NDK 可以自动地将 so 和 Java 应用一起打包,极大地减轻了开发人员的打包工作。 NDK 提供了一份稳定、功能有限…
前言 对APK进行签名,正常情况下使用Gradle进行签名或者第三方开源签名工具或插件进行签名及ADB命名,这样需要给测试或运维人员进行讲解,解释半天他们会问你有批量工具吗?那作为程序员得你,只能说有。那我给大家一个用python写的基于a…
简述 在Android系统中,PopupWindow、Dialog、Activity、Toast等都有窗口的概念,但又各有不同,Android将窗口大致分为三类:应用窗口、子窗口、系统窗口。其中,Activity与Dialog属于应用窗口、…
1. 前言 ClassLoader翻译过来就是类加载器。 阅读过JVM和Android的Dalvik与ART我们知道,Dalvik虚拟机如同其他Java虚拟机一样,在运行程序时首先需要将对应的类加载到内存中。而在Java标准的虚拟机中,类加…
1. JVM(Java虚拟机) JVM是Java编程语言的核心。当我们运行一个程序时,JVM负责将字节码转换为特定机器代码。JVM也是平台特定的,并提供核心的Java方法,例如内存管理、垃圾回收和安全机制等。JVM 是可定制化的,我们可以通…
一、概述 ContentProvider(数据提供者)是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法。 ContentProvider可以指定需要共享的数据,而其他应用程序则可以在不知道数据来源、路径的情况下,对共享…
Error:Resource cannot be used for libraries. 意思是“library中不要使用移除无用的资源文件字段” 原因是library中使用了混淆,并移除了无用的资源文件,所以解决办法就是把该library…
更多...
加载中...