自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhou12314的专栏

业精于勤,荒于嬉;行成于思,毁于随

  • 博客(81)
  • 收藏
  • 关注

原创 自定义控件之RoundView

自定义控件一般分为分为4种,继承现有空间的 view  和  viewGoup,  还有就是自定义 view  和 viewGroup,今天我们以第一种情况为例,继承ImageView实现一个圆形图片和矩形圆角图片第一步:   定义自定义控件继承ImageView类,重写构造方法,一般重新两个就可以了,其他的构造函数我们用不到,构造函数的第三个第四个是               主题

2016-06-18 14:40:16 1352

原创 edittext只能输入数字和小数点时并且小数点后只能输入两个小数

给EdItext设置这个属性et_dollar.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);(只设置后面这个属性的话在一些手机上不能输入小数点)et_dollar.addTextChangedListener(new TextWatcher() { @Overrid

2016-06-17 12:05:37 4245

原创 edittext只能输入数字和小数点,且小数点后只能输入两位

1.在edittext的xml中输入属性android:inputType="numberDecimal"2.在edittext的监听中 et_dollar.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s,

2016-06-14 14:43:47 2320

原创 javascript编写方式及基本类型,引用类型

一:javascript一共有三种编写方式,其中2种内部编写方式,1种外部编写方式   内部编写方式一:    内部编写方式二: 标签,内部编写JS代码。 建议把该标签放在:或者标记内部 --> alert("hello good morning"); 外部编写方式:   把js代码写到一个扩展名为js

2016-06-08 00:47:48 334

原创 如何更改studio的svn地址

当我们的项目的服务器地址换的时候,我们需要在studio中重新定位项目地址第一步:这一步一般会报错第二步:第三步:重新再执行第二步操作

2016-06-04 07:25:40 3186

原创 android微信支付开发流程

今天做了微信支付,总结一下流程: 1.创建一个广播  public class AppRegister extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final IWXAPI msgApi = WXAPIFact

2016-06-02 23:47:28 1556

原创 如何不让EditText不自动获取焦点以及EditText只能输入数字

1.如何不让EditText不自动获取焦点   在该控件的父布局中加入 android:focusable="true" android:focusableInTouchMode="true"2.如何让EditText只能输入数字  在EditText的布局中加入    android:numeric="integer"

2016-05-25 06:19:46 281

原创 android评星控件RatingBar

RatingBar是android自带的评分软件直接贴代码: <RatingBar android:id="@+id/ll_rb_star" style="@style/custom_ratingbar_style" android:layout_width="wrap_content" and

2016-05-21 00:00:36 2104

转载 github前100名的android开源库

分类: Android开源项目(1) 目录(?)[+]转自:http://www.codeceo.com/article/github-top-100-Android-libs.html本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择 (Bes

2016-05-08 14:19:08 578

转载 andorid推送技术

目录(?)[+]前言最近研究Android推送的实现, 研究了两天一夜, 有了一点收获, 写下来既为了分享, 也为了吐槽. 需要说明的是有些东西偏底层硬件和通信行业, 我对这些一窍不通, 只能说说自己的理解.为什么要研究Android推送技术? 主要还是毕业设计要做一个即时通信app, 我是不喜欢做什么社交app的, 也就象牙塔里的人想得出来, 说实话有

2016-05-08 14:13:31 1174

转载 facebook 15个你必须知道的开源项目

Facebook为了争当开源第一大厂,已经把自家很多好东西都拿了出来贡献给开源世界,在开源之路上一骑绝尘,根本停不下来。Facebook开源项目涉及的领域有移动工具多样化、大数据、客户端web库、后台运行时和基础设施,还有通过开放计算项目涉及到的服务器和存储硬件等等。Facebook的GitHub账户有274个代码库,收到了39000次fork、提交了79000个commit,拥有24

2016-05-08 14:09:29 1139

原创 java设计模式之模板模式

1  概述:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤2  模板模式其实非常简单,仅仅使用了Java的继承机制,它的方法分为两类:基本方法和模板方法    基本方法:  基本方法是有子类实现的方法,在父类(模板方法中)被调用    模板方法:可以是一个或者几个,一般是一个具体方法,是对子类已经实现的基本方法进行调度,一般写在

2016-05-08 14:06:20 2123

原创 viewpager的setOffscreenPageLimit()

/** * Set the number of pages that should be retained to either side of the * current page in the view hierarchy in an idle state. Pages beyond this * limit will be recreated from the adapter when

2016-05-01 09:30:24 526

原创 android jni开发如何添加多cpu平台的支持

在jni目录下创建Application.mk 文件 在文件中添加  APP_ABI := x86 armeabi-v7a armeabi mips     如果要添加某个平台直接添加即可

2016-04-29 15:53:33 581

原创 jni开发常见的几种错误

写错了load的library                   java.lang.UnsatisfiedLinkError: Couldn't load hell0: findLibrary returned nullAndroid.mk文件编写错误                       /jni/Android.mk:4: *** missing separator. S

2016-04-29 15:07:14 569

原创 android jni开发流程

jni开发的流程:第一步:先在java代码中声明一个native的方法    /** * 第一步 * @return */ public native String fromC();第二步:在Eclipse的工程目录下创建一个文件夹 名称jni第三步: 编写c代码#include //引入标准输入输出的头文件#include "jni.

2016-04-29 14:33:40 472

原创 安卓原生控件SwipeRefreshLayout

SwipeRefreshLayout是安卓原生的下拉刷新控件,可以包裹一个子View   <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_container" android:layout_width="match_parent" android:layo

2016-04-26 17:28:41 369

原创 java设计模式之Builder模式

Builder模式(建造者模式)又称为生成器模式在建造者模式中,有如下4个角色:   Product产品类:通常是实现了模板方法模式 Builder抽象建造者:规范产品的组建,一般由子类实现   ConcreteBuilder具体建造者:实现抽象类定义的所有方法,并且返回一个组装好的对象   Director导演类:负责安排已有模块的顺序,然后告诉Builder开始建造(这个一

2016-04-24 23:50:23 448

原创 android沉浸式开发

最近项目里面要用到沉浸式开发,在网上查了好多资料,发现并不适合我们的项目,一般的做法是把布局设成全屏模式,利用 ChildView 的 fitsSystemWindows 属性来控制位置,但当我这样做了以后发现我们的layout是以整个屏幕的左上角为基准,也就是整个layout向上移动了一个状态栏的高度,所以我自己改善了一下,用了另外一种方式,先移除这个DecorView中的布局,然后手动设置我们

2016-04-13 13:16:40 414

原创 java设计模式之装饰模式

一:今天我们讲到装饰者模式,什么叫做装饰者模式呢?装饰者模式一般又常用于哪些场景呢?         所谓装饰者模式就是我们一般动态的给某些对象添加一些职责(功能)所用的方式(有点抽象哈,下面会详讲);         装饰者模式我们一般适用于某些对象经常添加或者删除功能(方法的场景下);二:今天我们以一个小汤上班的例子来详细讲解一下装饰者模式        早上起来,小汤同学又要

2016-04-09 22:43:19 320

原创 Viewstub的使用

ViewStub是一个轻量级的View,不占布局位置,占用系统的资源非常的少,它在刚开始的时候是看不见的,只有我们把它inflate()的时候它才会加载这个控件所包括的布局使用场景:当我们需要有选择的显示某个控件的时候我们可以使用这个控件,基本不占用资源注意事项:1.我们所要注意的是  ViewiStub只能inflate()一次,不能频繁使用2.ViewStub只能inflate

2016-04-07 15:09:39 312

原创 java设计模式之门面模式

概述:   当我们要实现一个复杂的功能时,这个功能可能是由好几个部分组成。在本文中我们以信息为例,写一封信我们大概需要4个步骤 写信,写信封,装信封,投递。也就是说在代码我们需要调用4次方法我们才能完成这样的功能,代码的可性都维护性和拓展性都非常低。今天我们这里讲的门面模式就是将这些方法都封装起来,只对外提供一个方法,将写信,装信封,投递这些操作全都封装到内部,这样可以极大的提高代码的拓展

2016-04-03 13:01:27 402

原创 Android消息机制------Handler机制的原理(超详细)

一:Handler,Message 与Looper1.Handler是androihd消息机制的上层接口,他的主要作用就是将一个任务切换到handler所在的线程去执行,它的内部主要依赖MessageQueue和Looper工作2.大概流程 :当handler的send方法调用时,它会调用MessageQueue的enqueueMessage方法将这个消息放在消息队列中,然后Looper发

2016-03-29 10:53:20 784

原创 安卓的4种线程池

第一种: FixedThreadPool                     优点:线程量固定,都是核心线程,所以可以更快的响应                     使用案例:Runnable runnable = new Runnable() { @Override public void run() { }};private void

2016-03-23 14:56:20 418

原创 IntentService的使用与优点

1.是一种服务,比较适合高优先级的后台任务  2.任务结束自动退出  3.IntentService是Service的子类,用来处理异步请求,IntentService在onCreate()通过HandlerThread开启一个线程  4.IntentService在onHandlerIntent()中处理完一个Intent请求的时候,如果后面没有intent请求的时候,会自动停止,如

2016-03-23 14:23:51 916

原创 android支付宝支付流程

1.  配置清单文件   uses-permission android:name="android.permission.INTERNET" />android:name="android.permission.ACCESS_NETWORK_STATE" />android:name="android.permission.ACCESS_WIFI_STATE" />android:nam

2016-03-21 15:05:47 600

原创 java设计模式之单例模式

单例模式在日常开发中是一个用的比较多的模式,一般用于不允许创建多个对象时使用,单例模式的写法比较简单,但有一点需要注意的就是,注意防止线程安全问题的发生,我一般写单例模式一般有两种写法  第一种,双重判断,效率稍低 第一种: public static Singleton getInstance() {          if (singleton == null) {

2016-03-19 12:45:33 341

原创 当使用ViewPager滑动发生java.lang.IllegalStateException: The specified child already has a parent.异常时的解决方案

这种异常是该控件在前面已经添加过一个父控件,当再次滑动重复执行instantiateItem方法,会重复添加,解决方法是先判断其父容器是否存在,如存在,先和此子控件解除关系代码如下:@Override public Object instantiateItem(View arg0, int arg1) // 实例化Item { /** * 防止向左滑动 */ Ima

2016-03-14 14:58:16 3843

原创 利用UncaughtExceptionHandler捕获全局异常

先了解一下UncaughtExceptionHandler这个类,它的名字叫做未捕获异常处理器,当系统出现未捕获异常时,系统默认会弹出强制关闭窗口,用户体验非常不好,我们可以实现这个接口,可以做一些自定义的界面,并可以把异常信息保存到文本中,发送到服务器,一遍我们发现bug定义一个类,实现这个接口 public class ErrorHandler implements Thread.Unc

2016-03-10 14:57:05 391

原创 java设计模式之代理模式

一 :概述:代理模式就是给其他对象提供代理,获取对这个对象的访问二: 下面以一个例子来讲述什么事代理模式: 学校要考试了,小高学习成绩不好,于是让小王来替考,在这里就用到了代理模式  先定义一个考试接口  public interface Test{ //考试的接口 public void work(); }  定义小王的考试类:   public class Xiao

2016-03-05 09:44:24 269

原创 ImageLoader的使用及总结

一: ImageLoader是一个强大的、可高度定制的图片缓存,简单的说就是ImageLoader就是通过url获取图片,显示在控件上,并通过url算法将图片缓存到内存和磁盘中二:使用ImageLoader的好处:1.   支持多线程,支持异步和同步加载2.   支持多种缓存算法,下载进度监听,ListView图片错乱3.   可配置度高。支持任务线程池、下载器、解码器、内存及磁盘

2016-03-01 15:20:00 905

原创 java设计模式之策略模式

策略模式概述:该设计模式是实现一个接口,各个子类去实现这个接口,在各个子类中可以实现各自的算法,然后在客户端持有这个接口的引用,可以随时去调用这个接口任何的一个实现算法优点:充分体现了高内聚,低耦合及扩展性(OCP)原则代码:public interface Method { //定义一个算法接口,用于子类实现public int out();}实现这个接口,定

2016-02-28 07:49:25 353

原创 java设计模式之观察者模式

概述:观察者模式相当于一对多的依赖,就是当一个对象改变时,会通知它所关联的类             在这里,我们把被观察者用接口Subject定义,把观察者用接口Observer定义              /** * 被监视的需要实现这个接口,用于添加,删除,通知观察者 * @author zhou * */public interface Subject { publi

2016-02-23 21:32:26 371

原创 用recylerView实现瀑布流的效果

recylerView是v7包中一个新组件,它具有item回收复用的功能,用户只要实现自己的ViewHolder就可以了,该组件会自动帮你回收复用每一个item废话不多说,直接上代码      布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

2016-02-17 11:51:01 712

原创 Activity正常情况及非正常情况生命周期探索

一:概述:          本文通过Activity的生命周期,启动模式,任务栈来对Activity进行阐述二:生命周期        1. 正常情况的生命周期                1.1:正常流程:onCreate():创建,可以在这里面做初始化工作onStart():  表示Activity已经启动,但不可交互onResume():  可交互状态,说明该

2016-02-13 18:44:43 488

原创 安卓动画之属性动画

一 属性动画概述:     属性动画是API11新加入的特性,和view动画不同,它可以对任何对象进行操作,甚至还可以没有对象,属性动画的默认间隔时间300ms,默认帧率10ms/帧,它的原理就是:在一段时间内完成一个对象一个属性值到另一个属性值的改变。     属性动画从API11以后才有,如果要兼容以前的版本,可以采用nineoldandroids,但是本质还是view动画二 属性

2016-01-24 22:37:31 428

原创 安卓动画之listView动画,Activity切换动画,Fragment切换动画及LayoutAnimation的使用

View动画的特殊使用场景 1. LayoutAnimation:        layoutAnimation作用于ViewGrop,为这个ViewGroup指定一个动画,这样当它的子元素出场时都会具有这种动画效果,有代码和xml两种方式      一般我们可以作用于listView,线性布局,相对布局等  xml:xml version="1.0" encoding="ut

2016-01-24 17:05:14 713

原创 安卓动画之Frame动画

帧动画是按顺序播放一组预先定义好的图片,不同于View动画,系统提供了另外一个类AnimationDrawable来使用帧动画xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="false">android:drawabl

2016-01-24 17:02:36 296

原创 安卓动画之Tween动画

一 动画框架概述:       在安卓的平台中有一套完整的动画框架,在安卓3.0之前,也就是API11以前,安卓一共有两种动画,就是补间动画(TweenAnimation)和逐帧动画(Fragme Aniamtion,Drawable Animation),在安卓3.0之后为增强与动画的交互出现了  属性动画(Property Animation).       因为Tween Anima

2016-01-24 17:01:22 560

原创 关于Bitmap对象,尺寸压缩,质量压缩

一:在什么时候我们需要对图片质量压缩?  一般情况下,我们在网上上传图片的时候要压缩图片的质量(体积),因为有的时候服务器对图片大小有限制二: 在什么时候我们需要对图片尺寸压缩?        我们从服务器请求的图片通常要转化为Bitmap对象,如果该图片尺寸越大,通常所需要的Bitmap也越大,为防止oom,所以通常我们要对图片进行尺寸压缩三: 在Bitmap中我

2016-01-21 17:56:47 8726 1

空空如也

空空如也

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

TA关注的人

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