Android进阶
文章平均质量分 57
fangchao3652
面朝大海 春暖花开
展开
-
EventBus 初步 让你省去handler、AsynTask,接口回调
1、概述最近大家面试说经常被问到EventBus,github上果断down了一份,地址:https://github.com/greenrobot/EventBus,的确是个不错的框架,主要用于事件的发布和订阅。EventBus定义:是一个发布 / 订阅的事件总线。这么说应该包含4个成分:发布者,订阅者,事件,总线。那么这四者的关系是什么呢?很明显:订阅者转载 2015-02-13 16:56:18 · 1714 阅读 · 0 评论 -
Android 集成 支付宝
一.到支付宝官网https://b.alipay.com/order/techService.htm?channel=psl下载(快捷支付(无线))开发包。将alipay-sdk-common文件夹下的alipaysdk.jar ,alipaysecsdk.jar,alipaysecsdk.jar 拷贝到工程的libs下。二.支付宝集成 在技术集成之前,商户需要在https://ms.alip原创 2015-04-09 15:47:31 · 3329 阅读 · 1 评论 -
Android dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent详解
之前遇到事件分发,去网上找相关文章。。。感觉都没把这几个的关系说明白。研究了几篇不错的文章,今天在这整理一下,希望对大家有所帮助。 首先你要知道一点,当你触摸一个控件的时候,你就会调用该控件(或它的父类)的dispatchTouchEvent方法。那我们就来看一下dispatchTouchEvent方法的源码:public boolean dispatchTouchEvent(MotionE原创 2015-05-13 11:29:57 · 1103 阅读 · 0 评论 -
Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
scrollview 嵌套recyclerview 时,recyclerview不显示,这就需要我们自己计算recyclerview的高度,比如: ViewGroup.LayoutParams mParams = recyclerView.getLayoutParams(); mParams.height = (CommonUtils.getScreenWidthPX(getActi原创 2015-07-16 17:24:37 · 14087 阅读 · 19 评论 -
Android 屏幕适配详解
转载请注明出处:http://blog.csdn.net/zhaokaiqiang199Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的屏幕适配,你将有所收获!Android屏幕适配出现转载 2015-11-05 14:37:55 · 827 阅读 · 0 评论 -
DiskLruCache详解与应用
概述初探下载打开缓存写入缓存读取缓存移除缓存其它APIsizeflushclosedelete解读journal感谢郭大神,在这转需一下 概述记得在很早之前,我有写过一篇文章Android高效加载大图、多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片的转载 2015-11-07 16:40:18 · 780 阅读 · 0 评论 -
ViewGroup和LayoutParams之间的关系
当在LinearLayout中写childView的时候,可以写layout_gravity,layout_weight属性;在RelativeLayout中的childView有layout_centerInParent属性,却没有layout_gravity,layout_weight,这是为什么呢?这是因为每个ViewGroup需要指定一个LayoutParams,用于确定支持childVi原创 2015-11-14 10:59:48 · 977 阅读 · 0 评论 -
Android Event.getX 与getRawX的区别
public class Res extends Activity implements View.OnTouchListener { Button btn = null; int x = 0; int y = 0; int rawx = 0; int rawy = 0; @Override原创 2015-11-06 21:02:28 · 2840 阅读 · 0 评论 -
Android 文件相关总结
首先我们先来看一段代码:/** * 根据传入的uniqueName获取硬盘缓存的路径地址。 */ public File getDiskCacheDir(Context context, String uniqueName) { String cachePath; if (Environment.MEDIA_MOUNTED.equals(E原创 2015-11-16 18:40:17 · 615 阅读 · 0 评论 -
AndroidStudio 添加AndroidAnnotations
1.在project的gradle文件中dependencies { classpath 'com.android.tools.build:gradle:1.0.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' // NOTE: Do not place your applica原创 2015-04-13 16:47:16 · 884 阅读 · 0 评论 -
Android推送 基于MQTT
客户端:package com.example.fc.activity;import android.app.AlarmManager;import android.app.PendingIntent;import android.app.Service;import android.content.BroadcastReceiver;import android.content.Conte原创 2015-04-13 15:35:36 · 2152 阅读 · 0 评论 -
自定义控件实现刮刮乐 SRC DST 等几种模式
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40162163 , 本文出自:【张鸿洋的博客】很久以前也过一个html5的刮刮卡效果~~上次看到有人写Android的刮刮卡效果~~于是乎产生了本篇博客~~此类例子也比较多了,大家可以百度看看~不过还是通过本例子,带大家发掘一下,里面隐含的知识~1、Xfermode转载 2015-02-14 09:58:52 · 1344 阅读 · 0 评论 -
RecyccleView 详解
在谷歌的官网我们可以看到它是这样介绍的: RecyclerView is a more advanced and flexible version of ListView . This widget is a container for large sets of views that can be recycled and scrolled very efficiently. Use原创 2015-01-26 09:43:14 · 2037 阅读 · 0 评论 -
EventBus (二) 源码分析
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:【张鸿洋的博客】上一篇带大家初步了解了EventBus的使用方式,详见:Android EventBus实战 没听过你就out了,本篇博客将解析EventBus的源码,相信能够让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这转载 2015-02-13 17:17:34 · 538 阅读 · 0 评论 -
RecycleView 添加底部加载更多
在阅读此文章前 请先看 http://blog.csdn.net/fangchao3652/article/details/43148871与开头的连接文章思想类似,只不过那个是图片文字按钮等多种布局的混排,而添加底部只是普通Item 与底部Item两种布局的混排。那个是根据bean中的类型进行判断,然后在onCreateViewholder方法中创建不同的viewholder。而此文章先是根据ge原创 2015-02-28 11:27:56 · 7156 阅读 · 3 评论 -
andorid 与滑动相关的一些知识---getscrollY onscrollchange() scrollby scrollto等
Android系统手机屏幕的左上角为坐标系,同时y轴方向与笛卡尔坐标系的y轴方向想反。通过提供的api如getLeft , getTop, getBottom, getRight可以获得控件在parent中的相对位置。同时,也可以获得控件在屏幕中的绝对位置,详细用法可参考android应用程序中获取view的位置当我们编写一些自定义的滑动控件时,会用到一些api如scrollTo(),sc转载 2015-03-04 13:48:52 · 1486 阅读 · 2 评论 -
view的getWidth() getHeight() 总是返回0 的几种解决方法
当我们在oncreate 调用 getwith() 与 getheigh()时返回0 的原因是我们的view 在此时还没有绘制出来,不光在oncreate .Activity生命周期中,onStart,onResume,onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。 所以一个解决方法: 就是将 getwit原创 2015-03-04 16:22:10 · 2472 阅读 · 1 评论 -
自定义控件----倒计时控件
先上效果图: 因为时分秒都有自己的背景色等布局,所以重写一个textview 不够灵活,所以我们自定义一个TimeTextView继承自Linearlayout 然后再在里面放几个textview即可。 先看 布局文件吧:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.and原创 2015-03-13 15:14:58 · 1607 阅读 · 2 评论 -
Android 获取IP地址
大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和我们3G卡的Ip地址当然是不一样的. 首先我尝试了如下方法: [java] view plaincopyWifiManager wifiManager = (WifiM转载 2015-04-07 09:47:00 · 633 阅读 · 0 评论 -
高效显示Bitmap+listview冲突解决+图片内存缓存+硬盘缓存
Android高效加载大图BitmapFactory提供了一些解码(decode)的方法(decodeByteArray(), decodeFile(), decodeResource()等),用来从不同 的资源中创建一个Bitmap。 我们应该根据图片的数据源来选择合适的解码方法。 这些方法在构造位图的时候会尝试分配内 存,因此会容易导致 OutOfMemory 的异常。每一种解码方法都可以原创 2015-11-16 21:57:10 · 1482 阅读 · 1 评论