Android
文章平均质量分 70
Moscoper
Hello World ! ! ! !
展开
-
PullToRefresh 的继承关系
前言虽说 PullToRefresh 是一个比较老的框架了,但是也是比较有研究价值的。笔者准备用两篇文章来介绍。第一篇 —- PullToRefresh 的继承关系第二篇 —- PullToRefresh 的源码分析PullToRefresh 继承关系图PullToRefresh 继承关系图说明PullToRefreshBase:实现下拉刷新PullToRefreshAdapterView原创 2016-06-27 11:01:32 · 325 阅读 · 0 评论 -
EventBus 的用法
前言Demo 地址 关于 EventBus 笔者将分两篇文章进行介绍。EventBus 的用法EventBus 的源码分析什么是 EventBus 及优点简化组件之间的通信减弱事件发送者和接受者之间的耦合使 Activity 、Fragment 和后台线程很好的进行消息传递避免和生命周期之间复杂和易错的依赖关系。使代码更加简洁效率更高轻量级(jar 包小于 50K) 等等Eve原创 2016-06-27 10:57:21 · 467 阅读 · 0 评论 -
吐槽 Android 权限管理
前言笔者最近在工作中遇到了关于 Android 的权限管理的问题,在搜索资料的时候发现关于 Android 如何获取 Android 系统权限或者 root 权限的资料少之又少,而且千篇一律。我这只小白真真切切的感受到了失望和无助。写下这篇文章主要是为了抛砖引玉。希望有大牛能来抚慰我受伤的心灵。普通权限对于 Android 中普通的权限我们只需要在 AndroidManifest.xml 中的 ma原创 2016-06-27 10:56:26 · 305 阅读 · 0 评论 -
[Android] Android 视频播放总结
前言本篇文章主要介绍 Android 原生 VideoView,Google 开源视频播放框架 ExoPlayer,Vitamio 视频播放框架以及 Bilibili 开源视频播放框架 ijkplayer 的使用方法和优缺点。VideoViewVideoView 的使用非常简单,播放视频的步骤:在界面布局文件中定义 VideoView 组件,或在程序中创建 VideoView 组件调用 Vide原创 2016-04-03 21:55:39 · 3834 阅读 · 0 评论 -
[Android] 从源码分析 Handler 消息机制
前言上篇文章叙述了 Handler 的用法和避免因为不当使用 Handler 引起内存泄露的方法。这篇文章将从源码分析 Handler 消息机制的实现。Looper我们知道要想使用 Handler 就必须在当前线程里初始化 Looper,我们初始化 Looper 的做法是调用 Looper.prepare() 方法。然后调用 Looper.loop() 方法。首先,我先来看 Looper.prepa原创 2016-04-03 21:54:32 · 488 阅读 · 0 评论 -
[Android] Handler 详解
前言Android 中 Handler 是开发中特别常用的知识。本人将分两篇来叙述 Handler。第一篇———— Handler 的用法第二篇———— 从源码分析 Handler 消息机制的实现Handler 的功能Handler 最常用的功能就是更新 UI。因为 Android 只能在主线程中更新 UI,但是更新 UI 之前往往要先更新数据,这就需要一些 I/O 操作,比如请求网络数据,或原创 2016-04-03 21:52:39 · 297 阅读 · 0 评论 -
[Android] 解决 View 滑动冲突法则
前言这是 demo 地址上面 demo 用外部拦截法实现了滑动方向一致和不一致的两种冲突。滑动冲突场景场景 1————外部滑动方向和内部滑动方向不一致场景 2————外部滑动方向和内部滑动方向一致场景 3————上面两种情况的嵌套场景 1,主要是 ViewPager 和 Fragment 配合使用组成的页面横向滑动效果,而 Fragment 里又包含了 ListView 竖直滑动的控件。由于原创 2016-03-05 20:09:40 · 383 阅读 · 0 评论 -
Android 从源码分析 Android 触摸事件分发过程
前言上篇文章我们用 demo 分析了 Android 触摸事件的分发过程,这周我们将尝试从源码的角度分析 Android 触摸事件的分发过程。Activity 对触摸事件的分发当一个触摸事件发生时,最先传递给 Activity,由 Activity 的 dispatchTouchEvent 方法进行事件的分发。public boolean dispatchTouchEvent(MotionEvent原创 2016-03-03 22:43:08 · 379 阅读 · 0 评论 -
Android 触摸事件分发过程
前言这是demo 链接Android 中 View 的事件传递是一个老生常谈的问题,但也是学习 Android 的重点和难点。本人将分三篇来分享 Android 中的事件传递。通过 demo 分析 Android 事件的传递过程通过源码分析 Android 事件的传递过程运用所学解决 Android 中滑动冲突MotionEventAndroid 中事件的传递其实传递的就是 MotionEv原创 2016-03-03 22:40:04 · 345 阅读 · 0 评论 -
EventBus 源码分析
前言上篇文章笔者简单介绍了 EventBus 的用法。本篇文章笔者将简单分析 EventBus 的源码。从上篇文章我们可以得知,要使用 EventBus 首先要调用 EventBus 的 register 方法注册(一般在 onCreate 方法中)。然后,定义被 Subscribe 注解的方法(用来接收由 post 方法发送的消息)。最后,调用 unregister 方法解注册(一般在 onDes原创 2016-06-27 10:59:00 · 443 阅读 · 0 评论 -
使用 PullToRefresh 的总结
前言关于下拉刷新、上拉加载的框架现在有很多,这里奉上别人收集的一些框架(下拉刷新框架收集)。但是笔者一直还在使用 PullToRefresh 。个人觉得 PullToRefresh 使用起来还是比较简洁方便的。关于 PullToRefresh 具体的用法,这里不再赘述,这里主要分享一下笔者在使用时遇到的一个小小的坑。问题描述当一些可滑动的控件滑动到顶端或者底部的时候,继续滑动在魅族或者坚果手机上还会原创 2016-06-27 11:00:41 · 808 阅读 · 0 评论 -
PullToRefresh 的源码分析
前言上篇文章介绍了 PullToRefresh 的继承关系。本片开始将介绍 PullToRefresh 的源码。由于时间的关系,关于PullToRefresh 的源码笔者也将分成两篇来介绍。本篇文章主要介绍 PullToRefresh 的下拉刷新是如何实现的。在下一篇中,将介绍如何扩展 PullToRefresh,并编写 demo。PullToRefreshBase从上篇文章中我们知道 IPullT原创 2016-06-27 11:02:17 · 486 阅读 · 0 评论 -
APK 瘦身总结
前言随着项目的发展,我们的 APK 会越来越大。这就意味着推广的成本会增加,用户在下载的时候会用掉更多的流量。上传应用市场的时候往往也会有大小的限制。如何为 APK 瘦身就成为迫在眉睫的任务。这篇文章总结了为 APK 瘦身的一些经验。APK 的结构apk 的目录结构标准的 APK 的目录中包含以下文件classes.dex – 是 java 源码编译后生成的 java 字节码文件resource原创 2016-06-27 10:55:19 · 396 阅读 · 0 评论 -
Android 与 Unity 交互二
前言上篇文章中,笔者介绍了 Android 与 Unity 的交互的方法。以及如何将 Android 工程作为插件导入 Unity。本篇将介绍如何将 Unity 项目作为插件导入 Android 项目中。从而实现 Android 和 Unity 之间的交互。从 Unity 中导出 Android 项目点击 File 选择 Build Setting,出现如下图界面,选中 Android 平台。选中右原创 2016-07-23 16:19:50 · 373 阅读 · 0 评论 -
使用 OpenCV 得到图片线稿
前言上篇文章介绍了 OpenCV 的配置方法,本篇介绍一个 OpenCV 的简单用例。使用 OpenCV 得到一张图片的线稿。效果图如下:原图线稿图代码分析#include <opencv2/opencv.hpp> #include <cv.h>#include <highgui.h>int _tmain(int argc, char ** argv){ cvNamedWindow("s原创 2016-06-27 10:51:57 · 2397 阅读 · 0 评论 -
openCV 人脸检测在 Android 中的应用
前言上篇文章介绍了 Android 的人脸检测,这篇文章来介绍 openCV 的人脸检测。由于在 Android 平台上能直接使用 JavaCV,而 JavaCV 包含 openCV。所以,这篇文章就在 JavaCV 的基础上来实现 openCV 的人脸检测。引入 JavaCV下载 JavaCV 需要的包下载地址 需要下载的包:javacv-bin.zip 和 opencv-2.4.3-andro原创 2016-07-30 19:13:50 · 2881 阅读 · 0 评论 -
Android 人脸检测
前言Google 的人脸检测在 Android level 1 中就有了,其用法和效果也都还可以。本篇文章简单介绍 Android 的人脸检测。FaceDetectorGoogle 的人脸检测主要用的类有 FaceDetector,主要代码如下:public void faceDetector(Bitmap faceBitmap){ Bitmap bitmap = faceBitmap.copy原创 2016-07-25 19:47:01 · 745 阅读 · 0 评论 -
Android 与 Unity 交互一
前言前段时间帮 Unity 游戏组的同事接支付功能,用到 Unity 与 Android 的交互。这篇文章就来总结一下。交互方式Android 与 Unity 的交互有两种方式:Android 作为 Unity 的一部分或者把 Unity 作为 Android 的一部分。至于使用哪种方式,就要根据具体情况来决定了。如果你的项目是以 Unity 为主( Unity 的部分需要经常改动,而 Androi原创 2016-07-17 16:40:57 · 1605 阅读 · 0 评论 -
Text To Speech 总结
前言Android 1.6 加入了文字合成语音的功能,但是 Google 提供的语言库不支持中文。本篇文章总结了几个支持中文的语言库。TextToSpeech在介绍其他语言库之前,先介绍一下 Android 的文字合成语言的 API。因为即使使用其他的语言库,想要完成文字合成语言依然要使用 Android 的 API。以下代码取自 Android 官方 ApiDemos 中的 TextToSpeec原创 2016-06-27 11:04:15 · 3878 阅读 · 0 评论 -
PullToRefresh 的扩展
前言在前几篇文章中介绍了 PullToRefresh 的用法和源码,这篇文章笔者将介绍如何扩展 PullToRefresh。PullToRefresh 框架为我们提供了常用的刷新控件,比如 PullToRefreshListView 、PullToRefreshGridView。如果我们需要其他的刷新控件时,我们可以在 PullToRefresh 的基础上来实现我们需要的刷新控件。本篇笔者以 Tex原创 2016-06-27 11:03:26 · 1007 阅读 · 0 评论 -
PullToReFresh 实现 RecycleView 横向滑动的刷新和加载更多
前言一般的刷新和加载更多的效果都是竖直方向的(下拉刷新和上拉加载更多),本篇文章就利用 PullToReFresh 和 RecycleView 来实现水平方向的刷新和加载更多的效果。我们暂且叫它 PullToReshHorizontalRecycleView。PullToReshHorizontalRecycleView我们在 PullToRefresh 的扩展 这篇文章中介绍过如何利用 Pull原创 2016-08-09 18:10:49 · 7730 阅读 · 1 评论