Android基础
文章平均质量分 55
程序猿的玻璃心
这个作者很懒,什么都没留下…
展开
-
我是如何阅读ARouter源码的
以下是我阅读源码的过程中遇到的问题,以及是如何分析和解决的,文章比较长,贴了很多代码,希望能帮到看文章的人。看之前建议先下载源码运行,地址:https://github.com/alibaba/ARouter问题要想了解ARouter的原理,说白了就是需要知道,Activity是如何跳转的?带着问题去找答案;从程序引用中找答案,核心代码如下:ARouter.getInstance().build(ARouterConstants.SPLASH_GUIDE).navigation();这句代码就原创 2021-03-10 13:59:10 · 192 阅读 · 0 评论 -
Android实现二级菜单的滑动排序
一、需求需求很明确,我需要滑动排序二级list的数据。可伸缩和折叠使用的是BaseExpandableListAdapter,用法大家可自行百度查看。这里我主要讲解下,我是如何实现在二级菜单中实现滑动排序的,以及在开发过程中遇到的问题,以及我自己的解决办法,希望给读者一些启示。二、过程解决list的滑动排序问题,我能想到的解决办法,有三种,通过RecyclerView + ItemTouchHelper;通过OnDragListener,这种方式需要自己写自定义的ViewGroup;通过Vi原创 2021-02-05 11:04:43 · 438 阅读 · 0 评论 -
Cannot resolve symbol 'R'
这个问题,很烦,不解决也没问题,但看着心累,实在是受不了,就查下解决办法,有说clean build的,有说Restart的,试过,都不行;Cannot resolve symbol 'R'最后的解决办法:参考知乎上的网友:https://www.zhihu.com/question/51455093以下是引用知乎的答案:(做个记录)当gradle build tool 为3.3.2,...原创 2020-01-20 16:14:52 · 266 阅读 · 0 评论 -
Android端百度地图开发之多个信息窗
百度提供了InfoWindow 去实现信息窗,用mBaiduMap.showInfoWindow(infoWindow);进入showInfoWindow()可以发现下面这段代码,原来在每次新建信息框的时候,他都会隐藏其他的信息窗,所以每次只能有一个信息窗显示。this.hideInfoWindow();网上提供了一种方法,把文字写入到图片Bitmap中,再把图片显示出去就行。但这个也存在一个问题,原创 2017-11-06 17:02:53 · 2018 阅读 · 2 评论 -
Android自己画图
知识准备: Paint:画笔类private Paint mainPaint;mainPaint = new Paint();mainPaint.setAntiAlias(true); // 设置抗锯齿mainPaint.setColor(Color.GRAY); // 设置颜色mainPaint.setStyle(Paint.Style.STROKE); // 设置样式(画)Canvas原创 2017-10-26 14:51:56 · 307 阅读 · 0 评论 -
Android小问题的修改
问题一:多个网络请求对应多个线程,建议采用线程池的方式,会比普通线程快很多; 问题二:多个线程更新请求完后停止加载动画,如何确保所以的请求都完成; 问题三:网络请求之后,更新自定义的控件,有时需要在界面触碰一下才会更新自定义控件的问题。 第一个问题,对于需要频繁开关线程的地方,尽量采用线程池的方式。线程池可以自己定义,也可以采用java提供的四大线程池类。 第二个问题,采用计数的方式,一个请原创 2017-11-21 10:36:48 · 159 阅读 · 0 评论 -
Android蜘蛛网图/雷达图
直接上图 上一篇博客里本来想记录些基础知识,后来图画出来了,想想就算了,直接把东西贴出来,各位自己去看。 东西很简单的。 先定义继承View的类,以及实现类public class SpiderView extends View { public SpiderView(Context context) { super(context); init()原创 2017-10-27 15:56:45 · 866 阅读 · 0 评论 -
Error:Execution failed for task ':xxx:transformClassesWithDexForDebug'.
主要是这句“Cause: com.android.dex.DexException: Multiple dex files define Lcom/alibaba/fastjson/JSONStreamAware;” 一般都是由于多了jar包导致的,这里是多了fastjson包,认真检查下就行Cause: com.android.dex.DexException: Multiple dex fil原创 2017-12-06 09:14:45 · 243 阅读 · 0 评论 -
Android动态设置宽高
描述 有时我们会发现,想通过LayoutParams去为控件动态设置宽高的时候,getHeight()、getWidth()方法获取的值是0。 之所以会这样,是因为布局先在界面完成了,动态获取到界面上的值就是0。 解决办法: 将getHeight()、getWidth()方法放在post()方法里获取。 例如:myView.post(new Runnable() { @Ov原创 2017-11-02 15:27:42 · 625 阅读 · 0 评论 -
AndroidStudio升级后,项目存在的问题
之前用的是AndroidStudio2.2.1之后升级到AndroidStudio3.0.1版本 遇到如下问题: 1,Declaring custom ‘clean’ task when usingError:(48, 1) A problem occurred evaluating root project 'NEWAPP'.> Declaring custom 'clean' task w原创 2017-12-27 17:22:33 · 4920 阅读 · 0 评论 -
记录
一个常用知识点,设置颜色的时候,以前是用getResources.getColor()这个方法很尴尬,Android6.0之前的被弃用了 替代方法是ContextCompat.getColor(context,R.color.color_id);经常要用又容易忘,记录下原创 2017-10-27 16:09:30 · 151 阅读 · 0 评论 -
华为P9开发Socket无法接收到消息的问题
http://blog.csdn.net/mo_feng_/article/details/78190031原创 2017-10-10 16:47:49 · 1752 阅读 · 0 评论 -
Android优化
1,使用SparseArray和ArrayMap代替HashMap,节省内存原创 2017-09-11 09:31:43 · 149 阅读 · 0 评论 -
Android Sdk下载详情,及support的路径
support本地路径:sdk\extras\android\m2repository\com\android\support SDK下载详情:原创 2017-05-09 14:28:52 · 712 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: okhttp3.HttpUrl$Builder$ParseResult
也是一个莫名其妙的问题,不知道怎么导致的,开始okhttp3运行的还好好地,突然抽风似的,出现这个bug。 好在网上有解决办法,我的办法来自:https://stackoverflow.com/questions/36649121/java-lang-noclassdeffounderror-okhttp3-okhttpclientbuilderdown voteacceptedYes, fi原创 2017-07-19 11:43:26 · 4601 阅读 · 1 评论 -
java.util.zip.ZipException: duplicate entry: org/apache/xmlbeans/xml/stream/Location.class
:ols:incrementalDebugJavaCompilationSafeguard UP-TO-DATE:ols:compileDebugJavaWithJavac UP-TO-DATE:ols:compileDebugNdk UP-TO-DATE:ols:compileDebugSources UP-TO-DATE:ols:prePackageMarkerForDebug:ols原创 2017-07-19 10:34:02 · 4025 阅读 · 0 评论 -
Android中使用MuPDF预览pdf文档
我采用的so文件,以及其中用到的java来自https://github.com/viavansi/mupdf-android 把文件拷贝到相应的目录下,别拷贝错了就行。 其中涉及到的R文件路径换一下。 我是先下载pdf文件,然后再预览。原创 2017-07-17 16:14:42 · 1651 阅读 · 0 评论 -
RecyclerView与LisView结合使用
先看看界面效果原创 2017-07-04 18:02:12 · 316 阅读 · 0 评论 -
如何演示你的App?Android录制Gif动态图教程
需求Android App开发完了,自然希望录个gif做个展示。视频也可以做展示,但是需要上传到优酷、土豆等等,没有gif轻量简单省流量。上图是我录制的一个短信轰炸机应用,可以查看这篇文章《android 短信轰炸机App 开发记录》http://blog.csdn.net/never_cxb/article/details/47614247本文教大家如何录制gif,本文链转载 2017-07-04 16:57:01 · 2356 阅读 · 0 评论 -
AndroidStudio2.0以上进行单元测试详解
AndroidStudio2.0以上版本在单元测试这块相对以前有些改变。 一、介绍 1,点击 Build Variants,Test Artifact没有 Build Variants的位置如下 如果没有找到Build Variants,可以通过View–>Tool Windows–>Build Variants获取出来。 把Test Artifact调出来的方法是: File ->原创 2017-06-08 18:13:21 · 1015 阅读 · 0 评论 -
小米手机安装出错:It is possible that this issue is resolved by uninstalling an existing version of
使用AS3.0.1版本,手机是红米note2,安装测试AndroidTest,安装提示以下错误。Installation failed with message Failed to establish session.It is possible that this issue is resolved by uninstalling an existing version of the apk i原创 2018-01-03 11:51:11 · 1008 阅读 · 3 评论 -
老项目升级到AndroidStudio3.0上遇到的坑和巨坑
很多东西百度上找不到,得去谷歌上找。Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProcessor' configuration instead.这样一个问题,虽然我的问题解决了,但到现在我还不知道是怎么一回事。按https://stackoverflo原创 2017-12-28 17:35:01 · 1422 阅读 · 0 评论 -
More than one file was found with OS independent path 'lib/armeabi-v7a/xxx.so'
问题描述,我这个so文件在第三方库中,主程序中找不到该so库,报如下错误。Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'.More than one file was found with OS independent path 'lib/armeabi-v7a/xxx.so'...原创 2019-01-24 10:45:59 · 8959 阅读 · 1 评论 -
关于Handler和AsyncTask内存泄漏的解决办法
一、Handler的内存泄漏This Handler class should be static or leaks might occur (anonymous android.os.Handler) less... (Ctrl+F1) Since this Handler is declared as an inner class, it may prevent the outer cl...原创 2018-09-17 15:07:05 · 5059 阅读 · 0 评论 -
安利两篇文章,一个是找AndroidStudio上的重复包,一个是DexArchiveMergerException
Android studio 重复依赖去重 https://blog.csdn.net/qq_24216407/article/details/72842614 AndroidStudio进行Build时出现DexArchiveMergerException异常如何解决? https://www.2cto.com/kf/201803/726719.html...原创 2018-07-12 18:12:11 · 219 阅读 · 0 评论 -
androidStudio无法引用library中的jar包 implementation
今天遇到一个问题 我导入一个module到AndroidStudio,将它改成lib<application android:supportsRtl="true">gradle改成apply plugin: 'com.android.library'最后发现主app中无法引用它的jar包。 罪魁祸首是下面这句话implementation...原创 2018-07-12 17:26:18 · 16415 阅读 · 14 评论 -
TextView、Button的点击改变背景
对于TextView、Button,点击时可以改变背景,松手之后恢复,state_pressed才可以生效<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawabl...原创 2018-06-28 17:10:23 · 239 阅读 · 0 评论 -
Android规范写法
内容来自https://blog.csdn.net/xiabing082/article/details/54092357TextView mTextView = this.findViewById(R.id.mTextView);mTextView.setText("距离过年还有"+mDay+"天"+mMinute+"时"+mSecond+"秒");上原创 2018-07-10 11:57:37 · 797 阅读 · 0 评论 -
谷歌浏览器好用的插件
导入插件的步骤: 打开浏览器—>右键点击三个点—>更多工具—>扩展程序—>将crx插件拖入浏览器 实用的插件 一、JSON-Handle 下载地址:http://jsonhandle.sinaapp.com/ 用途:对JSON格式的内容进行浏览和编辑 二、掘金插件 下载地址:https://juejin.im/extension 用途:每次打开浏览器都会...原创 2018-07-09 14:13:37 · 3065 阅读 · 0 评论 -
“build-tools\26.0.2\aapt.exe'' finished with non-zero exit value 1”
今天突然遇到一个问题:C:\Users\Hzx\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.0.2.aar\cd25e25b1ef780c5b0d840e0ab03e27b\res\values-v26\values-v26.xmlError:(13, 5) No resource found that matches th...原创 2018-06-27 15:22:10 · 7435 阅读 · 0 评论 -
针对AndroidStudio打包和运行程序是,方法数超过65536的处理办法
重点内容内容说明 若干天前,我打包apk,死活不成功,参考http://blog.csdn.net/mo_feng_/article/details/79176291 后来打包成功了,但是运行的时候,又报错,如http://blog.csdn.net/lvshuchangyin/article/details/51803154 报错:Error:warning: Ignoring Inn原创 2018-01-30 12:11:31 · 788 阅读 · 0 评论 -
UIAutomator做自动化测试
缺测试,你懂的,自己做自动化测,我用的是AndroidStudio3.0.1。 一、创建空项目 二、接入UIAutomator 在mudel中接入://引入Uiautomator androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'三、借用别人的栗子四、错误原创 2018-02-07 16:39:05 · 577 阅读 · 0 评论 -
FastJson与Jackson对比
以前一直用FastJson,最近一个项目里,由于引入的第三方包里导过fastjson,如果再次引用会导致重包,很尴尬,我就用Jackson。 json字符串中,如果key的字母是大写,Jackson好像不能解析成功。Fastjson没问题。 下面是我的demo maven中导包 dependency> groupId>com.fasterxml.jackson.c原创 2018-02-03 17:06:06 · 7460 阅读 · 1 评论 -
To do this set org.gradle.jvmargs=-Xmx3072M in the project gradle.properties.
1、To do this set org.gradle.jvmargs=-Xmx3072M in the project gradle.properties. 打包报这个错误,很郁闷,我mudel里的gradle写了javaMaxHeapSize "2048M"project里的gradle.properties写的是org.gradle.jvmargs=-Xmx3072M死活报原创 2018-01-26 20:06:59 · 1593 阅读 · 0 评论 -
java.lang.IllegalStateException: edit didn't create file 0
记录一个错误,网上找了半天,没找到java.lang.IllegalStateException: edit didn't create file 0我的问题是这样的,自定义了一个Adapter,这个适配器是要加载图片的,我采用的是《Android开发艺术探索》里的图片加载器ImageLoader,有一步是mImageLoader = ImageLoader.build(context原创 2018-02-02 14:56:58 · 630 阅读 · 0 评论 -
Androidstudio的使用注意事项
1,多module管理 http://blog.csdn.net/small_lee/article/details/51242077 http://www.itstrike.cn/Question/76d41cea-8b38-4205-8713-bf85395585c0.html 两种办法,一是写config.gradle,再在module中引入apply from: “config.gr原创 2018-02-02 14:52:04 · 461 阅读 · 0 评论 -
很恶心的一个问题,百度没找到You appear to have guava-jdk5 on your project buildScript or buildSrc classpath
我之前是用AndroidStudio2.1.2的,升级到3.0.1之后,运行之前的项目出现如下错误,很恶心的一个问题You appear to have guava-jdk5 on your project buildScript or buildSrc classpath. This is likely a transitive dependency of another gradle plugi原创 2017-12-28 12:03:04 · 1474 阅读 · 0 评论 -
谷歌插件Postman的使用
上面是界面,界面很简单,请求方式,有get,post等,url是要输入的地址,params是参数,send发送就行。 要用谷歌账户登录的,我注册过谷歌账户,所以可以直接用。 Postman是用来测试url请求的,挺方便也挺看到的客户端。原创 2017-06-09 11:43:18 · 649 阅读 · 0 评论 -
AS填坑
1,Gradle project sync failed.Please fix project and try again.2,Observed package id 'add-ons;addon-google_apis-google-23' in inconsistent location 'D:\LocalSDK\AndroidStudio\sdk\add-ons\addon-google_a原创 2017-05-03 09:55:42 · 747 阅读 · 0 评论 -
Android中Okhttp的使用(一)
用AndroidStudio,先导入jar包dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.8.0'}这里贴出一个注册的实例,分别采用了get和post两种方式regi原创 2017-06-08 17:07:13 · 298 阅读 · 0 评论