自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android MQTT消息推送实践

大概的消息推送过程就是这样,手机端订阅(Subscribe)一个Topic,当服务器有新消息的时候就发布(public)到所有的订阅者哪里去.MQTT全称Message Queuing Telemetry Transport,消息队列遥测传输本文记录Android客户端的实现.实现参考自开源项目https://www.eclipse.org/paho/在开始阅读Android客户端代码之前,先看一下

2017-01-12 17:35:44 18852 7

原创 Please assign more memory to Gradle in the project's gradle.properties file

看图

2016-11-18 13:46:21 2177

原创 迭代器,Java嵌套类和内部类

这里模拟ArrayList的实现为避免和系统的集合重名,这里使用MyArrayList作为类名。public class MyArrayList<T> implements Iterable<T> { private int thesize; private T[] theItems; ... public int size() { return th

2016-07-15 15:03:39 1119

原创 设计模式三-行为模式

策略设计模式策略设计模式也叫算法族模式。目的是该算法改变的时候并不影响客户的使用。实现的基本思路非常简单,定义一个算法接口,然后各种不同的算法去实现这个接口,客户端调用使用的是接口而不是实现,说以当改变实现的时候客户端是不需要改变的。/* * 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 */public interface

2016-07-13 13:59:36 537

原创 设计模式二

结构模式结构模式包含下面7种模式,他们之间的发展关系如图。 适配器设计模式概述:适配器模式就是将一种类型转换成另外一种类型,解决类之间的兼容性问题。实现方式:适配器类药继承自适配源类,实现目标类的接口,适配器内部实际上调用的是适配源类的方法。使用:在需要使用目标类的地方直接创建适配器对象。扩展:这里介绍的是类适配器,还有对象适配器,接口适配器。/** * 源类,待适配 * @autho

2016-07-11 15:24:40 1266

原创 设计模式一

设计模式一创建型模式概述:创建型模式一般来讲是指通过这种模式来生成对象。那么生成的对象也不是想生成什么对象就生成什么对象,如果是这样的话那就乱套了,也不符合面向对象的设计原则。不论是什么样的工厂模式他创建的对象都是某一个类别的对象,也就是实现了相同接口的对象。1. 简单工厂模式 简单工厂模式通俗的讲就是:你告诉我你要什么东西,然后我就给你返回什么。如果我没有你要的东西,那么就返回一个null。

2016-07-11 13:50:53 269

转载 使用merge subView优化布局

减少视图层级 mergemerge标签在UI的结构优化中起着非常重要的作用,它可以删减多余的层级,优化UI。merge多用于替换FrameLayout或者当一个布局包含另一个时,merge标签消除视图层次结构中多余的视图组。例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的UI表现。这时可以使用

2016-05-13 14:26:17 1736

原创 Android中优秀控件学习

AutoCompleteTextView与SearchView AutoCompleteTextView效果 AutoCompleteTextView 可以监听输入文字的变化,同时提供一个ArrayAdapter适配器。开发者可以向这个适配器中添加数据,数据会以上图中下拉列表形式展示出来。需要注意的地方: 布局文件中写法如下,默认AutoCompleteTextView会在输入2个字符时

2016-04-22 15:26:08 334

原创 android 混淆打包

首先生成自己的签名文件在\Java\jdk\bin目录下有一个keytool工具。配置好环境变量以后,在CMD中输入keytool -genkey,然后按照提示操作就可以。最后会在C:\user\当前用户\目录下生成一个.keystore文件。这个文件就是签名文件。配置混淆打包需要的参数在Eclipse中新建的项目的根目录下回有一个proguard.cfg或者proguard-project.tex

2016-04-22 15:05:46 299

原创 Java split()方法使用注意问题

当使用竖线分割一个字符串的时候必须写成\|这样,这样才会被正则表达式识别。如果直接写成|,那么解析后分割后的结果就是会在String value="内蒙古包钢医院,包头宾馆(钢铁大街店)(40.651957,109.824734|40.658006,109.835388)"; value=value.substring(value.lastIndexOf("(")+1, value.

2016-04-21 21:46:45 404

翻译 滑动刷新效果原理

主要使用到的类:NestedScrollingChildNestedScrollingParent 参考这里 参考这里 NestedScrolling提供了一套父 View 和子 View 滑动交互机制。要完成这样的交互,父 View 需要实现 NestedScrollingParent 接口,而子 View 需要实现 NestedScrollingChild 接口。 实现 Nes

2016-04-14 16:44:22 3704

翻译 自定义View的总结

总结来自官方文档 首先Android里边的视图是以树形结构组织起来的。视图树的绘制是从视图的根节点开始的。这就要求去测量和绘制这个视图树时遍历视图树上的每一个View。每一个Viewgroup也相当于一个树,他也有责任保证他的每一个子View的Draw方法会被调用。同样的每一个子View也有责任绘制自己。因为树是按顺序遍历的,这意味着ViewGroup会在子View被绘制之前已近被绘制了。(Vie

2016-04-14 15:01:06 327

原创 Picasso-A powerful image downloading and caching library for Android

Git地址代码分析:待完善。。。

2016-04-12 16:56:56 366

转载 Android Studio之maven Central,JCenter

Android studio 是从哪里得到库的?Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。jcenter jcente

2016-04-12 16:49:31 16047 1

翻译 Android V7包学习笔记更新中.....

关于V4 V7 V13VX包介绍转自这里 1, Android Support V4, V7, V13是什么? 本质上就是三个java library。2, 为什么要有support库? 如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库。3, 三个Support 库的区别和作用是什么? Android Support v4

2016-04-12 13:15:59 4486

原创 在Android Studio中有六种依赖

在Android Studio中有六种依赖 Compile,Provided,APK,Test compile,Debug compile,Release compileCompile compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。Provided Provided是对所有的build type以及favlors只在编译时使用,类似ec

2016-04-01 17:29:31 481

翻译 动态类生成预加载-dexmaker使用

文章来源 下面这个例子非常典型,可以说入门非常好了。过程很简单,生成一个包含一个函数的类,在主程序里面动态加载(使用ClassLoader),然后执行类里面的函数。这是在Java平台的例子,我直接在Android上进行编程的,后面或说明相应的问题以及解决办法,下来看看这个例子吧。public final class HelloWorldMaker { public static void

2016-04-01 09:39:31 2730

原创 关于wifi连接与断开的监测

网上关于wifi打开或者关闭的监听例子还是比较多的,但是关于wifi连接到某一个point或者从某一个point断开的监听却比较少。经过研究,终于找到了对应得API。分享给大家。下边直接上代码: 说明:这里是直接在Application里边注册的广播。代码注释已近很详细了,大家自己看。 isNetWorkConnected这个变量代表当前wifi是连接还是断开。package com.benxu

2016-03-23 13:47:51 1781

原创 自定义View属性

效果如下: 思路:选取一张图片,在如图片上上画一个圆。原始图片如下:代码:继承自View,重写OnDraw方法。package com.benxun.view;import com.benxun.R;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitma

2016-03-23 13:34:43 357

原创 使用achartengine绘制折线图

// 要绘制的四条折线的名字 String[] titles = new String[] { "Crete", "Corfu", "Thassos", "Skiathos" }; // 折线图的x坐标 List<double[]> x = new ArrayList<double[]>(); for (

2015-09-10 10:30:51 523

原创 自定义开关按钮

效果图 XML文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

2015-04-12 10:08:14 435 1

原创 带有滚动效果的ViewPager

先看看效果 布局文件如下:<!--1.首先Viewpager 这个类是在V4这个jar包里的。使用之前必须先添加这个包。一般来说,这个jar包会默认加载到工程中2.viewpager 的创建也是采用适配器。这个和ListView类似。只是说Viewpager 的适配器需要继承自PagerAdapter。3.ViewPager本身是不能自动滑动的。要想实现自动滑动,必须不断的改变View

2015-04-12 09:15:27 456

原创 关于BaseAdapter中notifyDataSetChanged 失效的问题

关于BaseAdapter中notifyDataSetChanged 失效的问题昨天写了一个Listview的过滤器,过滤没有错误,确实是改变了List里的数据。但是调用notifyDataSetChanged 后发现没有任何效果,很是郁闷。

2015-03-18 10:17:39 1169

原创 Activity的4中加载模式

1.standard 模式    标准的模式,也是默人的2.singleTop 模式     Task顶端单例模式3.singleTask 模式     Task内单例模式4. singleinstance 模式  全局单例模式首先,介绍一下什么是Task .Task可以理解成是一个堆栈,创建activity就是压栈。返回就是将activity从Task中移除。

2015-03-13 16:24:24 476

空空如也

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

TA关注的人

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