Android
文章平均质量分 56
大山喵
这个作者很懒,什么都没留下…
展开
-
Android Studio :Gradle‘s dependency cache may be corrupt
问题描述好久没用Android Studio了,打开之前的项目居然会有问题——实际上,从使用经验上而言,AS本身不应该犯如此低级的错误,但由于AS本身的一些逻辑是需要请求google服务的,由于某些原因,可能请求不是很顺利,就导致这些功能不可用了。解决方案这个问题造成的本质原因是Gradle缓存出了问题,AS缓存机制会优先请求缓存,然后再请求网络,但是这个缓存如果存在问题,那么可能就会出现既请求成功,又无法使用的局面,所以,清理一下缓存,或者重新设置一下gradle文件配置就行了。清理gradl原创 2020-08-02 22:38:14 · 663 阅读 · 0 评论 -
Error:Could not download protobuf-java.jar (com.google.protobuf:protobuf-java:3.4.0)
问题描述标题长度限制了,原本错误的全部信息应该是:Error:Could not download protobuf-java.jar (com.google.protobuf:protobuf-java:3.4.0):No cached version available for offline modeAS的环境配置大部分依赖于Gradle,而Gradle文件又是自动配置的,所以很多...原创 2020-02-04 17:36:46 · 12263 阅读 · 0 评论 -
重写TextWatcher监听方法onTextChanged,调用EditText.setText死循环问题解决方案
问题描述在一个EditText控件中,监听文字变化状态,使用了TextWatcher中的onTextChanged方法,大抵如下: input.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int...原创 2019-10-25 20:26:14 · 3021 阅读 · 4 评论 -
android.content.res.Resources$NotFoundException 问题解决方案
问题描述Process: com.jason.morelistitem, PID: 15181android.content.res.Resources$NotFoundException: String resource ID #0x5at android.content.res.Resources.getText(Resources.java:367)at android.widge...原创 2019-10-24 19:52:29 · 3202 阅读 · 0 评论 -
WindowManager权限:android.permission.SYSTEM_ALTER_WINDOW
Android 6.0之后(API>23),如果APP中使用WindowManager.LayoutParams申请一个窗体布局并显示,那么需要申请android.permission.SYSTEM_ALTER_WINDOW权限,因为Google认为,显示顶层视图会影响其他APP的送体验,理应得到用户的许可—— 关于该权限的定义,详情参见链接 那么,具体做法可以参考——if(...原创 2019-09-09 15:14:51 · 1217 阅读 · 0 评论 -
在build.gradle中添加Java8配置
如果在代码中使用Java8特性(常见的是Lambda表达式),那么需要手动添加Java8支持。通常AS提供自动配置的功能,但是有时候这个功能不怎么灵,所以还是记一下怎么手动配吧,方便自己以后查询。 在app的build.gradle中添加如下配置即可——android { compileOptions{ sourceCompatibility JavaVersio...原创 2019-09-27 09:25:49 · 3256 阅读 · 0 评论 -
SDK开发:AIDL通信中bindService无法正确onServiceConnected的问题
问题描述 将跨进程通信模块封装到SDK中,配置到目标APK中,结果发现服务连不上了,四处Log,结果发现ServiceConnection接口中的onServiceConnected压根没有回调,看来bindService没有发挥作用。 Intent intent = new Intent(); intent.setAction("com.jason.aidlconnection"); ...原创 2019-09-28 10:09:23 · 2009 阅读 · 0 评论 -
AIDL学习总结:使用AIDL实现跨进程通信
AIDL学习总结(一):使用AIDL实现跨进程通信前言AIDL基本概念AIDl数据类型第一个Demo:Client向Server发送数据Server端工程Client端工程第二个Demo:Server回调Client接口Client端回调AIDLServer端回调AIDL源码链接前言 本文是对AIDL跨进程通信的学习和总结,主要介绍了AIDL的基本概念和使用方法,通过一个简单的Demo来...原创 2019-09-30 17:54:30 · 2371 阅读 · 0 评论 -
Android Studio Emulator无法联网的情况
在模拟器上使用Volley库进行网络请求,发现老失败,结果发现AS的模拟器无法联网了,找了半天资料没有找到理想的解决方案 想了想,最近升级了最新版的AndroidStudio 3.5,可能是模拟器自身的缺陷吧。下面记录一个比较笨,但是有效的方案:Step 1 :打开cmd命令行,获取设备号android list device 先不用管前面一大串字符,找到自己需要的设备名称,...原创 2019-10-08 21:38:56 · 3632 阅读 · 1 评论 -
使用Volley发起网络请求
前言本文是对Google官方文档中关于Volley部分的学习和总结,原文地址详情参考,通过对文档的翻译和学习,总结出自己的理解,通过一个Demo来展现Volley概述Volley是一个Google推出的一个HTTP网络请求开源库,它可以简化Android应用程序的联网操作,以更快的速度进行网络请求,很多大公司的App都集成了Volley库。Volley开源库具有的优点包括:自动进行网络...原创 2019-10-09 18:05:00 · 644 阅读 · 0 评论 -
使用Volley请求网络图片加载
前言Google官方文档中并没有介绍Volley请求网络图片的方法,但实际上,Volley提供了十分强大的网络图片加载的功能,本文是对Volley关于请求网络图片的3种方式的学习总结,内容上参考了郭神的帖子(原文链接)Volley请求网络图片的方法Volley请求网络图片的方法相比于String和JSON,要多一些方式,但从底层上看,还是基于RequestQueue+Requestd 的方式...原创 2019-10-10 19:54:01 · 800 阅读 · 0 评论 -
Android Studio3.4.2 Code Completion 不区分大小写
默认状态下,Android Studio的代码填充提示是大小写敏感的(case sensitive completion),可能是考虑到Java语言的命名规范,大小写敏感匹配的方式能够比较高效的找到目标API。但实际上,这种方式也带来一定困扰,比如说—— 在误写大小写,或者你根本不知道该大写还是小写的时候,代码提示就完全瘫痪了。所以还是把这个设置给取消吧—— 在Setting-&g...原创 2019-08-17 10:56:47 · 1917 阅读 · 0 评论 -
Android使用Material Design实现悬浮按钮
前言 本文是对《Android第一行代码》第十二章《最佳UI体验——Material Design实战》中关于悬浮按钮实现的学习和记录,主要内容包括——FloatingActionButton控件Snackbar控件CoordinatorLayout布局其实关于悬浮按钮的实现十分简单,Design Support库中做了大量的封装,只需要运用以上3个基础控件就可以完成一个最简单的...原创 2019-08-22 09:56:49 · 1228 阅读 · 0 评论 -
Android Studio3.4 中无法找到Android Device Monitor的问题
Android Device Monitor是Android Studio提供的一个用于设备监控的子功能,以往在Tools菜单栏中可以直接点出,但是最新的Android Studio版本中取消了该选项,使得AD不是特别好找了。但实际上,Google官方并没有取消该功能,通过下面几种方法还可以继续使用monitor 如果之前在PATH环境中配置过ADB环境,那么其实可以直接在命令行里面调用m...原创 2019-08-16 10:42:15 · 2783 阅读 · 4 评论 -
Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml
SDK出问题了,Android Studio的Setting中的Android SDK找不到SDK的path,只好手动去解决SDK的问题,但是在官网下载了SDK Manager之后,发现下载失败想必是服务器路径配置的问题,找了找资料,果然如此,把SDK Manager的服务器配置重新改一下,就可以了先在Tools->Options中打开Android SDK Manager Setti...原创 2018-10-08 17:41:54 · 3278 阅读 · 4 评论 -
Android Studio3.X版本之后,Android SDK的安装
Android Studio3.X的版本,老出问题但很多问题,都是由于无法访问谷歌服务器造成的前段时间AS忽然间崩溃,卸载重装,却发现SDK怎么都装不上后来才知道,原来AS3.X之后的安装包不提供集成的SDK安装文件了Android SDK Manager集成在Android Studio之中,所有的下载都依赖于在线安装器但尴尬就尴尬在,在线安装经常会失败,没SDK,又不行……所以只好...原创 2018-10-16 20:36:35 · 3214 阅读 · 0 评论 -
Execution failed for task ':app:externalNativeBuildDebug'
升级了AndroidStudio到3.4之后,之前的项目开始出现千奇百怪的问题——org.gradle.internal.UncheckedException: Build command failed.Error while executing process D:\Android\SDK\cmake\3.6.4111459\bin\cmake.exe with arguments {...原创 2019-07-23 22:44:13 · 12920 阅读 · 1 评论 -
Execution failed for task ':app:processDebugManifest'.
使用新版的Android Studio导入以前的项目,会出现Execution failed for task ‘:app:processDebugManifest’. 的错误* What went wrong:Execution failed for task ‘:app:processDebugManifest’.Manifest merger failed : Attribut...原创 2019-07-22 11:19:58 · 2036 阅读 · 0 评论 -
Android resource linking failed
升级了Android Studio3.4之后,以前的项目出现问题——com.android.builder.internal.aapt.v2.Aapt2Exception: **Android resource linking failed**C:\Users\zzulj\.gradle\caches\transforms-2\files-2.1\f1f31426f3433123602...原创 2019-07-22 11:51:00 · 2615 阅读 · 0 评论 -
ButterKnife9.0.0-rc2 配置
升级了AndroidStudio到3.4之后,发现项目中的很多依赖库都不能用,原因是随着AS升级之后,Gradle随之升级到3.4.1,很多第三方库也需要更高版本的支撑,今天遇到ButterKnife失效的问题,原本是8.5.1的版本(基于gradle3.1),提示升级ButterKnife9.0.0-rc2,上网查了一下资料,更改配置步骤如下—— 首先在项目的build.gradle 文...原创 2019-07-22 17:57:50 · 1001 阅读 · 0 评论 -
java.lang.RuntimeException: invalid channel for service notification
在APP中使用台前服务并创建通知,发现报错了—— 代码本身应该是没问题的,因为是照着Demo仿写的,看来是环境出了问题,运行在Android Q(API29)上就会出一些乱七八糟的问题。在查阅了Android文档之后发现原本的NotificationCompat.Builder (Context context)被废弃,在API26之后,创建通知需要使用新的构造器Notification...原创 2019-08-19 15:58:27 · 8763 阅读 · 4 评论 -
OkHttp请求http链接失败的问题
在 Android API 29 平台上编译,发现网络请求数据异常,四处Log,找了半天发现是OkHttp在请求网络链接的时候直接onFailure了,莫名其妙,找了半天资料,才发现原来是Android P的锅——Android P全面禁止了非https链接,并严格审查网站的CA证书(详情参考)但是国内的很多网站都是非https的,怎么办呢?需要使用xml文件设置属性禁用掉这一设置——在re...原创 2019-08-23 18:04:22 · 8421 阅读 · 14 评论 -
Android 使用Material Design实现滑动菜单
DrawerLayout布局 DrawerLayout是Design库中实现滑动菜单效果的支撑性布局,它允许放入两个直接子控件,第一个子控件是主屏幕中的内容,第二个子控件是滑动菜单中显示的内容。我们在activity_main.xml文件中使用DrawerLayout布局如下:<?xml version="1.0" encoding="utf-8"?><android...原创 2019-08-20 18:58:04 · 1239 阅读 · 1 评论 -
Android Studio:java.io.IOException: Cannot run program "aapt",: CreateProcess error=2
使用gradlew makeapk指令生成APK包,结果报错—— aapt是Android Studio中十分强大的一个工具,其功能之一就是打包程序,如果找不到这个路径的话,的确是要出问题。谷歌了一下网上的信息,大部分是关于Linux平台的,看来这个问题多发于Linux系统下。重新牌子了一下ANDROID_HOME的路径,没有效果,然后用了一种简单粗暴的方式:直接把build-tools...原创 2019-08-12 15:14:24 · 1963 阅读 · 0 评论 -
Android开发:MPAndroidChart的配置和使用
前言开发环境安装和配置一个简单的折线图Demo布局文件Activity文件效果展示参考链接前言 实验室的项目需要做一个折线图波形,来显示数据。在MATLAB上,只需要一个plot函数就行了,但是在Android上,需要借助一个第三方开源库MPAndroid来实现。本文是对MPAndroidCharts的一个学习和总结。 MPAndroi...原创 2018-05-29 11:49:58 · 6670 阅读 · 0 评论