- 博客(118)
- 收藏
- 关注
转载 Android RxJava zip 操作符
不说话,直接举例// zip 2 observablesObservable.zip(Observable.just(0), Observable.just(0), BiFunction {t1: Int, t2: Int -> (t1 + t2)})// zip 3 observablesObservable.zip(Observable.just(0), Obser...
2019-04-29 22:02:00
530
转载 Android 使用 NYTimes Stores 缓存 network request
NYTimes Stores 是一个缓存库,在 2017年的 AndroidMakers 大会上被介绍过。https://github.com/NYTimes/Store实现一个 Disk Cache 需要以下几个步骤:在 Retrofit 的 API 下@GET("/v1/events")Single getEventsResponseBody();两点需要注意,一是要...
2018-07-03 23:26:00
276
转载 Android Parcelable using Kotlin
Kotlin 有 extension 可以很方便的让类继承 Parcelable 接口。项目中引入一个较新版本的 Kotlin引入 Kotlin extensionsclasspath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"加入这一段设置androidExtensions {expe...
2018-06-14 16:12:00
286
转载 Android Dagger 2 无法自动生成 Dagger Component
给项目升级 gradle(3.0)和 build(27)后发现 Dagger 2 无法自动生成 Dagger Component 类了。原因竟是我把 :kapt 'com.google.dagger:dagger-compiler:2.13'换成了annotationProcessor 'com.google.dagger:dagger-compiler:2.13'看来 Kot...
2018-03-20 22:59:00
1091
转载 Android RecycleView 的优化
减少条目的 View 的层级。层级越少效率越高,尤其避免使用 weight。用 ConstraintLayout 可以最大程度减少层级。使用 ViewStub。如果某个 view 可能不需要被加载,可以使用 ViewStub 来实现按需加载。开启 Déboguer les conflits GPU / Debug GPU Overdraw,查看各个 View 是否有过度绘制问题。如...
2018-01-31 00:56:00
278
转载 Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满...
Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满屏幕,因为这两个属性互相冲突以致 RelativeLayout 无法确定自己的尺寸。逻辑性自己想想就明白了。解决办法是换用 FrameLayout,然后 child view 使用an...
2017-11-22 00:48:00
910
转载 Android .9 图片
最初对 .9 图片不是十分理解,一些教程让人摸不到头脑。最近重新研究终于明白了它的原理。其实最重要的一点记住就可以了,就是 .9 图片的四条黑边的意义,每条黑边的意义都不一样:顶部:在水平拉伸的时候,保持其他位置不动,只在这个点的区域做无限的延伸(拷贝)左边:在竖直拉伸的时候,保持其他位置不动,只在这个点的区域做无限的延伸(拷贝)底部:在水平拉伸的时候,保...
2017-10-17 16:56:00
98
转载 Android sharedUserId 和系统权限
sharedUserId给不同的应用使用同一个 sharedUserId 可以运行在这几个应用间互相访问数据(数据库,SharedPreferences,文件)。sharedUserId 一旦使用后,不可以再更改。使用限制:两个应用ShareUserId相同,包名相同或不同,打包时签名文件必须相同否则,在如下情况下,第二个安装包在安装时会失败,错误为[INSTALL_FA...
2017-08-10 16:35:00
500
转载 Android Dagger 2
Dagger 2 依赖注入1. 基本概念最重要有四个概念,也是四个注解(annotation),Provide,Inject,Module,Component。Provide 是提供者,创建实例。@Providesstatic NetworkApi provideNetworkApi(){ return new NetworkApi();}...
2017-08-08 18:33:00
105
转载 Android Kotlin 文章集合
1. lateinit vs lazy转载于:https://www.cnblogs.com/davesuen/p/7235344.html
2017-07-25 17:22:00
95
转载 Android UI/UX 工具
Zeplin 用于界面图片自动导出。 图标 : https://material.io/icons/转载于:https://www.cnblogs.com/davesuen/p/7150992.html
2017-07-11 15:56:00
306
转载 Android Locale
Locale 是用来适配语言和地区的。在实际使用过程中,如果使用不当还是会出现错误。首先,需要了解的是,Locale 分两种,一种是语言,一种是地区。语言比如英语,地区比如美国。区别显而易见,说英语的不止英国,而美国地区语言为英语。所以使用地区还是语言要根据实际需求进行选择。严格来说,如果针对每个地区进行适配,应该使用地区 Locale。这样适配起来才最准确。Locale 的创建...
2017-05-24 22:14:00
726
转载 Android 流媒体播放 live streaming
安卓支持的协议RTSP (RTP, SDP)HTTP/HTTPS progressive streamingDynamic adaptive streaming on HTTP => MPEG DASHHTTP/HTTPS live streaming => VLS (m3u, m3u8)不支持的协议RTMP (Real Time Messaging Proto...
2017-05-18 21:48:00
563
转载 Android 获取设备dpi
http://dpi.lv/转载于:https://www.cnblogs.com/davesuen/p/6675837.html
2017-04-06 22:44:00
1856
转载 Android Google Analytics
基础知识:一个统计条目包含两类,一种是 screen,另一种是 event。Screen 包括 screen name。Event 包括 category,action,label 和 value 四个信息。其中 value 只能是数值。项目中integrate了GA,碰到过一些问题:1.Too many hits sent too quickly, ...
2017-03-27 22:48:00
369
转载 Android 为库(library)创建不同编译环境
项目中需要导入库,一般有两种情况,一种是直接路径导入,一种是导入库的 aar 文件。1. 设置库项目1. 在库项目的 src 目录下设置 debug 目录,里面可以添加代码或者 res 文件夹。2. 库项目在默认情况下只按照 release 编译。所以需要在 build.gradle 下添加android { // Enable debug build ...
2016-10-18 17:28:00
192
转载 Android 导入 aar 库文件
1. 在需要导入 aar 的 module 目录下创建一个名叫 "aars" 的目录,并把 aar 文件复制到这里。2. 在项目的 build.gradle 文件里添加allprojects { repositories { jcenter() flatDir { dirs 'aars' ...
2016-10-05 07:36:00
338
转载 Android 创建自定义 View 的属性 (attrs) 时需要注意的问题
自定义 View 的属性并不难,可以参照官方的文档https://developer.android.com/training/custom-views/create-view.html但是需要注意一个问题,否则可能浪费很多时间。<resources> <declare-styleable name="AppsControllerBloc...
2016-09-16 22:06:00
357
转载 Android Source 源码已下载但 Android Studio 找不到的解决办法
Android Studio 2.1 reporting in: solved the issue by resetting SDK.Preferences -> Appearance & Behavior -> System Settings -> Android SDK.Click onEditto the right of Android SD...
2016-09-06 15:27:00
393
转载 Kotlin 基本语法
常量 val a: Int = 5变量 var a: Int = 5Any:匹配任何类型?:nullable,比如 a?.toString,如果 a 为 null 不会出错。函数基本结构fun copyAddress(address: Address): Address { val result = Address() // there's no 'new'...
2016-08-02 17:00:00
79
转载 RxJava / RxAndroid
RxJava 是什么RxJava 是函数响应式编程框架,它用观察者设计模式。常用来做异步数据处理,在安卓中用来代替传统的 AsyncTask + Handler 的组合结构。RxJava 架构简洁,扩展性强。基本原理RxJava 框架中包含两个角色,观察者 (Observer) 和被观察者 (Observable)。实际应用中我们常用订阅者 (Subscribe...
2016-07-21 20:38:00
170
转载 Git 常用知识
git 常用命令创建并checkout分支: git checkout -b branch_namegit merge 与 git rebase 的区别git rebase 合并后将形成一条直线的 commit 而 git merge 将形成一个有很多分支的树。rebase 后的结构更简洁。产生冲突后,merge 将不能合并,必须手动解决冲突然后重新合并。而 reb...
2016-07-12 15:29:00
103
转载 Android : M 与 N 的权限管理
从 M 开始,permission 分为Normal permissionRuntime permissionNormal permission 直接在 manifest 里声明就可以用了。android.permission.ACCESS_LOCATION_EXTRA_COMMANDSandroid.permission.ACCESS_NETWORK...
2016-06-23 23:52:00
109
转载 Android 与 iOS 推送 Push Notification 的区别
Android安卓使用 GCM (Google Cloud Messaging) 接收推送,然后应用根据实际情况决定做什么反应,比如显示一个 Notification。所以安卓下,推送 Push 和 消息 Notification 是独立的。当用户紧致消息通知权限的时候,用户无法收到 Notification,但 GCM 消息仍然可以收到。安卓的 Notification 是...
2016-05-18 18:04:00
458
转载 Android : 按 Back 按钮不返回处于后台的 Activity
在一个项目中,我有一种情况下启动一个新 Activity 后,按 Back 按钮时不想返回到后台的 Activity。具体方法是,在启动新的 Activity 的时候: Intent intent = new Intent(this, AuthenticationActivity.class); intent.setFlags(Intent...
2016-05-18 17:46:00
204
转载 Java : java.util.ConcurrentModificationException
在删除 List 元素的时候,要用 Iterator,不要直接遍历 List,否则会出现Fatal Exception: java.util.ConcurrentModificationException。错误 ❌for (String str : myArrayList) { if (someCondition) { my...
2016-05-18 17:22:00
89
转载 Android 色差(尤其白色)的解决办法
Android 中有时出现色差,我碰到的情况是 Galaxy ACE4 中的白色和系统白色不同,所以显示时候颜色不同,很难看。我发现的问题是 Color.white, android.R.color.white, R.color.white 是不同的,具体区别和联系还待测试。解决方案 :在代码中,把出现色差出的view的背景颜色设为 android.R.color.wh...
2016-05-13 22:38:00
788
转载 Android ScrollView 去掉 scrollbar 和 阴影
1. 在 layout 里:android:scrollbars="none"android:overScrollMode="never"2. 代码里/* remove scroll bar */view.setVerticalScrollBarEnabled(false);view.setHorizontalScrollBarEnabled(fals...
2016-03-23 23:23:00
263
转载 Android 载入 HTML
Android 中载入 HTML 有两种方式:1. 用 TextView.setText(Html.fromHtml("<html></html>")); 优点:载入速度快 缺点:不支持所有 html 标签,支持的有:<a href="..."><b><big><blockquote&g...
2016-03-17 00:01:00
153
转载 Android 透明状态栏
在 android 4 系统中可以设置透明状态栏。但在 android 5.0 以上遇到问题。但问题是可以解决的,需要正确的设置 theme。但是需要注意一点,5以上可以修改 status bar 的背景颜色,但不能有和 4.4 一样的半透明渐变效果。所以透明的状态栏下,如果整个页面是白色的,状态栏的图标将不可见。Theme : <style nam...
2016-03-11 19:53:00
75
转载 Robolectric 单元测试中使用 Ressource
单元测试类中: @RunWith(RobolectricGradleTestRunner.class) @Config(constants=BuildConfig.class, sdk = 21) 获取 context: RuntimeEnvironment.applicationbuild.gradle 中:若使用 multidextestCompile 'org.robo...
2016-02-03 22:20:00
145
转载 日期的格式,你用得对吗?
在 iOS 开发中,我碰到了奇怪的问题。[dateFormatter stringFromDate:aDate];dateFormatter 是一个 NSDateFormatter 对象。aDate 是一个 NSDate 对象,它的值为 2015-12-30 00:00。这段代码是把这个 NSDate 转化为 NSString。我获得的结果是让人吃惊的:...
2015-12-24 01:06:00
129
转载 iOS Objective-C 中 bool 与 BOOL 的你不一定知道的事
测试一下这段代码:- (void)test { NSLog(@"this is an attribut: %d", anAttribute); for (int i = 0; i < 5; i++) { BOOL isTest1; if (isTest1 == NO) { NSLog(@"%d...
2015-12-18 16:52:00
136
转载 iOS 获取 UITabViewController 和 UINavigationController 的图标位置
这些图标是放在 UITabBar 和 UINavigationBar 里的。所以只要遍历它们的 subViews,找到类型是 UIButton 的就可以了。所有想获取它们的相对位置很容易。获取到相对位置之后,根据容器位置进行调整就可以了。所以 UITabBar 里图标的位置:CGPoint center = CGPointMake(centerInTab.x ...
2015-12-09 17:11:00
173
转载 iOS 添加 Watch OS 1 应用后无法运行 An error was encountered while running (Domain = LaunchServicesError, Code...
在 iOS 应用基础上我添加了一个 Watch OS 2 应用,运行良好。又加了一个 Watch OS 1 应用,然后就所有 Target 都不能运行了。运行时说An error was encountered while running (Domain = LaunchServicesError, Code = 0)原因 :在 iOS 应用 Target ->...
2015-12-05 00:51:00
158
转载 iOS Apple Watch 开发
1. Watch OS 1 与 Watch OS 2 的区别 :OS 1 中界面运行在手表上,而代码(Extension)运行在手机端;OS 2 是纯正的手表原生(Native)应用由于架构的改变,原来的一些手表与手机的交互方式发生改变。比如 openParentApplication 被 WatchConnectivity类所替代。用 app groups 来共享 NSU...
2015-12-02 17:21:00
203
转载 iOS NSMutableArray "removeObjectIdenticalTo" vs "removeObject"
NSMutableArray 有多种可以删除元素的方法。其中 removeObject,removeObjectIdenticalTo 这两个方法是有区别的。[anArray removeObjectIdenticalTo:anObject];removeObject:anObject 删除所有与 anObject “isEquals” 的元素。remove...
2015-11-19 20:08:00
196
转载 iOS View 外层奇怪的黑线
最近碰到一个问题,当时是为了建了一个能自动适应内容的 Label。根据内容,我计算出需要的尺寸,然后把新尺寸设置给 Label。但是显示的时候,一个奇怪的现象出现了,Label 的顶端总是有一条浅浅的黑线。它并不明显,有点像加了一个 border。原因我费了很大劲才找到,原因其实很简单: -经过计算后获取的尺寸是一个有好几位小数的浮点数,UIView 似乎对如此精度的尺寸不适...
2015-11-17 21:08:00
151
转载 iOS 推送
Apple Push Notification Service(APNs)*********************************************Notification 是一个由 APNs 发来的消息,它包括两个部分:device token 和 payload。device token 是一个识别码,由 APNs 给出。device token 在一台设备上...
2015-11-11 02:04:00
97
转载 Android / iOS 招聘
1. 面试题https://github.com/ChenYilong/iOSInterviewQuestions2. 一些不错的ideaCDI - Développeur iOS/Android – Pureplayer dans la petite annonceCher développeur Mobile, tu es un grand pass...
2015-11-05 00:32:00
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人