Mystra

Love magic for itself!


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索

Android 6.0 - 动态权限管理的解决方案

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常不错的解决方案, 提供源码, 项目可以直接使用.

阅读全文 »

实现网页链接跳转原生应用

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

人们每天都要访问大量的手机网页, 如果把手机网页(Web)和应用(App)紧密地联系起来, 就可以增大用户的访问量, 也有其他应用场景, 如网页中调用支付链接, 新闻中启动问诊界面, 提供优质的原生功能等等.

阅读全文 »

实现应用内的更新版本功能

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

在应用中, 为了提高用户体验, 会提供更新版本的功能. 那么如何实现呢? 我写了一个简单的Demo, 说明一下, 需要注意几个细节. 使用了Retrofit和Rx处理网络请求.

阅读全文 »

实现类似朋友圈视频的滚动播放功能

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

在应用的信息流中, 用户会分享视频, 连续展示, 这就需要处理视频滚动播放. 然而, 在列表视图(RecyclerView)中使用MediaPlayer播放视频时, 会产生一些问题, 即无法同步控制视频的播放和停止. 使用控件库可以解决这一问题.

阅读全文 »

详细解析 RxAndroid 的使用方式

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

RxAndroid是RxJava的扩展, 优雅地处理异步请求. RxAndroid配合Lambda表达式, 精简处理回调, 使程序更具有可读性. Rx作为Android最优秀的开源库之一, 极大地提高生产力, 我们需要掌握. 本文由浅入深, 介绍一些常见的使用方法, 并附有源码.

阅读全文 »

使用 RxJava 跨页面更新控件

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

在应用开发中, 我们需要使用后台任务更新前台界面, 不因页面切换而导致重新开始, 或因某些任务阻塞界面刷新, 比如显示下载或播放进度等. 为了追求更优质的用户体验, 需要大量使用后台任务, 常见的就是异步任务(AsyncTask)和后台服务(Service), 当然还有RxJava. 我写了一个示例, 来讲讲如何使用这些常用的后台方式.

阅读全文 »

使用 RxBinding 响应控件的异步事件

发表于 2016-03-20   |   分类于 Android   |     |   阅读次数

RxBinding是Rx中处理控件异步调用的方式, 也是由Square公司开发, Jake负责编写. 通过绑定组件, 异步获取事件, 并进行处理. 编码风格非常优雅. 让我来讲解一下如何使用, 本文含有代码示例.

阅读全文 »

使用 Rx 同步并缓存网络数据

发表于 2016-03-19   |   分类于 Android   |     |   阅读次数

RxJava是响应式编程, 在异步处理网络数据时, 使用广泛. 使用一些Rx的特性, 缓存网络数据, 并同步显示, 可以增强用户的网络加载体验.

阅读全文 »

使用 RxAndroid 处理异步任务

发表于 2016-03-19   |   分类于 Android   |     |   阅读次数

Rx表示响应式编程, 使用观察者模式, 以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式. 在Android编程时, 经常会使用异步线程处理耗时任务, RxAndroid是比较优雅的选择.

阅读全文 »

反编译的常用工具与使用方法

发表于 2016-03-19   |   分类于 Android   |     |   阅读次数

反编译就是逆向工程(Reverse Engineering), 通过解析Apk的内容, 可以验证特性和替换资源. 在批量生成应用时, 使用服务器脚本批量修改Apk, 可以节约人力和时间. 本文介绍逆向工程的常用工具和使用方法. 最新的工具是ClassyShark.

阅读全文 »

使用 DroidPlugin 实践应用的插件化

发表于 2016-03-18   |   分类于 Android   |     |   阅读次数

随着应用的体积越来越大, 插件化也逐渐受到关注, 参考. 应用插件化把模块完全解耦, 使用下载更新的方式, 扩展应用, 是平台化类应用的必然选择. 国内很多公司实现了各式各样的方法, 奇虎360的DroidPlugin是比较有意思的一个, 使用预占位的方式注册四大组件, 实现热更新, 参考, 也可以直接读源码理解实现逻辑.

阅读全文 »

分析应用的技术框架和开源库

发表于 2016-03-17   |   分类于 Android   |     |   阅读次数

App应用本质上是一个apk包, 即一个zip包, 可以直接显示其中的内容. 通过apk文件, 我们可以获知apk的版本信息, so库和第三方库, 并了解一些主流公司的应用框架. 分析工具主要是ApkTool和ClassyShark, 本人比较喜欢Shark工具. 我使用ClassyShark分析一下美团的框架, 也可以按照这个原理, 分析其他App的基本架构.

让我们看看, 有什么好玩且有用的架构信息?

阅读全文 »

网络服务库 Retrofit2 的使用方式

发表于 2016-03-16   |   分类于 Android   |     |   阅读次数

Retrofit是Square开发的网络服务库, 简化Get/Post网络服务的使用, 配合Rx和Dagger有更好的效果. Retrofit已经更新到第2.0版, 本文介绍一些常见的使用方式.

阅读全文 »

依赖注入库 Dagger2 的使用方法

发表于 2016-03-16   |   分类于 Android   |     |   阅读次数

Dagger已经加入Google I/O, 是Square开发的依赖注入库, 发布2.0版本. Dagger表示有向非循环图(Directed Acyclic Graph, DAGger). 好处和优点有很多, 参考, 所有优秀的开源库, 本质上都是让程序更加清晰, 编写更加容易. 让我们来看看怎么使用?

阅读全文 »

Kotlin (2) - 优雅地扩展类的方法和属性

发表于 2016-03-15   |   分类于 Android   |     |   阅读次数

Kotlin由JetBrains公司推出, 是兼容Java的一种编程语言, 也可以用来开发Android. Kotlin的代码简洁, 非常优雅, 对于Android也是非常友好, 拥有大量新语言特性, 适合开发.

分为两个部分:
基础参考: 初探与集成Android项目
扩展参考: 优雅地扩展类的方法和属性

阅读全文 »

Kotlin (1) - 初探与集成 Android 项目

发表于 2016-03-15   |   分类于 Android   |     |   阅读次数

Kotlin是基于JVM的编程语言, 由JetBrains公司开发, 目前已经开源.
IntelliJ IDEA, PyCharm, Android Studio等IDE, 就是出自于JetBrains公司.

Kotlin介绍:
Statically typed programming language for the JVM, Android and the browser. 100% interoperable with Java™

用于JVM, Android, 网页等的静态类型编程语言, 完全兼容Java.

阅读全文 »

Vectors 时代(2) - 图像的路径动画

发表于 2016-03-15   |   分类于 Android   |     |   阅读次数

时代在发展, 技术在进步, Android的Vector图像的时代已经到来. 在Google的最新支持库v23.2中, AppCompat类已经使用Vector图像, 使得AAR包减少9%, 大约70KB, 惠及所有高版本的应用. 当然我们也可以使用Vector, 瘦身应用. Vector图像是SVG格式在Android的表现形式. SVG图像适应屏幕, 图片较小, 还有很多优点, 参考.

本文是第二节, 关于Vector动画.

阅读全文 »

Vectors 时代(1) - SVG 格式缩减应用图像

发表于 2016-03-15   |   分类于 Android   |     |   阅读次数

时代在发展, 技术在进步, Android的Vector图像的时代已经到来. 在Google的最新支持库v23.2中, AppCompat类已经使用Vector图像, 使得AAR包减少9%, 大约70KB, 惠及所有高版本的应用. 当然我们也可以使用Vector, 瘦身应用. Vector图像是SVG格式在Android的表现形式. SVG图像适应屏幕, 图片较小, 优点很多, 参考.

本文是第一节, 关于Vector图像.

阅读全文 »

Gradle 的大型项目常用库和版本管理

发表于 2016-03-15   |   分类于 Android   |     |   阅读次数

随着Android开发的成熟, 模块越来越多, 引入库也随之增加, 需要统一管理这些库和版本号. 根据自己的开发经验, 本文介绍使用Gradle参数配置实现库的规范管理.

阅读全文 »

加速 Gradle 构建大型 Android 项目的方法

发表于 2016-03-14   |   分类于 Android   |     |   阅读次数

Gradle是构建Android项目的有力工具, 然而当项目比较大时, 就会非常缓慢, 需要进行优化. 本文主要介绍关于优化Gradle运行速度的一些方法.

阅读全文 »
1234
C.L. Wang

C.L. Wang

不忘初心

75 日志
4 分类
61 标签
RSS
GitHub 简书 CSDN 掘金
Links
  • 仝磊鸣的博客
  • 樊全青的博客
© 2015 - 2017 C.L. Wang
由 Hexo 强力驱动
主题 - NexT.Pisces