- 博客(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
18956
7
原创 Please assign more memory to Gradle in the project's gradle.properties file
看图
2016-11-18 13:46:21
2226
原创 迭代器,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
1143
原创 设计模式三-行为模式
策略设计模式策略设计模式也叫算法族模式。目的是该算法改变的时候并不影响客户的使用。实现的基本思路非常简单,定义一个算法接口,然后各种不同的算法去实现这个接口,客户端调用使用的是接口而不是实现,说以当改变实现的时候客户端是不需要改变的。/* * 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 */public interface
2016-07-13 13:59:36
551
原创 设计模式二
结构模式结构模式包含下面7种模式,他们之间的发展关系如图。 适配器设计模式概述:适配器模式就是将一种类型转换成另外一种类型,解决类之间的兼容性问题。实现方式:适配器类药继承自适配源类,实现目标类的接口,适配器内部实际上调用的是适配源类的方法。使用:在需要使用目标类的地方直接创建适配器对象。扩展:这里介绍的是类适配器,还有对象适配器,接口适配器。/** * 源类,待适配 * @autho
2016-07-11 15:24:40
1273
原创 设计模式一
设计模式一创建型模式概述:创建型模式一般来讲是指通过这种模式来生成对象。那么生成的对象也不是想生成什么对象就生成什么对象,如果是这样的话那就乱套了,也不符合面向对象的设计原则。不论是什么样的工厂模式他创建的对象都是某一个类别的对象,也就是实现了相同接口的对象。1. 简单工厂模式 简单工厂模式通俗的讲就是:你告诉我你要什么东西,然后我就给你返回什么。如果我没有你要的东西,那么就返回一个null。
2016-07-11 13:50:53
292
转载 使用merge subView优化布局
减少视图层级 mergemerge标签在UI的结构优化中起着非常重要的作用,它可以删减多余的层级,优化UI。merge多用于替换FrameLayout或者当一个布局包含另一个时,merge标签消除视图层次结构中多余的视图组。例如你的主布局文件是垂直布局,引入了一个垂直布局的include,这是如果include布局使用的LinearLayout就没意义了,使用的话反而减慢你的UI表现。这时可以使用
2016-05-13 14:26:17
1761
原创 Android中优秀控件学习
AutoCompleteTextView与SearchView AutoCompleteTextView效果 AutoCompleteTextView 可以监听输入文字的变化,同时提供一个ArrayAdapter适配器。开发者可以向这个适配器中添加数据,数据会以上图中下拉列表形式展示出来。需要注意的地方: 布局文件中写法如下,默认AutoCompleteTextView会在输入2个字符时
2016-04-22 15:26:08
361
原创 android 混淆打包
首先生成自己的签名文件在\Java\jdk\bin目录下有一个keytool工具。配置好环境变量以后,在CMD中输入keytool -genkey,然后按照提示操作就可以。最后会在C:\user\当前用户\目录下生成一个.keystore文件。这个文件就是签名文件。配置混淆打包需要的参数在Eclipse中新建的项目的根目录下回有一个proguard.cfg或者proguard-project.tex
2016-04-22 15:05:46
325
原创 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
416
翻译 滑动刷新效果原理
主要使用到的类:NestedScrollingChildNestedScrollingParent 参考这里 参考这里 NestedScrolling提供了一套父 View 和子 View 滑动交互机制。要完成这样的交互,父 View 需要实现 NestedScrollingParent 接口,而子 View 需要实现 NestedScrollingChild 接口。 实现 Nes
2016-04-14 16:44:22
3725
翻译 自定义View的总结
总结来自官方文档 首先Android里边的视图是以树形结构组织起来的。视图树的绘制是从视图的根节点开始的。这就要求去测量和绘制这个视图树时遍历视图树上的每一个View。每一个Viewgroup也相当于一个树,他也有责任保证他的每一个子View的Draw方法会被调用。同样的每一个子View也有责任绘制自己。因为树是按顺序遍历的,这意味着ViewGroup会在子View被绘制之前已近被绘制了。(Vie
2016-04-14 15:01:06
351
原创 Picasso-A powerful image downloading and caching library for Android
Git地址代码分析:待完善。。。
2016-04-12 16:56:56
387
转载 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
16170
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
4526
原创 在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
504
翻译 动态类生成预加载-dexmaker使用
文章来源 下面这个例子非常典型,可以说入门非常好了。过程很简单,生成一个包含一个函数的类,在主程序里面动态加载(使用ClassLoader),然后执行类里面的函数。这是在Java平台的例子,我直接在Android上进行编程的,后面或说明相应的问题以及解决办法,下来看看这个例子吧。public final class HelloWorldMaker { public static void
2016-04-01 09:39:31
2763
原创 关于wifi连接与断开的监测
网上关于wifi打开或者关闭的监听例子还是比较多的,但是关于wifi连接到某一个point或者从某一个point断开的监听却比较少。经过研究,终于找到了对应得API。分享给大家。下边直接上代码: 说明:这里是直接在Application里边注册的广播。代码注释已近很详细了,大家自己看。 isNetWorkConnected这个变量代表当前wifi是连接还是断开。package com.benxu
2016-03-23 13:47:51
1820
原创 自定义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
369
原创 使用achartengine绘制折线图
// 要绘制的四条折线的名字 String[] titles = new String[] { "Crete", "Corfu", "Thassos", "Skiathos" }; // 折线图的x坐标 List<double[]> x = new ArrayList<double[]>(); for (
2015-09-10 10:30:51
537
原创 自定义开关按钮
效果图 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
443
1
原创 带有滚动效果的ViewPager
先看看效果 布局文件如下:<!--1.首先Viewpager 这个类是在V4这个jar包里的。使用之前必须先添加这个包。一般来说,这个jar包会默认加载到工程中2.viewpager 的创建也是采用适配器。这个和ListView类似。只是说Viewpager 的适配器需要继承自PagerAdapter。3.ViewPager本身是不能自动滑动的。要想实现自动滑动,必须不断的改变View
2015-04-12 09:15:27
464
原创 关于BaseAdapter中notifyDataSetChanged 失效的问题
关于BaseAdapter中notifyDataSetChanged 失效的问题昨天写了一个Listview的过滤器,过滤没有错误,确实是改变了List里的数据。但是调用notifyDataSetChanged 后发现没有任何效果,很是郁闷。
2015-03-18 10:17:39
1199
原创 Activity的4中加载模式
1.standard 模式 标准的模式,也是默人的2.singleTop 模式 Task顶端单例模式3.singleTask 模式 Task内单例模式4. singleinstance 模式 全局单例模式首先,介绍一下什么是Task .Task可以理解成是一个堆栈,创建activity就是压栈。返回就是将activity从Task中移除。
2015-03-13 16:24:24
494
org.eclipse.paho.client.mqttv3-1.0.1.jar
2017-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人