
Android
XKCK
每天进步一点点
展开
-
Retrofit+RxJava
更改 Retrofit解析网页Json数据简单实例,将Retrofit中的回调方式改为RxJava方式dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:原创 2016-07-21 23:37:38 · 860 阅读 · 0 评论 -
Bitmap
译文:https://developer.android.com/training/displaying-bitmaps/index.htmlLearn how to use common techniques to process and load Bitmap objects in a way that keeps your user interface (UI) components resp翻译 2016-06-22 21:05:04 · 369 阅读 · 0 评论 -
更有效的加载较大的Bitmap
译文出自谷歌安卓官方:https://developer.android.com/training/displaying-bitmaps/load-bitmap.html#read-bitmap 图片在大小与形状上各种各样。在许多情况下,它们比应用程序中的UI所需要的尺寸都大。例如,手机自带的相册会为我们展示 相机所拍摄的图片,但这些图片比设备屏幕分辨率高的多。考虑应用程序内存的限制,理想情况下翻译 2016-06-24 10:51:09 · 426 阅读 · 0 评论 -
在非UI线程中处理Bitmap
译文出自:https://developer.android.com/training/displaying-bitmaps/process-bitmap.html#concurrency BitmapFactory.decode*方法不能在UI线程中执行。因为加载这些图片所花费的时间是不可预知的,取决于各种各样的因素(从磁盘或网络上的加载速度,图片的大小,CPU的性能等等)。如果图片加载任务阻翻译 2016-06-24 14:53:04 · 1510 阅读 · 0 评论 -
Bitmap Cache
缓存位图使用内存缓存Use a Memory Cache使用磁盘缓存Use a Disk Cache处理配置发生改变的情况Handle Configuration Changes缓存位图 加载一个简单的位图到UI中比较快,但是如果加载一些大的位图的话,则会变得很复杂。在许多情况下(ListView,GridView,ViewPager),屏幕上的图片与即将滚动到屏幕上的图片个数一般是无限制翻译 2016-06-27 11:11:40 · 707 阅读 · 0 评论 -
Google推荐的图片加载库Glide介绍
在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。它的成功让我非常感兴趣。我花了一整晚的时间把玩,决定分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,准确的说,就是Picasso的克隆版本。但是在细节上还是有转载 2016-06-06 11:11:26 · 352 阅读 · 0 评论 -
Android:图片加载库Glide VS Picasso
两个库拥有许多特性,以下列入部分特性比较 Picasso (CircleTransform.Java)import android.graphics.Bitmap; import com.squareup.picasso.Transformation; public class CircleTransform implements Transformation { @Over翻译 2016-06-06 10:45:41 · 709 阅读 · 0 评论 -
Android开源框架——图片加载库Glide
Glide是有google开发的图片加载库,支持图片加载与处理,包括动态图片的加载,以及视频的解码。开源地址:https://github.com/bumptech/glidebuild.gradlecompile 'com.github.bumptech.glide:glide:3.7.0'compile 'com.android.support:support-v4:19.1.0'Glide库原创 2016-06-06 09:25:03 · 755 阅读 · 0 评论 -
Android开源框架——内存泄漏检测工具 LeakCanary
开源地址:https://github.com/square/leakcanary FAQ : https://github.com/square/leakcanary/wiki/FAQ 配置 build.gradledependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'原创 2016-06-05 21:13:57 · 3532 阅读 · 1 评论 -
Android自定义Application的作用
1.保存在程序运行中的全局变量public class GlobalApp extends Application{ private UserData udata ; public UserData getudata(){ return udata; } public void setudata(UserData d转载 2016-06-05 21:25:29 · 1205 阅读 · 0 评论 -
Android开源框架——图片加载与缓存库 Picasso
介绍Picasso是由Square开发的一款图片库,具有强大的下载与缓存功能,可以对图片进行处理。它简化了来自外部图片的处理过程,尤其是远程图片。 开源地址:https://github.com/square/picasso安装build.gradlecompile 'com.squareup.picasso:picasso:2.5.2'简单处理图片缩放Picasso.with(this) .l原创 2016-06-05 16:59:58 · 743 阅读 · 0 评论 -
Dagger简单Demo
Dagger实现依赖注入,为了解决程序直接的耦合度。 本例子主要为了实现简单的依赖注入配置: Project级别的build.gradle// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories原创 2016-06-11 13:47:47 · 1458 阅读 · 0 评论 -
Android N新特性
Android N新特性 Jit编译器,安装更快,apk占用空间更小Vulkan渲染引擎(用于游戏开发)Doze模式更加智能通知栏(同类通知合并、快捷回复)分屏模式及快捷切换无缝更新原创 2016-06-26 17:15:00 · 403 阅读 · 0 评论 -
Android开源框架——网络解析GSON
GSON读取JSON格式数据原创 2016-04-20 11:04:55 · 746 阅读 · 0 评论 -
RxJava学习资源整合
中国 RxJava 教父级人物,著名全栈 大头鬼Bruce优快云 博客:大头鬼Bruce Blog Pages:Bruce Lee’s Blog GitHub 主页:lzyzsd (Bruce Lee) · GitHub Awesome-RxJava:lzyzsd/Awesome-RxJava · GitHub著名的开源库 MaterialEditText 作者,还是著名的 codeKK 上转载 2016-06-05 14:16:07 · 799 阅读 · 0 评论 -
Android开源框架——事件总线otto
开源官网:https://github.com/square/ottootto 框架就是事件分发总线.1.0 为什么要使用事件分发总线?事件分发总线可以降低多个类之间的耦合度的。 在 android 中 Fragment 对 Activity 的通信方式的 Interface 的方式,Activity 和 Activity 的值的回调是用 startActivityForResult()的方法.F转载 2016-06-04 19:16:52 · 1229 阅读 · 0 评论 -
Android开源框架——事件总线 EventBus3.0讲解
开源项目地址官网:https://github.com/greenrobot/EventBus 介绍 EventBus主要使用了观察者模式设计方案。主要替代Intent、Handler、 BroadCast在Activity、Fragment、Service,多线程中传输数据.官方图 因为是观察者模式,所以具备三要素: Event : 事件 Publisher : 事原创 2016-06-01 20:57:27 · 633 阅读 · 0 评论 -
二维码的扫描与制作
参考慕课网主要使用到谷歌官方支持的zxing开源包 zxing开源地址:https://github.com/zxing/zxing但是由于里面不需要的东西太多,很多开发者对其在安卓方面的api进行了抽取,这里我使用了徐宜生所抽取的开源包 徐宜生: https://github.com//xuyisheng/ZXingLib 效果图 工程目录结构 布局<?xml version="原创 2016-06-25 13:11:33 · 1085 阅读 · 0 评论 -
Android Gradle查询器
Android 开发小技巧Gradle please Gradle please是一个在线工具,它能帮助你找到Gradle依赖库添加到build.gradle中。原创 2016-05-26 19:48:21 · 532 阅读 · 0 评论 -
Dagger2浅析
Dagger2是由google与square公司联合开发的一款依赖注入库。 注解符号@Inject 标注需要注入的对象@Module 提供依赖注入的对象@Provides 在Module中,负责提供注入对象的方法@Component 负责将依赖注入对象提供给目标对象中,充当了桥梁的作用。 附加的注解Scope 十分重要,标注了对象实例的范围Qualifier 限定符,为原创 2016-06-12 15:20:26 · 675 阅读 · 0 评论 -
下载Google Play中的APK
Google Play中APK的地址 eg:https://play.google.com/store/apps/details?id=com.slidingmenu.example&rdid=com.slidingmenu.example https://apk-dl.com/https://apkpure.com/原创 2016-06-14 20:11:39 · 2374 阅读 · 0 评论 -
Retrofit解析网页Json数据简单实例
简单使用了Butterknife+Retrofit库配置 Project级的build.gradleclasspath 'com.neenbedankt.gradle.plugins:android-apt:1.8'App级的build.gradleapply plugin: 'com.android.application'apply plugin:'android-apt'android {原创 2016-07-21 22:35:52 · 2333 阅读 · 0 评论 -
RxJava实现事件总线——RxBus
事件总线的好处在于方便组件之间的交互,RxBus不是一个库,而是使用RxJava实现事件总线的一种思想。首先介绍一下RxJava与事件总线的不同之处。RxJava使用的是Observable-Observer模式事件总线使用的是Publisher-Subscriber模式 两者都是使用观察者模式,但存在一点区别,Publisher-Subscriber模式的发布者(Publisher,Obse原创 2016-07-20 15:34:43 · 2976 阅读 · 0 评论 -
自己使用的Android框架
不知不觉学习Android过了4个月了,觉得自己得设定固定的方案,而不是盲目的使用各种各样的框架,后期个人开发Android的时候,会按照以下方案来开发近方案一MVC图片库:Glide 网络库:Okhttp+Retrofit 网络解析:GSON 事件总线:otto 依赖注入:ButterKnife+Dagger2+Android Annotations 响应式编程:RxJava 数据库:原创 2016-07-09 13:02:36 · 473 阅读 · 0 评论 -
Android基础——数据持久化存储
数据持久化存储文件存储数据保存数据读取键值对存储数据保存数据读取数据库存储数据库创建增加数据更新数据删除数据查询数据使用事物升级数据库内容来自于第一行代码中数据持久化存储这一章数据持久化存储文件存储数据保存 Context.openFileOutput( )方法 用于文件输出 第一个参数:文件名 默认保存到 /data/data/原创 2016-07-08 20:40:50 · 626 阅读 · 0 评论 -
网易云音乐Android版使用的开源组件
转自:http://www.jianshu.com/p/f31ab96a32f3网易云音乐Android版从第一版使用到现在,全新的 Material Design 界面,更加清新、简洁。同样也是音乐播放器开发者,我们确实需要思考,相同的功能,会如何选择。感谢开源,让我们有更多的时间和精力专注在自己产品的设计以及开发业务上。网易云音乐Android版在开发过程中使用了下列第三方开源类库、组件。 (转载 2016-07-08 19:55:29 · 1469 阅读 · 0 评论 -
ButterKnife与RxBinding中文件重复问题解决
ButterKnife与RxBinding中文件重复问题解决问题出现在于两个包中的文件冲突buildscript { repositories { mavenCentral() } dependencies { classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' }}apply plugin: 'a原创 2016-07-19 08:39:28 · 2290 阅读 · 0 评论 -
Android Screen Monitor抓取模拟器与真机界面
ASM(Android Screen Monitor)下载地址: https://code.google.com/archive/p/android-screen-monitor/获取ASM.jar放入platform-tools文件夹下 (因为asm依赖于adb,它不断从adb捕捉到的图像显示到windows中) 2.启动asm.jar 3.显示模拟器或真机图片 4.缩放显示的图片(原创 2016-07-07 08:45:36 · 1398 阅读 · 0 评论 -
基于Android Studio的内存泄漏检测与解决全攻略
自从Google在2013年发布了Android Studio后,Android Studio凭借着自己良好的内存优化,酷炫的UI主题,强大的自动补全提示以及Gradle的编译支持正逐步取代Eclipse,成为主流的Android开发IDE。Android Studio在为我们提供了良好的编码体验的同时,也提供了许多对App性能分析的工具,让开发者可以更方便分析App性能。Google在IO大会上一转载 2016-06-20 20:00:08 · 760 阅读 · 0 评论 -
解决webview.loadUrl()会加载系统浏览器
转载自:http://blog.youkuaiyun.com/lieri111/article/details/8213069第一种解决方法(使用匿名内部类)webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient(){ @Override转载 2016-07-27 11:07:14 · 2338 阅读 · 0 评论 -
Java回调
回调,java,android原创 2016-07-15 22:41:26 · 518 阅读 · 0 评论 -
Android 通用流行框架大全
转自:http://www.androidchina.net/4920.html 框架图详细缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco 一个用转载 2016-06-03 14:30:19 · 520 阅读 · 0 评论 -
Android Annotations配置与使用
Android Annotations官网地址:http://androidannotations.orgAndroid Studio配置Project级build.gradlebuildscript { repositories { jcenter() } dependencies { classpath 'com.android.tool原创 2016-07-06 10:13:25 · 795 阅读 · 0 评论 -
Android短信验证
短信验证借助了mob.com(移动开发者服务平台),该服务平台提供了以下功能模块(需要自己注册账号)ShareSDK:让App快速拥有强大的分享功能,提供全面的社会化数据统计。短信验证码:可轻松实现短信验证功能,最稳定的短信下发,覆盖全球。ShareREC:最完美手游录像解决方案,录像、分享、社区、推广、统计,五大功能。MobApi : 全国天气预报、邮编查询、菜谱大全、手机号码归属地等A原创 2016-07-06 09:47:43 · 521 阅读 · 0 评论 -
利用RxJava加载图片
RxJava: https://github.com/ReactiveX/RxJava主要使用RxJava完成图片的加载与显示,图片加载部分在IO线程中,图片显示部分在主线程即UI线程中进行。注意:RxAndroid库最低要求minSDKVersion为9添加依赖库compile 'io.reactivex:rxjava:1.0.14'compile 'io.reactivex:rxandroi原创 2016-07-16 14:06:12 · 3440 阅读 · 0 评论 -
在非UI线程中显示Toast
Toast的显示依赖于当前线程中的Handler,而Handler的创建必须有Looper,在UI线程中,系统自动为我们创建了Looper对象。因而在子线程中,我们必须手动的去创建Looper对象。子线程中创建Looper: Looper.prepare( ); 创建LooperLooper.loop( ); 实现消息循环package com.android.toastdemo;imp原创 2016-07-05 12:06:36 · 1534 阅读 · 0 评论 -
Expected BEGIN_OBJECT but was BEGIN_ARRARY at line 1 column 2 path$异常解决方法
[{"id":1,"name":"移动开发","alias":"mobile"},{"id":14,"name":"Web前端","alias":"web"},{"id":15,"name":"架构设计","alias":"enterprise"},{"id":16,"name":"编程语言","alias":"code"},{"id":17,"name":"互联网","alias":"www"},原创 2016-07-25 15:59:26 · 8988 阅读 · 1 评论 -
Failed resolution of: Landroid/support/v7/internal/widget/TintManager;异常解决方法
编译以下包的时候compile 'com.android.support:appcompat-v7:23.4.0'compile 'com.android.support:support-v4:23.0.0'compile 'com.android.support:design:23.0.0'会报出Failed resolution of: Landroid/support/v7/interna原创 2016-07-25 16:10:06 · 2669 阅读 · 1 评论 -
Android跨进程通信二——AIDL
内容来自:https://developer.android.com/guide/components/aidl.html AIDL全称Android Interface Definition Language即安卓接口定义语言。主要用于多进程通信。比Messenger,它具有支持多线程优势注意事项:为了线程安全考虑,服务端可以使用多线程处理到来的请求客户端发送给服务端的请求如果需要好几毫翻译 2016-06-02 14:13:58 · 497 阅读 · 0 评论 -
Android socket 编程 实现消息推送(二)
转自:http://blog.youkuaiyun.com/zhangjm_123/article/details/41924151 上篇文章Android socket 编程 实现消息推送(一)讲到socket编程的消息推送原理,现在我们来看看基于Android客户机socket编程实现消息推送的过程。 根据消息推送的原理图,我们的实现过程主要分为Server端和Client端,Server端采用Ja转载 2016-05-25 09:30:04 · 1237 阅读 · 0 评论