
android
ITurbo
这个作者很懒,什么都没留下…
展开
-
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 · 557 阅读 · 0 评论 -
一个非常好玩的问题-Dialog弹出失败
前提:DialogManager统一管理所有的弹窗弹出和消失,它是一个单例现象:MainActivity中点击一个按钮,弹出一个弹窗(因为一些奇怪的理由,导致实现的时候这个弹窗并不是用PopupWindow或者Dialog来实现,而是通过activity.window.decorView.addView的来展示的(ps:这导致后面分析的时候出现来一点点方向上的错误)),然后退出app(这时...原创 2019-12-06 10:35:24 · 959 阅读 · 0 评论 -
Android媒体应用(六)--响应媒体按钮
How an app handles events from transport buttons on peripheral hardware.翻译 2017-11-15 14:22:06 · 7282 阅读 · 10 评论 -
WebView使用注意事项
onReceivedError方法:在方法中进行判断处理,比如说load错误页面mWebView.getSettings().setUseWideViewPort(true); mWebView.getSettings().setLoadWithOverviewMode(true;//html里多宽(一行的文字多长)webview就多宽,就是说要展示满满的一行文字 setLoadWithOver原创 2017-03-16 11:48:12 · 3784 阅读 · 0 评论 -
腾讯广点通开屏广告错误码
安卓 开屏广告 错误码 100135原创 2017-08-09 09:55:47 · 16762 阅读 · 4 评论 -
ButterKnife源码梳理
写代码的时候,总会要不厌其烦的写findViewById,butterknife这个框架的作用就是利用注解来简化view查找过程。 先了解下注解的几个关键词: Target:限定使用范围 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述域 3.LOCAL_VARIABLE:用于描述局部变量 4.METHOD:用于描述方法 5.原创 2017-05-04 09:58:00 · 994 阅读 · 0 评论 -
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 · 2462 阅读 · 0 评论 -
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 · 1984 阅读 · 0 评论 -
Android WebView 上传文件支持全解析
默认情况下情况下,使用Android的WebView是不能够支持上传文件的。而这个,也是在我们的前端工程师告知之后才了解的。因为Android的每个版本WebView的实现有差异,因此需要对不同版本去适配。花了一点时间,参考别人的代码,这个问题已经解决,这里把我踩过的坑分享出来。主要思路是重写WebChromeClient,然后在WebViewActivity中接收选择到的文件Uri,传给页面去上...转载 2017-03-16 09:24:09 · 2361 阅读 · 0 评论 -
ListView的Item中包含RadioButton的使用
ListView的Item中包含RadioButton的使用原创 2016-01-06 15:12:54 · 5023 阅读 · 0 评论 -
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 · 3839 阅读 · 0 评论 -
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 · 2389 阅读 · 0 评论 -
android设置app支持多语言
具体创建文件之类的操作略过说下具体实现过程中遇到的问题正常实现更新 Configuration 中的 locale 属性http://stackoverflow.com/questions/2900023/change-language-programmatically-in-android?rq=1一个小问题:设置了Locale之后app完全退出然后重新打原创 2017-02-17 16:27:36 · 3425 阅读 · 0 评论 -
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 · 3529 阅读 · 3 评论 -
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 · 1466 阅读 · 0 评论 -
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 · 730 阅读 · 0 评论 -
android多状态布局
app中请求服务器数据后进行绘制页面时会有多种状态,比如网络请求过程中loading状态,加载出错状态,获取数据发现数据为空状态,加载过程中网络异常页面和正常加载完毕的数据展示页面。一般的做法是将多个状态封装成自定义View,然后在每一个页面的布局文件中引入,在加载数据时展示不同的状态。可以有另一种方案,通过代码编写View的方式,将自定义View添加到页面中,这样可以避免了在每一个布局中...原创 2018-09-20 23:27:28 · 1420 阅读 · 0 评论 -
Dagger2关于Scope的理解
看简书的两篇文章的时候关于Dagger2中的@Singleton的理解和Android:dagger2让你爱不释手-重点概念讲解、融合篇,里面讲解了关于Scope的作用和SingleTon为什么能实现单例。在上一篇文章中也有讲Scope的作用。这里再说一下,Scope是用于组织Component。在Dagger2中, Scope机制关注的是保持单例和Scope存在周期一致。 实际上,它意味着@Ap...原创 2018-04-21 15:09:32 · 1227 阅读 · 0 评论 -
Android中Dagger2的使用
Dagger2是一个在Java和android中使用的完全静态的编译时依赖注入框架。它改编了由Square创建的早期版本,现在由Google维护。dagger2的优点 首先说下dagger2的优点,为什么用dagger2(额,也可以说我看着大神用所以我也用吧,哈哈),掘金上的这篇文章是个很好的引入的例子,总结下来大概有三点:1.增加开发效率、省去重复的简单体力劳动 首先new一个实例的...原创 2018-04-19 10:02:48 · 1610 阅读 · 0 评论 -
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 · 2433 阅读 · 0 评论 -
关于播放器锁屏图片不显示问题
正常通知栏是没有问题的,但是锁屏后图片无法展示,暂停和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 · 1186 阅读 · 0 评论 -
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 · 286 阅读 · 0 评论 -
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 · 3805 阅读 · 2 评论 -
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 · 2495 阅读 · 0 评论 -
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 · 1579 阅读 · 0 评论 -
Android媒体应用(一)
媒体应用本节介绍如何将媒体播放器应用程序分离到媒体控制器(用于UI)和媒体会话(对于实际播放器)。它描述了两种媒体应用程序架构:一种客户端/服务器设计适用于音频应用程序和单一活动设计的视频播放器。它还显示了如何使媒体应用程序响应硬件控制,并与使用音频输出流的应用程序协作。媒体应用程序概述介绍媒体会议和媒体控制器以及如何在音频和视频应用中使用它们。使用媒体会话媒体会话隐藏翻译 2017-09-20 10:05:57 · 4881 阅读 · 0 评论 -
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 · 1422 阅读 · 0 评论 -
当使用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 · 1865 阅读 · 0 评论 -
关于NavigationView在使用中遇到的一个小问题
在写这个小玩意https://github.com/xturbofan/Kanzhibo的时候遇到了个小问题当未登录情况下是这样的:登录成功后是这样的:退出app之后重新打开是这样的:真是日了狗了。我啥都没动怎么重新进入还不一样呢?附一段关于NavigationView的代码View headerView = mNavigationView.getH原创 2016-12-28 13:44:35 · 1117 阅读 · 0 评论 -
FragmentPagerAdapter的理解
FragmentPagerAdapter管理Fragment原创 2015-10-28 11:04:28 · 2499 阅读 · 0 评论 -
Android activity和fragment异步传输数据的问题
需求:AActivity中包含部分View,还包含一个ViewPager,ViewPager包含3个fragment。Fragment中的内容是根据Activity请求服务器拿到的数据来填充的。碰到的问题:在getData()(ps:Activity请求服务器获取数据的方法)中创建Fragment并给ViewPager设置适配器。问题来了,问题1:设置适配器的过程中,会调用适配器的fini原创 2015-09-21 11:35:09 · 5576 阅读 · 0 评论 -
Multiple dex files define Lcom/ta/utdid2/android/utils/UTDID
如果你看到这篇博客,应该也是和我有着类似的问题的了,就是项目引用的JAR包有重复的地方,报错也说的很清楚嘛:Multiple dex files define……下面说说我项目中的问题缘由:1.集成了Umeng的消息推送的jar包(:集成友盟微社区或者其他sdk的时候有可能会导入com.umeng.message.lib_v2.5.0.jar,一定要注意这个jar包)2.集成支付宝的转载 2015-11-04 16:05:16 · 3682 阅读 · 0 评论 -
android:button = @null in radiobutton
radiobutton的圆点去掉使用button=@null,但是去掉后小圆点仍然占据位置(在部分手机上重现)。布局文件: <RadioGroup android:layout_width="match_parent" android:layout_height="40dp" android:b原创 2015-10-16 11:56:04 · 5719 阅读 · 1 评论 -
Android事件传递机制
文章写的太好,不得不转!原文:http://www.infoq.com/cn/articles/android-event-delivery-mechanism/实验环境OS X 10.9Eclipse(ADT)Android源码版本:API Level 19(Android 4.4)Android事件构成在Android中,事件主要包括点按转载 2015-06-13 00:24:03 · 4321 阅读 · 0 评论 -
第三方库SlidingMenu的使用
SlidingMenu使用及注意问题原创 2015-06-10 00:12:57 · 4782 阅读 · 1 评论 -
Android自定义Cursor遇到的一个小问题
Android应用很多情况下存储大量数据都会用SQliter,使用sqlliter不免要和cursor打交道,灵活使用cursor会省很多事。如将自己的数据组合在一个虚拟的表中(数据集合),通过Provider以cursor形式返回给用户,还可以规定cursor每取一次返回多少记录,以减少UI数据量大的负载压力。(如果只是封装下数据以cursor方式返回,MetrixCursor可以完成此需求,其原创 2015-05-07 00:14:26 · 4097 阅读 · 0 评论 -
Android Support兼容包详解
来自于知乎上邀请回答的一个问题Android中AppCompat和Holo的一个问题?, 看来很多人还是对这些兼容包搞不清楚,那么干脆写篇博客吧.Support Library 我们都知道Android一些SDK比较分裂,为此google官方提供了Android Support Library package 系列的包来保证高版本sdk开发的向下兼容性, 所以你可能经常看到v4,v转载 2015-05-14 21:29:14 · 3506 阅读 · 0 评论 -
Android icon vs logo
Android 配置文件中有icon和logo两个属性和 Android ActionBar的使用原创 2015-05-11 23:58:38 · 3343 阅读 · 0 评论 -
Android UI-ListView底部其他控件显示的小例子
布局文件中放入ListView之后,在底部加其他控件正常情况会不显示,试出来个小例子,记录一下。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_原创 2015-05-11 09:30:03 · 2839 阅读 · 0 评论 -
Android跑马灯的实现及问题总结
所谓跑马灯效果就是当文字超过控件所能容纳的空间时,在控件内滚动的效果。显示跑马灯效果的前提条件就是你的文本内容要比显示文本的外部组件长,即外部组件无法完整的显示内部的文本内容。TextView设置以下属性来实现跑马灯效果:android:singleLine="true"android:ellipsize="marquee"android:focusableInTouchM原创 2015-04-23 20:12:35 · 5190 阅读 · 1 评论