自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

原创 Android上传aar到本地仓

打包aar上传本地仓,将第三方aar上传本地仓

2023-04-03 15:24:01 652 2

原创 Could not GET ‘xxx/maven-metadata.xml‘. Received status code 403 from server: Forbidden

Could not GET ‘xxx/maven-metadata.xml’. Received status code 403 from server: Forbidden1.一般出现这种问题,首先应该排除maven仓地址问题,在根工程的build.gradle文件中增加国内的maven仓地址,比如阿里云或者其他,参考如下:repositories { ... maven { url 'https://maven.aliyun.com/repository/jcenter' }

2021-05-21 14:12:21 3084 3

原创 Android从零开始学习Rxjava2(九)—— 条件和布尔运算符

条件和布尔运算符评估Observables发出的一个或多个Observable或项目的运算符。All确定Observable发出的所有项目是否符合某些标准。当且仅当源Observable正常终止并且源Observable发出的每个项根据都test计算为true时才返回true; 如果源Observable发出的任何项test计算为false,则返回false。举个例子:private...

2020-11-12 11:05:46 251

原创 Android 版本更新安装apk

Android 安装更新apk版本更新是每个安卓应用都会涉及的,当有新的版本更新下载后,调用系统安装程序安装新的apk,targetSdkVersion 在7.0以下时我们直接使用以下代码:/** * 安装apk * * @param context * @param path 本地apk路径 */ public static void in...

2019-04-02 10:27:49 3234

原创 Mac上配置android所需的环境变量

配置adb、ndk、grade、java环境变量:cd ~ //进入用户目录touch .base_profile //创建base_profile文件open -e .bash_profile //打开编辑bash_profile打开bash_profile文件,并输入以下内容,将ANDROID_HOME等更改为自己的目录地址:export ANDROID_HOME=/Users/d...

2019-03-07 13:43:23 531

原创 Android从零开始学习Rxjava2(八)—— 错误处理运算符

错误处理运算符有助于从Observable中恢复错误通知的操作符。Rx错误处理有两个类别的运算符:Catch类:Catch运算符拦截来自源Observable的onError通知,而不是将其传递给任何观察者,将其替换为其他项目或项目序列,可能允许生成的Observable正常终止或根本不终止;Retry类:如果源Observable发出错误,请重新订阅它,希望它能完成而不会出错。重试操作符通...

2019-01-17 11:36:07 375

原创 Android从零开始学习Rxjava2(七)—— 组合运算符

rxjava2组合运算符使用多个源Observable创建单个Observable的运算符Merge通过合并它们的排放,将多个Observable组合成一个。合并可以交错合并的Observables发出的项目。并且任何源Observable的onError通知将立即传递给观察者并终止合并的Observable。merge合并,就像多个进水管往水池注水,最终合成一个Observable。简...

2019-01-16 18:07:33 402

原创 Android从零开始学习Rxjava2(六)—— 过滤运算符

rxjava2过滤运算符筛选源Observable发出的项的运算符。Debounce如果特定的时间跨度已经过去而没有发出另一个项目,则从Observable中发出这一个项目。debounce主要是防抖。如果在短时间内连续更改并且我们只要最终结果,中间更改的数据对我们来说没有用,需要忽略掉,则debounce是很有效的一个运算符。debounce的防抖动时间片段是在元素发射之后重新计算的...

2019-01-15 21:04:59 329

原创 Android从零开始学习Rxjava2(五)—— 变换运算符

rxjava2变换运算符GroupBy将一个Observable分拆为一些Observables集合,它们中的每一个发射原始Observable的一个子序列,GroupBy操作符将原始Observable分拆为一些Observables集合,它们中的每一个发射原始Observable数据序列的一个子序列。哪个数据项由哪一个Observable发射是由一个函数判定的,这个函数给每一项指定一个Ke...

2019-01-15 16:47:51 304

原创 Android从零开始学习Rxjava2(四)—— Map

rxjava2变换运算符Map将Observable发出的每个项目通过函数应用转换后发出。上面的图很好的解释了map方法的含义。在工作中也很常遇见这种情况,源Observable发出的项,不是我们直接想要的,这时候就需要对Observable发出的项变换处理。举个例子:private void doSomeWork() { Observable.just("0", &quot

2018-11-26 17:19:01 525

原创 Android从零开始学习Rxjava2(三)—— Buffer

rxjava2变换运算符rxjava一样提供了很多变换运算符帮助我们更简单的转转发出的Observable。这些变换运算符也是我们相对来说比较常用到的,所以对于每个变换运算符我们都单独拿出来简单记录下。Buffer定期将Observable发出的项目收集到束中并发出这些束,而不是一次发送一个项目。上面这句话可能难以直接理解,其实buffer顾名思义就是缓冲,rxjava提供buffer可以...

2018-11-26 14:34:33 655

原创 Android从零开始学习Rxjava2(二)—— 创建运算符

rxjava2创建操作符rxjava2支持链式编程,大多数运算符都在Observable上运行并返回一个Observable。 这允许您在链中一个接一个地应用这些运算符。 链中的每个运算符都会修改由前一个运算符的运算产生的Observable。rxjava2提供了大量不同种类的运算符,根据其分类来划分,大致可以分为以下列表分类举例说明Creating Observabl...

2018-10-12 18:38:21 355

原创 Android从零开始学习Rxjava2(一)

前言越来越多的开源项目使用了rxjava2,最近才开始认真的沉下来学习rxjava2,想写个笔记记录和整理下自己所学,顺便可以加深下印象。学习rxjava2,首先要大概了解下它能做什么,为什么选择使用它?翻看git上rxjava说明,a library for composing asynchronous and event-based programs by using observab...

2018-10-11 17:10:06 435

原创 android.util.Base64使用

Android android.util.Base64使用android 开发中有时会需要用到base64加解密,其实base64并不算是一种加密的算法,只是一种基于64个可打印字符来表示二进制数据的表示方法。google在android.util下提供了一个Base64工具类,可以很方便的用它encode和decode,里面提供方法如下其中主要说下几种常见的flags和其含义f...

2018-09-19 12:24:34 24921 2

原创 android 架构设计之MVC MVP MVVM

android 架构设计之MVC MVP MVVM移动端发展日新月异,技术更新也越来越快,最近想重新更改整理下安卓应用程序的架构,先整理下所需要的知识点,那就从老生常谈的MVC这些东西开始吧。本文虽然参考了一些资料,但是还是参杂了自己的些许理解,可能存在错误与不足,还愿大家耐心指出,本人虚心求解。MVCMVPMVVMMVCMVC模式(Model–view–contr...

2018-07-19 21:33:54 860

原创 正确遍历中删除list元素

以前一直没有注意,最近发现list在循环中使用remove方法其实是有问题的List<String> list = new ArrayList<String>();list.add("1");list.add("2");list.add("3");for (String temp : list) { if ("3".equals(temp)) { list.remove

2017-02-10 11:32:30 554

原创 adb 版本更新后执行依旧是旧版本解决方法

adb更新后,执行命令还是旧版本解决方法

2016-12-21 10:53:07 17419 4

原创 Android Studio gradle生成jar

Android Studio gradle生成jar由于Android Studio默认生成的build\intermediates\bundles\release\classes.jar相比于eclipse Export导出的包多包含了BuildConfig.class和R.class等文件,所以现参考以下文章试验用gradle来生成jarhttp://www.jianshu.com/p/aa70

2016-10-10 16:27:56 1199

原创 Android Studio与eclipse常用快捷键对比

Android Studio与eclipse常用快捷键对比 AS快捷键 eclipse快捷键 快捷键作用 Alt+1 快速打开或隐藏工程面板 Alt+F8 Ctrl+Shift+F 格式化代码 Ctrl+Alt+O Ctrl+Shift+O 引用包,删除多余引用 Ctrl+Alt+Space Alt+/ 类名或接口名提示 Ctrl+Al

2016-07-20 14:11:49 643

欢迎使用CSDN-markdown编辑器

欢迎使用CSDN-markdown编辑器

2016-07-21

android自定义键盘

自定义keyboard,支持自定义edittext,edittext不保存任何明文,随机数采用SecureRandom并修复其bug。

2015-11-01

andbase android开发宝

andbase开源开发代码类,集合了一部分常用的开发案例

2014-05-04

NewsReaderActivity

google官方屏幕适配例子,新闻阅读app

2014-05-04

android volley

android volley源码,2013google推荐。

2014-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除