- 博客(87)
- 资源 (4)
- 收藏
- 关注
原创 List遍历抛出UnsupportedOperationException在Android不同版本上不同表现
昨天遇到个问题,对字符串按照自然顺序排序,比如说"abd03156"->"01356abd"最开始是这么写的:val toList = newValue.toList()Collections.sort(toList)var result = ""for (i in toList) { result += i}newValue设置的初始值为“0“上面的代码在...
2020-04-30 16:36:53
551
原创 一个非常好玩的问题-Dialog弹出失败
前提:DialogManager统一管理所有的弹窗弹出和消失,它是一个单例现象:MainActivity中点击一个按钮,弹出一个弹窗(因为一些奇怪的理由,导致实现的时候这个弹窗并不是用PopupWindow或者Dialog来实现,而是通过activity.window.decorView.addView的来展示的(ps:这导致后面分析的时候出现来一点点方向上的错误)),然后退出app(这时...
2019-12-06 10:35:24
957
原创 android多状态布局
app中请求服务器数据后进行绘制页面时会有多种状态,比如网络请求过程中loading状态,加载出错状态,获取数据发现数据为空状态,加载过程中网络异常页面和正常加载完毕的数据展示页面。一般的做法是将多个状态封装成自定义View,然后在每一个页面的布局文件中引入,在加载数据时展示不同的状态。可以有另一种方案,通过代码编写View的方式,将自定义View添加到页面中,这样可以避免了在每一个布局中...
2018-09-20 23:27:28
1415
原创 关于RecyclerView Adapter的思考
https://www.jianshu.com/p/1975f88d5139 在看这篇文章的时候看到有说RecyclerView 到底如何适配多种布局? 在用的时候确实也是在用多种ItemType然后根据不同的type设置不同的ViewHolder,那么有没有一种比较好的方式呢? 先来回顾下现有的方案:一般的做法是在服务器返回的Bean里加一个字段,用以区分Item类型, 然后在请求服务器返回...
2018-09-19 17:42:58
238
原创 Dagger2关于Scope的理解
看简书的两篇文章的时候关于Dagger2中的@Singleton的理解和Android:dagger2让你爱不释手-重点概念讲解、融合篇,里面讲解了关于Scope的作用和SingleTon为什么能实现单例。在上一篇文章中也有讲Scope的作用。这里再说一下,Scope是用于组织Component。在Dagger2中, Scope机制关注的是保持单例和Scope存在周期一致。 实际上,它意味着@Ap...
2018-04-21 15:09:32
1225
原创 Android中Dagger2的使用
Dagger2是一个在Java和android中使用的完全静态的编译时依赖注入框架。它改编了由Square创建的早期版本,现在由Google维护。dagger2的优点 首先说下dagger2的优点,为什么用dagger2(额,也可以说我看着大神用所以我也用吧,哈哈),掘金上的这篇文章是个很好的引入的例子,总结下来大概有三点:1.增加开发效率、省去重复的简单体力劳动 首先new一个实例的...
2018-04-19 10:02:48
1608
原创 我的成长之路
每天需要看的文章https://github.com/xurui1995/Sword-pointing-to-offer/tree/master/Javahttp://hencoder.comhttps://leetcode-cn.com/problemset/algorithms/从15年做android开发到现在3年多一点,各方面的原因,也许是自己没有那么大的热情完全投入到开发...
2018-04-17 10:43:44
489
1
原创 Fragment沉浸式状态栏问题
小米miui9适配问题(状态栏适配和弹窗适配)http://blog.youkuaiyun.com/guolin_blog/article/details/51763825http://angeldevil.me/2014/09/02/About-Status-Bar-and-Navigation-Bar/项目里主页是类似于喜马拉雅的底部四个tab,然后一个Activity包含了4个Fragment,但是第4...
2018-02-08 09:33:20
2431
原创 关于播放器锁屏图片不显示问题
正常通知栏是没有问题的,但是锁屏后图片无法展示,暂停和previous和next按钮也是正常的。开始没太了解,不知道具体这个锁屏是如何控制和展现的,搜了一下资料发现有提到http://2bab.me/2014/12/10/Lollipop-1-Android-5-0-APIs-Guide/“默认情况下,Android 5.0 的 notification 会在用户的锁屏界面展示”这
2017-11-15 15:10:34
1183
原创 Android签名问题
昨天打包出现了个超级好玩的问题,正常测试包没问题,但是打出来的正式包进去就崩溃。报错为:java.lang.ExceptionInInitializerError而MUI上抓到的错误log是java.lang.ExceptionInInitializerError和Caused by: android.view.InflateException: Binary XML file line #1
2017-11-15 15:04:37
283
翻译 Android媒体应用(七)--处理音频输出的变化
How to notice when the volume controls change, the headphones are unplugged, and some other apps wants to play audio.
2017-11-15 14:53:57
1457
翻译 Android媒体应用(六)--响应媒体按钮
How an app handles events from transport buttons on peripheral hardware.
2017-11-15 14:22:06
7255
10
翻译 Android媒体应用(五)--构建视频应用程序
How to build a video app in a single activity with a media session and a media controller.
2017-11-14 17:13:05
722
翻译 Android媒体应用(四)--构建音频应用程序
How to build an audio app using a media browser client activity containing a media controller and a media browser service containing a media session.
2017-09-20 10:20:41
3790
1
翻译 Android媒体应用(三)--使用媒体会话
A media session hides the details of the code that implements a player/recorder and provides a standard interface for communicating with your UI via media controllers.
2017-09-20 10:19:38
2487
翻译 Android媒体应用(二)--综述
An introduction to media sessions and media controllers and how they are used in audio and video apps.
2017-09-20 10:13:55
1572
翻译 Android媒体应用(一)
媒体应用本节介绍如何将媒体播放器应用程序分离到媒体控制器(用于UI)和媒体会话(对于实际播放器)。它描述了两种媒体应用程序架构:一种客户端/服务器设计适用于音频应用程序和单一活动设计的视频播放器。它还显示了如何使媒体应用程序响应硬件控制,并与使用音频输出流的应用程序协作。媒体应用程序概述介绍媒体会议和媒体控制器以及如何在音频和视频应用中使用它们。使用媒体会话媒体会话隐藏
2017-09-20 10:05:57
4875
原创 Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value
Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value
2017-09-13 17:54:47
3526
原创 kotlin学习之单例
关于单例模式的介绍可以看这篇文章:http://cantellow.iteye.com/blog/838473就拿第一种做例子,懒汉式public class SingleTon { private static SingleTon instance; private SingleTon (){} public static SingleTon g
2017-06-19 15:04:40
4618
原创 ScrollView嵌套ListView NullPointException
最早15年的时候看到了ScrollView嵌套ListView的四种方法,那时候用的小米4(手机小米4,4.4.4,api 19),发现没有问题,当然最简单的就是重写ListView的onMeasure方法和单独定义个ListViewHelper类,计算ListView所有Item高度相加。以前一直用的时候也没发现有什么问题(当然,大部分情况还是使用了RecyclerView然后多种布局这种形
2017-05-23 09:04:30
1983
原创 ButterKnife源码梳理
写代码的时候,总会要不厌其烦的写findViewById,butterknife这个框架的作用就是利用注解来简化view查找过程。 先了解下注解的几个关键词: Target:限定使用范围 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述域 3.LOCAL_VARIABLE:用于描述局部变量 4.METHOD:用于描述方法 5.
2017-05-04 09:58:00
992
原创 ButterKnife源码梳理过程中如何调试AbstractProcessor
1.需要在自定义的AbstractProcessor类中设置断点,init()方法是入口。所以在此处设置断点。 2.设置gradle daemon端口和JVM参数,在gradle.propertues加入org.gradle.daemon=true //守护线程org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspe
2017-05-04 09:46:24
2456
转载 如何debug自定义AbstractProcessor
作为一个Android / Java开发人员,你可能会使用自定义注解来做一些代码生成的工作。Java API已经提供了扫描源码并解析注解的框架,你可以继承AbstractProcessor类来提供实现自己的解析注解逻辑。在开发时,你可能对如何调试自己的AbstractProcessor有些一筹莫展。本文将介绍如何使用Android Studio和gradle来调试你自己的AbstractP
2017-03-31 09:17:42
3679
原创 WebView使用注意事项
onReceivedError方法:在方法中进行判断处理,比如说load错误页面mWebView.getSettings().setUseWideViewPort(true); mWebView.getSettings().setLoadWithOverviewMode(true;//html里多宽(一行的文字多长)webview就多宽,就是说要展示满满的一行文字 setLoadWithOver
2017-03-16 11:48:12
3781
转载 Android WebView 上传文件支持全解析
默认情况下情况下,使用Android的WebView是不能够支持上传文件的。而这个,也是在我们的前端工程师告知之后才了解的。因为Android的每个版本WebView的实现有差异,因此需要对不同版本去适配。花了一点时间,参考别人的代码,这个问题已经解决,这里把我踩过的坑分享出来。主要思路是重写WebChromeClient,然后在WebViewActivity中接收选择到的文件Uri,传给页面去上...
2017-03-16 09:24:09
2357
原创 SwipeRefreshLayout的使用注意事项
关于SwipeRefreshLayout的解析:https://github.com/hanks-zyh/SwipeRefreshLayout和WebView结合使用时下拉刷新冲突解决办法:(或者给WebView添加onTouchEventListener然后在Action_Down里根据scrollY做处理)http://stackoverflow.com/questions/24658
2017-03-15 15:20:31
3837
原创 android设置app支持多语言
具体创建文件之类的操作略过说下具体实现过程中遇到的问题正常实现更新 Configuration 中的 locale 属性http://stackoverflow.com/questions/2900023/change-language-programmatically-in-android?rq=1一个小问题:设置了Locale之后app完全退出然后重新打
2017-02-17 16:27:36
3420
原创 About悬浮窗
6.0 的悬浮窗权限6.0权限相关知识:https://blog.coding.net/blog/understanding-marshmallow-runtime-permission注意:以下小米手机系统都是(MUI8,基于6.0.1)!!不同版本的MUI悬浮窗是不一样的进入设置页面设置这个:第一个疑问:设置了这个“允许在其他应用上层展示”之后,悬浮窗权限设
2017-01-10 13:16:00
1413
翻译 当使用Native Libraries时如何减小apk的大小
原文链接:https://realm.io/news/reducing-apk-size-native-libraries/最近我们看到很多开发者对在app中使用Realm对于apk文件的大小影响特别关注。在今天发布的0.79版本的realm中,我们对此作出了重大改进。一个正常的啥都没有且没有使用任何其他类库,运行在ARM架构上的Android app一般最小为907kb(
2016-12-28 16:45:00
1860
原创 关于NavigationView在使用中遇到的一个小问题
在写这个小玩意https://github.com/xturbofan/Kanzhibo的时候遇到了个小问题当未登录情况下是这样的:登录成功后是这样的:退出app之后重新打开是这样的:真是日了狗了。我啥都没动怎么重新进入还不一样呢?附一段关于NavigationView的代码View headerView = mNavigationView.getH
2016-12-28 13:44:35
1113
原创 关于微信聊天界面更换背景
关于SurfaceView竖屏问题: http://stackoverflow.com/questions/7455399/rotating-a-camera-surfaceview-to-portrait (小米4手机测试,camera.setDisplayOrientation(90);可以实现)http://stackoverflow.com/questions/5307264/how-t
2016-11-25 13:45:18
4774
原创 Android studio2.2 app:transformNative_libsWithStripDebugSymbolForDebug
开始搜到的问题相关链接:http://blog.youkuaiyun.com/doumingliangdendsc/article/details/52595317https://www.oschina.net/question/2446605_2197815都提到了是ndk版本和compile sdk的问题,但其实最终原因在这儿http://stackoverflow.com/quest
2016-11-08 12:03:03
6992
原创 android关于限制同一账号在不同设备同时登陆的实现
先说下需求:当用户user1使用账号123456登录app后,用户user2在另一台手机使用同一账号123456登录,这时需要给A发通知给出提示,并强制user1下线。在app不在前台(包括完全退出和按了home键)的时候,不给提示,重新进入app给出提示.那么其实有4种情况:1.user1在app内,直接弹出dialog并强制下线;非常好实现2.user1按了home键
2016-10-19 15:02:01
16946
原创 Android EditText中的hint字体不统一问题
登录界面有帐号和密码两个EditText,当输入时会发现光标和hint文字重合(一点点),取巧办法是在hint文字前面加空格,但是为了保持账号和密码两个EditText的hint对齐,都加了空格,结果出现了这种情况:密码的EditText明显往右偏移了,那就是android:password="true"这个鬼东西出问题喽。哦,其实就是它android:inputType="textPas
2016-10-09 17:18:08
4243
原创 Android提交library到Jcenter
0.准备工作https://bintray.com 注册登录(github登录最好)然后Create Repository,填写信息(Type选择Maven;Name是需要后面用到的,或者就写maven)鼠标移动右上角头像(头像旁边的是username,后面需要,点击your profile,跳转后点击Edit,然后会看到左边一排最后一项api key.)1.新建好的library的b
2016-09-24 16:07:35
2386
原创 使用Universal Image Loader- Image can't be decoded
在displayImage的过程中图片不显示,错误日志为: Image can't be decoded [xxxxxxxxx.jpg_480x210]错误原因及解决办法:图片格式为cymk,uil无法展示,图片格式改为rgb就好。参考:https://github.com/nostra13/Android-Universal-Image-Loader/issues/539
2016-06-22 19:11:13
6313
Sublime Text2 Package Control
2016-09-24
Android简单的天气预报
2015-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人