Android
文章平均质量分 60
android程序员的技术学习与成长
wowo_小白
我只是程序员中的沧海一粟,只希望像我这般的IT工作者能够一步一个脚印,实现自己的职业目标和生活理想。
展开
-
AndroidStudio清除重置Http Proxy代理的方式
在国内做代码开发的都知道,在国际互联网我们存在看不见的墙,导致无法访问一些代码库和资源,所以在使用开发工具拉取第三方库的时候总会遇到无法连接或者连接超时的情况,所以就会使用一些安全的网络代理工具,辅助完成我们的环境配置等工作,例如android程序员在使用android studio开发时,代理使用之后,想要重新恢复原来的设置,貌似不是很灵?看见四个systemProp开头的代理设置了没,屏蔽它或者删除它他(建议直接删除)即可,然后重启AndroidStudio试试看,希望对你有用。原创 2024-09-09 09:24:41 · 556 阅读 · 0 评论 -
Duplicate class...org.intellij.lang.annotations.Flow found in modules jetified-annotations-13.0
Duplicate class org.intellij.lang.annotations.Flow found in modules jetified-annotations-13.0 (org.jetbrains:annotations:13.0) and jetified-annotations-java5-15.0 (org.jetbrains:annotations-java5:15.0)的一种解决方式原创 2024-03-20 13:34:05 · 647 阅读 · 0 评论 -
[Andorid]使用BindingCollectionAdapter后recyclerView刷新闪烁的问题
最近在是使用一款mvvm框架,其中就用到了BindingCollectionAdapter绑定神器,有兴趣的朋友可以去看看,说实话我个人不是很喜欢这样的工具,因为业务复杂的情况下,开发和维护成本都很高,当然这是我个人见解。这个方案就是能支持databinding和recyclerview、listview的数据绑定,因为是首次使用,就遇到了之前没有遇到的刷新闪烁的问题。每次进入列表,刷新数据后,都会闪烁一下,个人猜想出现这种情况的可能性有几点:recyclerview本身的动画加载的问题 对应的适配器原创 2021-09-10 17:07:10 · 1065 阅读 · 1 评论 -
如何形象的描述反应式编程中的背压(Backpressure)机制
我发现目前网上大多数对 Backpressure 的解释都是错误的。如果你认为你对 Backpressure 「有一定的理解,但不太能讲清楚」,那么你很可能其实并没有理解它,因为 Backpressure 其实是一个非常简单的概念。首先,Backpressure 并不是响应式编程(Reactive Programming,或者有的人喜欢按字直译为「反应式编程」)独有的;其次,Backpressure 并不是一种「机制」,也不是一种「策略」。Backpressure 其实是一种现象:在数据流从上游生产者向转载 2020-11-24 13:35:59 · 1133 阅读 · 0 评论 -
[Android异常]java.lang.IllegalStateException:ViewHolder views must not be attached when created.
场景1.在安卓开发中,在使用viewpager+recycleview的切换和加载的使用过程中,出现程序奔溃的问题;2.看了其他人解决的方式是在onCreateViewHolder中改成如下方式,// View view = inflater.inflate(R.layout.item_view, null); 或者// View view = inflater.inflate(R.layout.item_view, parent, false);但本身我也是这么写的,所以应该不是这个问.原创 2020-06-01 10:18:50 · 2315 阅读 · 0 评论 -
[Android初级]开源Widget之PagerSlidingTabStrip新手测试
在如今很多的项目中都可能会用到类似的滑动原创 2014-04-09 09:03:23 · 2574 阅读 · 5 评论 -
[Android]如何让ListView显示不同布局的解决方式和案例
一、概述在项目的需求中,有一处需要显示一个交易记录的列表,这个列表很容易让人联想到用listview来实现,但是这个列表又有稍许不同的地方,那就是它里面的item并不是一样的布局,其中某些部分显示的是消费的记录,而有些地方显示的是充值的记录,也就对应了不同的item布局。而且,这两处地方都是从服务端获取数据的,这两个item的数据对应的类内容也各不相同,该怎么处理呢?下面来一步步实转载 2016-03-14 13:22:06 · 2402 阅读 · 0 评论 -
[Android]使用PagerSlidingTabStrip来实现选项卡切换界面的示例
其实这个组件已经有两年没有更新了,为什么我要写这个示例?因为我很久以前写过一篇同样的测评,[Android初级]开源Widget之PagerSlidingTabStrip新手测试,但因为代码乱七八糟,这次就完善一下,可以给那些觉得不错的人提供一个指导性的案例。本示例中的PagerSlidingTabStrip做了一些调整:对字体颜色跟随tab底部滑动条的颜色等。原创 2016-02-29 16:02:43 · 5119 阅读 · 0 评论 -
[Android]AS异常: task ':app:clean'. > Unable to delete file: ...appcompat-v7\...unspecified\jars\
Error:Execution failed for task ':app:clean'.> Unable to delete file: D:\svn\my_local_progects\xxx\app\build\intermediates\exploded-aar\Project_A.Project_B\Project_B\unspecified\jars\classes.jar问题场原创 2016-04-12 17:52:44 · 3973 阅读 · 2 评论 -
[Android异常]listview(含上拉加载,上拉加载)下拉刷新报数组越界异常
场景1.在安卓开发中,使用带footview或者headView的Listview,且该Listview含固定类型的item;2.该Listview嵌套了Listview等view错误内容:FATAL EXCEPTION: main Proce原创 2016-04-28 17:20:21 · 2444 阅读 · 1 评论 -
[Android小技巧]如何不用图片创建一个带圆角的按钮
其实这种文章百度里随便抓都是,我为什么还要再写一篇呢?重复别人的劳动虽然可以减少很多的时间,可是如何转变为自己的手段,除了快速copy外,那就是和我这样记录下来,有空回首看看,其实就真的变成自己的东西了。话不多说,赶紧上货。原创 2016-02-25 14:06:37 · 1014 阅读 · 0 评论 -
[Android]Ultra-Pull-To-Refresh之listview下拉刷新、上拉加载的用例-已更新
前言app中最常见的场景莫过于下拉刷新和自动加载的功能了,最经典的开源组件就是Android-PullToRefresh,但本文主要是使用的是android-Ultra-Pull-To-Refresh,地址是:https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh本次demo的编辑环境为android studio,java1.原创 2016-02-14 18:57:59 · 5772 阅读 · 13 评论 -
[Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工具
简单介绍Butter knife是大神JakeWharton的一款Android利器,多数开发者都应该了解和使用过,这把黄油刀最大的吸引人的地方就是简化了android程序编写中的view,findviewById(id)和setOnxxxListener事件的写法,它使用了一种很简洁的注解写法,例如你会发现没有了findviewById这种超累的代码片段了,哈哈,这就值得让我们为原创 2016-03-01 15:30:47 · 4805 阅读 · 0 评论 -
[Androd初级]解决Listview的子项Item的高度无法设置的情节
在item的layout文件中,用android:layout_height设置item的高度。运行,高度设置无效。解决办法:给item设定minHeight,即可.---------------------------------------<LinearLayout xmlns:android="http://schemas.android转载 2016-01-21 11:43:50 · 1101 阅读 · 0 评论 -
[Android]ListView滚动时itemview背景色变成黑色的解决方式
在使用listView的过程中,偶然也会遇到一些小问题,比如在listview中调试背景色的过程中会遇到这样或那样的问题.比如我指定某行高亮之后,然后就让我遇到了一个比较经典的issue,在拖动的过程中,有几个item的背景色是黑色的,在松开手指后就会恢复正常.如下图的情况,看了很多资料,很多都是在Listview的xml中加入android:cacheColorHint="#原创 2015-11-27 12:59:42 · 2807 阅读 · 2 评论 -
[Android]TextView设置字体大小时应该知道的事-同样的textSize不同的效果
在学helloworld的时候就第一个接触的控件就是TextView,这个是非常常用的一个文本控件,现在我们要说的就是关于设置大小时应该清楚的一两个问题.下面这个案例来说明.先看xml中的案例:<LinearLayout android:layout_below="@+id/main_button_layout" android:layou原创 2015-12-09 15:23:15 · 4939 阅读 · 0 评论 -
Proguard混淆时保留行号信息
混淆工程如果不保留行号,则查起Crash时,一一对照mapping文件是非常麻烦的,而且由于java的全名规范,只要方法的参数不一致,即可方法名相同,在这种情况下,更难准确定位出错的方法及具体的代码。如下图,同一个类中被混淆后有三个名字为 a 的方法:解决办法为:混淆时保留行号;具体操作是在工程的proguard-project.txt中添加如下配置:1234转载 2015-10-30 16:00:49 · 4302 阅读 · 0 评论 -
[Android]Android studio 通用工程项目作为通用库与其他app相依赖的本地实现
场景在项目中会有很多通用的jar、开源项目、或者自己的库,然后给多个App项目使用,有很多公司都是通过maven或者jcenter远程库依赖来解决问题,本文是通过一个本地svn库通过依赖同一个Lib(Project)来实现通用代码依赖。如以下效果原创 2016-05-25 15:38:06 · 2397 阅读 · 0 评论 -
Android屏幕适配全攻略
Android屏幕适配出现的原因在我们学习如何进行屏幕适配之前,我们需要先了解下为什么Android需要进行屏幕适配。由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子。但是这种“碎片化”到底到达什么程度呢?在2012年,OpenSignalMaps(以下简称OSM)发布了第一份Android转载 2016-04-20 12:47:46 · 1248 阅读 · 0 评论 -
[Android]在ListView嵌套GridView中出现的点击事件处理以及gridview显示不全的问题
写这篇博文也是出于偶然看到自己很久以前写的一堆“烂码”,目的是为了实现一个ListView中能够嵌入GridView的功能,为了展示图文的一个Item,这是一个很普通的功能,但在那时候什么都不懂的我还在自己摸索摔了很多跟头,现在看看确实难堪,而且还有有很多的bug,所以就想挑出一两个解决一下,为了一些像当年我一般的小伙伴提供可行性高的解决方式,特地写了这篇整理性质的博文。(高手就不必看了)原创 2015-08-22 14:27:17 · 5778 阅读 · 0 评论 -
[Android]AsyncHttpClient调用接口报错: java.net.SocketTimeoutException: Read timed out
安卓端的网络框架是com.loopj.android:android-async-http在正常情况下,调用后台接口都是正常交互,没有问题,但在服务器运算和读取压力较大的情况下,网络读取效率降低,可能会报错例如下方的java.net.SocketTimeoutException: Read timed out解决方法: asyncHttpClient.getHttpClie...原创 2018-09-06 14:38:07 · 4828 阅读 · 0 评论 -
Android APK反编译查看源码及资源文件
本文主要介绍如何反编译Android应用程序查看源代码、资源文件和xml文件以及修改后重新打包成APK。鼓励大家反编译去学习他人的设计而不是将应用换壳后混乱市场。也可以直接使用网友整理的 anti-droid.需要的使用工具已经打包下载地址为:android反编译工具包 dex2jar 这个工具用于将dex文件转换成jar文件 下载地址:http://sourceforge.net/project...转载 2014-04-04 10:08:38 · 2787 阅读 · 2 评论 -
[Android]studio报异常:...com.android.ide....java.lang.UnsupportedOperationException
在编写项目的过程中,我们会遇到各种奇怪的错误,比如我的项目里依赖了很多第三方的库,可能会出现依赖重复的情况,比较牛叉的Android studio 给我门反馈的错误有时候也是丈二和尚摸不着头脑,正好今天遇到了一个小问题,记录于此。错误信息:Error:Execution failed for task ':app:transformClassesWithDexForBuildDebug'.原创 2018-01-12 17:55:33 · 1460 阅读 · 0 评论 -
[Android]腾讯Tinker热修复框架简单使用
前言目前我们所知的热修复方案有阿里的AndFix、美团的Robust以及QZone的超级补丁方案,如何在我们的自开发的软件上选用合适的方案呢?先看看各家的框架效能对比,在作参考。总体来说:AndFix作为native解决方案,首先面临的是稳定性与兼容性问题,更重要的是它无法实现类替换,它是需要大量额外的开发成本的;Robust兼容性与成功率较高,但是它与AndF原创 2017-06-02 11:24:00 · 2836 阅读 · 0 评论 -
[Android]RxJava的简单介绍和基本使用(二):retrofit2的简单介绍
接着上一篇:[Android]RxJava的简单介绍和基本使用(一)线程调度在Android程序里模拟一个耗时任务,常规情况下,以前我们可以New一个worker线程,然后通过Handler更新UI上绑定的数据。现在让我们来看看Rxjava和Rxandroid 直接如何默契的完成这样的场景Flowable.create(new FlowableOnSubscribe() {原创 2017-05-17 10:41:01 · 2382 阅读 · 0 评论 -
[Android]发布自己的项目库到jcenter
本文属于学习分享,如有雷同纯属巧合前言闲来无聊,看到鸿洋大神的Android 快速发布开源项目到jcenter,在学习和使用bintray-release发布一般项目到jcenter的过程中,虽然写的很清晰,但是我还是fail了。重新查了一下别人的教程,决定也写个简单说明,步骤其实差不多的,在此做个记录。注:这是上传一般的单独的项目到jcenter上!步骤先看看我要上传的项原创 2016-11-22 17:20:27 · 622 阅读 · 0 评论 -
[Android]来试试移动端sqlite数据库最高效的框架GreenDao3
前言greenDAO作为Android移动端的一款开源的orm框架,因其快速开发,而且小而快,为众多安卓程序员所知,成为一款热门,现在迎来了更便捷的3.0+版本,主要亮点就是提供了注解。官网又快速使用的教程How To Start!greenDAO的特性最大的性能 (可能是最快的ORM Android);我们的基准是开源易于使用的 强大的api最小的 内存消耗jar原创 2016-11-11 16:24:04 · 1459 阅读 · 0 评论 -
Android SQLite数据库版本升级原理解析
Android使用SQLite数据库保存数据,那数据库版本升级是怎么回事呢,这里说一下。一、软件v1.0安装v1.0,假设v1.0版本只有一个account表,这时走继承SQLiteOpenHelper的onCreate,不走onUpgrade。1、v1.0(直接安装v1.0)二、软件v2.0有2种安装软件情况:1、v1.0 --> v2.0转载 2016-10-19 16:17:06 · 1596 阅读 · 0 评论 -
[Android]EventBus-来一趟快速公交初体验[下]
接着上文《[Android]EventBus-来一趟快速公交初体验[上]》,我们继续说说EventBus3.0的其他Point。Subscriber index因为EventBus3使用了 如@subscriber 这样的注解的方式来实现订阅方法的检索和调用,众所周知,这种方式是消耗性能的,所以这个版本的效率应该会比之前的版本慢一些(虽然我们感觉不到),然后,EventBus3的开原创 2016-06-14 15:21:37 · 835 阅读 · 0 评论 -
[Android开发-异常]javabinder !!! FAILED BINDER TRANSACTION !!!
android开发过程中,我遇到了这样的一个不明确的异常提示!!! FAILED BINDER TRANSACTION !!!,出现的原创 2014-05-06 16:39:08 · 40961 阅读 · 0 评论 -
[Android]EventBus-来一趟快速公交初体验[上]
前言作为一款非常著名的Android开源框架(http://greenrobot.org/eventbus/),它主要是解决当前很多代码的松耦合问题,即简化了代码,这也大大提高了开发者的开发效率,本文就以当前最新的3.0版本来体验这一次来的比较晚的快速公交,当然我这里多是以代码的示例来帮助读者更快的理解它的使用,具体的原理,我想你们其中有兴趣自个儿也会去挖掘的,我还是那句话:工欲善其事,必先利原创 2016-06-11 13:19:35 · 4062 阅读 · 0 评论 -
[Android]为TextView提供双色文本配置的小工具ColorPhrase
在安卓开发过程中,经常会看到文本中有重点的字段是需要换色的,为了表现其特殊性。这个时候大多数人都会用比较简单的方式就是再New 一个TextView出来,显然很快速,然而这样做无疑是给布局绘制添加麻烦,这里简单提供一个工具ColorPhrase类,帮你解决这一的麻烦。先看demo效果图、使用方式:1.MainActivity.javapublic class Mai原创 2016-05-07 17:42:45 · 2322 阅读 · 0 评论 -
[Android]自定义一个可以展开显示更多的文本布局
在查阅其他博主的博文中,发现了一个比较不错的文本伸展的效果,在此借鉴学习。可以先看看到底是什么样的效果看起来很眼熟吧,很多应用中都有这样的使用场景,其实就是控制textview的maxlines属性,来做的。在这里就简单的说下定义的过程1.stretchy_text_layout.xml --这是创建一个布局,用来装裱以上展示的控件<LinearLayout xmlns:an原创 2015-10-30 10:49:37 · 3434 阅读 · 3 评论 -
[Android]关于换肤功能的遐想篇
看到过一些很多app都有换肤场景的功能,多数都是从服务器上下载资源然后再使用的,这就解决了资源可选择使用,减轻apk的资源大小,并能很好的提高用户体验。在android中如何实现这个功能呢,其实可以利用动态加载实现对资源文件的调用,大概意思就是说利用Dalvikvm 中的classloader来加载我们需要的apk中的“我们需要的某个类”或者某个资源,他和java中反射机制一个道理,在java原创 2015-09-12 13:48:39 · 750 阅读 · 1 评论 -
[Android]RecyclerView的简单示例
去年google的IO上就展示了一个新的ListView,它就是RecyclerView,据说以下是官方的说明,我英语能力有限,不过我大概这么理解:RecyclerView会比ListView更具有拓展性,使用更有效率,而且更灵活了,具体怎么样,时隔一年,我们也发现了它越来越强大,所以有必要去认识一下这个小伙伴了。The RecyclerView widget is a more原创 2015-08-19 11:02:28 · 2581 阅读 · 0 评论 -
[Android初级]android模拟器中的串口Serialport测试
最近项目要使用到串口通讯,在搭载android系统的主板上监听COM口的数据,这块之前没接触过,我搜索了一下找到一个开源项目:android-serialport-api,通过这个开源项目,我可以轻松的在android应用层监听和请求所需要的设备端口的数据。使用前,考虑到没有硬件的条件下,我先做个虚拟测试。在电脑上虚拟建立2个com口,(com2com3),他们是互通的,我要这么做,通过and原创 2014-08-06 13:12:21 · 5202 阅读 · 2 评论 -
[Android初级]BroadReceiver之自启动应用
在如今应用app的使用中,几乎每个原创 2014-10-21 15:01:26 · 1540 阅读 · 0 评论 -
[Android初级]关于实现在阅读文章后保持上次阅读位置的方法即关于ScrollView的位置监听
在android应用的开发中,可能会有原创 2014-07-11 16:24:50 · 3017 阅读 · 0 评论 -
[Android初级]调用基于WCF开发的WebService出现的问题
我在以前的一次项目开发中与打原创 2014-07-10 15:10:48 · 2594 阅读 · 0 评论 -
[Android初级]关于如何解决软键盘弹出后覆盖界面布局的问题
在android开发中,我们搞界面时要考虑很多用户体验的问题,比如原创 2014-06-11 10:30:59 · 1475 阅读 · 0 评论