
Android
文章平均质量分 70
xiaoping0915
种一棵树最好的时间是十年以前,其次是——现在
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【产品演示】如何更好的演示你的APP——动图制作
如何在我们的博客中更好的展示和表达我们所要表达的信息呢?图片是个不错的选择,毕竟无图无真相,图片可以承载更多的信息量,动态图片更是方便用来做演示,无论是我们在给客户去演示项目还是在和别人讨论问题的时候,动态图片的效果应该是比图片和文字描述来得方便直观。制作动图的方式和方法也很多,在Android手机或是PC各种设备上都有很录屏软件可以帮助我们完成这件事情,在Android上也可以使用a原创 2017-01-01 20:52:18 · 6563 阅读 · 0 评论 -
【RxJava】种下一棵树RxJava
前言在去年(2016)的夏天 Rx系列的东西好像被贴上了一种叫做‘’牛逼‘’的标签 对于RxJava的了解从 扔物线 的一篇 给 Android 开发者的 RxJava 详解 文章开始,记得当时看这篇文章花费整整一个下午的时间,看完之后一片雾水,但是也有所启发(也算是留下了一个印象),今天再次打开了 给 Android 开发者的 RxJava 详解 这篇文章通读了一遍,收获颇多。正文0.什么是R原创 2017-03-03 12:13:40 · 1619 阅读 · 0 评论 -
【RxJava】事件流数据过滤
现在你可以用 Rx 来处理大批量实时数据,但是如果把所有大批量数据整个打包发给你的话,使用 Rx 还有啥优势呢? 本节 我们将介绍一些操作函数(operators )来过滤数据、或者把所有数据变成一个需要的数据。如果你了解过函数式编程(functional programming)或者 Java 中的 Stream,则本节介绍的操作函数是非常眼熟的。本节中所有的操作符都返回一个不影响前一个 O...转载 2017-03-20 10:13:01 · 1646 阅读 · 0 评论 -
Java中的内存和效率优化(持续更新)
0.转换字符串在java开发中,经常会有数字与字符串的转换,jdk也给了我们很多转换的方式,他们的效率变现不一a.数字类型转字符串,toString(), valueOf() & + “” public static void main(String[] args) { int loopTime = 100000; Integer i = 16516465;原创 2017-03-20 11:45:44 · 1864 阅读 · 0 评论 -
代理加速 gradle 构建
在项目下的 build.gradle 文件中加入(替换掉)使用阿里云镜像buildscript { repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} }}allprojects { repositories { maven{ ur原创 2017-03-20 12:34:50 · 1807 阅读 · 0 评论 -
【RxJava】走进RxJava 从关键类开始
我们知道RxJava是基于观察者模式的,所以其核心类肯定有被观察者 Observable 用于发射数据; 观察者Observer 用于接收处理数据;还有一个特殊的Subject 是 Observable 的一个扩展,同时还实现了 Observer 接口Subject同时作为观察者和 被观察者,可以用来转发事件,当做 Rx 中的 事件管道。class rx.Observable< T>interf原创 2017-03-07 17:29:11 · 1726 阅读 · 0 评论 -
【RxJava】操作符的使用
关于操作符操作符是为了解决对Observable对象的变换的问题,操作符用于在Observable和最终的Subscriber之间修改Observable发出的事件。 RxJava提供了很多很有用的操作符。Subscribers更应该做的事情是“响应”,响应Observable发出的事件,而不是去修改,让专业的人去做专业的事。所以修改就交给操作符吧.map对输入做一定处理之后再进行输出原理实现代码原创 2017-03-23 14:02:50 · 1582 阅读 · 0 评论 -
【RxJava】RxJava响应式带来的好处
错误处理到目前为止,我们都没怎么介绍onComplete()和onError()函数。这两个函数用来通知订阅者,被观察的对象将停止发送数据以及为什么停止(成功的完成或者出错了)。下面的代码展示了怎么使用这两个函数:Observable.just("Hello, world!") .map(s -> potentialException(s)) .map(s -> anotherPot转载 2017-03-16 14:01:12 · 1584 阅读 · 0 评论 -
【RxJava】在Android中使用响应式编程
在第1,2,3篇中,我大概介绍了RxJava是怎么使用的。下面我会介绍如何在Android中使用RxJava.RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。首先,AndroidSchedulers提供了针对Android的线程系统的调度器。需要在UI线程中运行某些代码?很简单,只需要使用Android...转载 2017-03-16 14:16:41 · 1411 阅读 · 0 评论 -
【RxJava】创建事件流
了解了 Rx 的概念,就要了解怎么创建和操作事件流了。操作事件流的原始实现是基于 C# 的 LINQ,而 LINQ 是受到 functional programming 启发的。如果你了解 LINQ 更容易理解本节内容, 如果不了解也没关系。我们将从最简单的内容开始介绍。 大部分的 Rx 操作函数(operators )用来操作已经存在的事件流。在介绍操作函数之前,先来看看如何创建一个 Obser...转载 2017-03-16 15:00:39 · 1622 阅读 · 0 评论 -
【RxJava】RxJava的生命周期管理
Rx 背后的理念是:无法知道事件流何时发射数据、也不知何时结束发射,但是你需要控制何时开始和结束接受事件。订阅者可能使用了一些资源,这些资源需要在停止接收事件的时候释放。 通过 subscription 可以实现生命周期管理。SubscribingObservable.subscribe 有好几个重载函数,每个函数都是某种情况的简化形式。Subscription subscri...转载 2017-03-16 13:49:36 · 1890 阅读 · 0 评论 -
【问题解决】Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'
异常提示:Unable to load class ‘org.codehaus.groovy.runtime.typehandling.ShortTypeHandling’错误原因:出现这个错误是因为你的 Android Studio 中的 Gradle 插件和 Gradle 版本不一致导致的,非常有可能是因为你在 Android Studio 中倒入了一个旧版本转载 2016-07-16 13:15:41 · 5879 阅读 · 0 评论 -
Android Studio 导入第三方jar包的正确姿势
将第三方jar包加入到libs文件夹中有两种方式将jar引入进工程目录:第一种是打开工程所在Project Structure,然后选择Dependencies,点击那个加号选择File Dependency ,然后再Libs文件夹中选择要导入的jar包,然后点击确定,jar包就导入进来了。第二种方式是:右键点击libs文件夹中的jar文件选择 add as Library...然转载 2016-07-21 10:31:41 · 2541 阅读 · 0 评论 -
【Android】给RecyclerView添加下拉刷新和加载更多(二)
大家都知道由于ListView的紧耦合问题,谷歌的改进就是RecyclerView本身不参与任何视图相关的问题。它不关心如何将子View放在合适的位置,也不关心如何分割这些子View,更不关心每个子View各自的外观。进一步来说,RecyclerView只负责回收和重用的工作,这就是它名字的由来。正是由于RecyclerView的插件化的特性,今天的目标是给RecyclerView加上下拉刷新和底原创 2016-07-19 16:40:33 · 5259 阅读 · 1 评论 -
【问题解决】Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory
Android Studio 在导入项目,作为刚开始使用AS的新手,简直是一头雾水,怎么导入怎么报错,请教了下老师之后解决了问题,着这里做一个总结。简单粗暴的导入方式:File -> Open... -> 此时会报一个错误 Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory错误原因:当你原创 2016-04-10 17:56:28 · 6409 阅读 · 0 评论 -
ListView去掉中间的分割线和设置Item之间的间距
如图去掉ListView中间的分割线和设置Item之间的间距的效果<ListView android:id="@+id/lv_books1" android:layout_width="match_parent" android:divider="@null" android:dividerHeight="5dp"原创 2016-04-27 14:02:33 · 5360 阅读 · 0 评论 -
Think4Android(一)之TextView
首先还是上效果图: 安卓开发当中TextView是最常用的组件之一了,今天对TextView的思考主要目的是为了在开发中能够注意到一些细节从而达到给用户更佳的操作体验。比如说有时候需要更改我们TextView的字体、有时候需要一个单行的滚动的提示、有时候需要带有滚动条的TextView、又有时候我们的TextView需要任性的style。-Think For Tex原创 2016-06-26 16:42:40 · 2582 阅读 · 0 评论 -
Think4Android(二)之Button
预览一下: Android中的按钮是继承之TextView的,今天想了一会儿怎么对按钮进行一些点击上的优化或者说是定制吧。原理是自定义一个抽象的‘监听器’实现我们的OnClickListener然后在重写的onClick里面根据不同的业务逻辑来调用我们所定制的Click事件(即一个抽象的方法)-Think For Button --1.Button怎么样做到防止原创 2016-07-12 23:03:41 · 2245 阅读 · 0 评论 -
Android 2016的一些新东西
2016你需要了解Android有以下新兴的技术与框架,有些也许还不成熟,但是你应该去了解下,也许就是未来的方向。Kotlin作为 Android 领域的 Swift,绝对让你如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。 http://t.c转载 2016-07-12 23:10:52 · 2439 阅读 · 0 评论 -
【消息推送】--小米推送在Android客户端和PHP服务器上的联合使用
小米推送(MiPush)是小米公司为开发者提供的消息推送服务,通过在云端和客户端之间建立一条稳定、可靠的长连接,为开发者提供向客户端应用推送实时消息的服务,帮助开发者有效地拉动用户活跃。使用场景:现在我们在做一个购物App的产品有用户端和商户端,用户端购买了一件商品并且完成了在线支付,这个时候服务器会收到这个订单,也应该在这个时候第一时间通知到这件商品的商户(商户端)有人购买了店里的东原创 2016-07-24 15:31:49 · 7851 阅读 · 0 评论 -
加速Android Studio/Gradle构建
已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。开启gradle单独的守护进程在下面的目录下面创建gradle.properties文件:/home//.gradle/ (Linux)/转载 2016-07-16 13:21:59 · 2366 阅读 · 0 评论 -
【Android】只为更方便--RecyclerView的使用(一)
RecyclerView是Android 5.0 materials design中的组件之一,相应的还有CardView、Palette等。看名字Re我们就能看出一点端倪,没错,它主要的特点就是复用。我们知道,Listview中的Adapter中可以实现ViewHolder的复用。RecyclerView提供了一个耦合度更低的方式来复用ViewHolder,并且可以轻松的实现ListView、G原创 2016-07-17 11:10:19 · 2520 阅读 · 0 评论 -
【Android】使用Picasso加载图片的内存优化实践
本文转自:http://blog.youkuaiyun.com/ashqal/article/details/480058330 说明现在Android开源库中有许多图片加载框架,本文以picasso为例,总结下开发过程中的一些优化经验,使用的picasso版本如下compile 'com.squareup.picasso:picasso:2.5.2'11 图片裁剪转载 2016-07-28 20:39:35 · 2637 阅读 · 0 评论 -
【问题解决】FragmentTabHost 底部菜单栏,切换Frgment时重新加载问题
public class DisFragment extends BaseFragment { private ListView mListView; private List mList = new ArrayList(); private View view;// 缓存Fragment view @Override public View onCreateView(LayoutI原创 2016-04-21 19:02:08 · 2986 阅读 · 0 评论