- 博客(142)
- 资源 (44)
- 收藏
- 关注
原创 日拱一卒(五十二)
BigDecimal.setScale:BigDecimal枚举常量用法摘要 : CEILING 向正无限大方向舍入的舍入模式。 DOWN 向零方向舍入的舍入模式。 FLOOR 向负无限大方向舍入的舍入模式。 HALF_DOWN 向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。 HALF_EVEN 向最接近数
2015-04-23 23:09:33 722
原创 日拱一卒(五十一)
hello event bus!package com.moonlight.eventdemo;import de.greenrobot.event.EventBus;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import and
2015-04-22 23:57:07 485
原创 日拱一卒(五十)
选择排序:public class SelectSort { public static void main(String[] args) { int[] arr = new int[] { 1, 3, 2, 10, 9, 6, 8, 2 }; selectSort(arr); for (int a : arr) { System.out.println(a); }
2015-04-21 23:44:57 439
原创 日拱一卒(四十九)
插入排序: public class InsertSort { public static void main(String[] args) { int[] ret = insertSort(new int[] { 9, 2, 4, 1, 2, 5, 10, 23, 33, 2, 22 }); for (int val : ret) { System.out.println
2015-04-20 23:26:34 438
原创 日拱一卒(四十八)
冒泡排序:public class BubbleSort { public static void main(String[] args) { sort(new int[] { 5, 3, 2, 9, 2, 0, 4 }); } public static void sort(int[] a) { int temp = 0; for (int i = a.length -
2015-04-19 22:20:31 893
原创 日拱一卒(四十七)
快速排序: public class QuickSort { public static void main(String[] args) { sort(new int[] { 5, 4, 2, 1, 9, 7, 10, 0, 3 }, 0, 8); } public static void sort(int arr[], int low, int high) { int
2015-04-18 22:43:28 535
原创 日拱一卒(四十五)
中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互调用,从而使其耦合松散,而且可以独立地改变它们之间的交互。白话:待续
2015-04-16 22:48:05 607
原创 日拱一卒(四十四)
职责链模式(Chain of Responsibility):使多个对象都有机会处理要求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 白话:待续
2015-04-15 22:48:08 549
原创 日拱一卒(四十三)
命令模式(Command):请一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 白话:待续
2015-04-14 23:36:47 550
原创 日拱一卒(四十一)
迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露对象的内部表示。白话:java中的iterator就是这样的模型,聚合对象不暴露自己内部的数据组合,而是将遍历任务交给iterator,iterator固定提供几个遍历用到的方法给client。角色:(1)聚合类:被迭代器访问的聚合类; (2)迭代器:遍历聚合类的操作类;注:迭代器提
2015-04-12 21:43:57 574
原创 日拱一卒(四十)
访问者模式(Vistor):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变其他元素的类的前提下定义作用于这些元素的新操作。 白话:略
2015-04-11 23:54:51 451
原创 日拱一卒(三十九)
解释权模式(interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 白话:待续
2015-04-10 22:44:32 467
原创 日拱一卒(三十八)
单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。 白话:略 实现:(1)私有化构造方法 (2)提供一个静态方法返回这个单例的应用。 使用场景:某个情况下只允许这个类的一个实例存在,比如
2015-04-09 23:57:53 493
原创 日拱一卒(三十六)
备忘录模式(Memento):在不破坏封装性的的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的对象。 白话:备忘录模式好比游戏中的备份,记录了以前的状态,用于状态出错时恢复使用。角色:(1)原发器(Originator):需要被备忘存档的对象。 (2)备忘录(Memento
2015-04-07 23:07:23 782
原创 日拱一卒(三十五)
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本接口不兼容而不能一起工作的那些类可以一起工作。 白话:适配器模式就相当于一个变压器,变压器的一头电压可对应与类的接口,另一头则对应于客户希望的接口,变压器则用于适配。 角色:(1)Target:客户端希望
2015-04-06 23:05:40 485
原创 日拱一卒(三十三)
状态模式(State):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 白话:当一个对象存在很多个状态,不同的状态产生不同的行为,这样会产生复杂的逻辑分支代码,如果要新增一种状态,则要改变产生这种行为的方法,违背了“开放-封闭”原则;此时可以用状态模式:将这个对象的状态抽象出一个基类State,对象的每个状态则是State这个类的子类,在这些子类中改变原
2015-04-05 22:16:12 533
原创 日拱一卒(三十二)
观察者模式(Observer):定义一种一对多的依耐关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 白话:当类A的改变引起多个类B,C,D的改变,则可以将A类设置成被观察者;B,C,D则为观察者;被观察者提供通知、注册观察者,反注册观察者的方法
2015-04-04 22:46:44 495
原创 日拱一卒(三十一)
建造者模式:将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 白话:建房子为例,房子可以分成地基,中间部分,房顶。虽然有各式各样的房子,但他们的构建顺序是一样的,这样就可以把这个共有的构建过程抽象出来放到一个构建类中,提供一个将表示构建起来的方法;将地基,中间,房顶这些具体的构建细节放到一个表示类中。这样表示类的变化则不会影响构建类的构建过程
2015-04-04 22:31:08 564
原创 日拱一卒(三十)
迪米特法则(LoD):如果两个类不能彼此直接通信,那么这两个类就不应到发生直接的作用。如果其中一个类需要调用另一类的某一个方法的话,可以通过第三方转发这个调用。 白话:Android中Intent类就是这个很好的实例,Activity,Service之间设计就是这样的松耦合,他们不直接通信,而是用Intent这个第三方来通信。 优点:类之间松
2015-04-02 22:38:20 504
原创 日拱一卒(二十八)
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 白话:用拷贝的方式创建新对象,不仅减少了new操作的带来的臃肿代码提高了维护性,还提高了效率(普通情况下比new分配的空间小) 注意:克隆设计到两种拷贝: (1)浅拷贝:栈中的成员被逐位复制,堆中的对象不复制,堆对象引用指向原型堆对象。
2015-03-31 22:56:00 484
原创 日拱一卒(二十七)
代理模式:为其他对象提供一种代理以控制对这个对象的访问。 白话:为真实对象向外提供指定的访问功能。 使用情况:一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 组成:①抽象角色:真实角色的代理,可附加自己的操作(比如访问权限)。 ②具体角色:实现抽
2015-03-30 22:51:36 745
原创 日拱一卒(二十五)
单一职责原则:一个类,仅有一个引起他变化的原因。如果一个类承担的责任太多,等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 白话: 软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离,如何判断是否分离:如果你能够想到多于一个的动机
2015-03-28 23:30:05 727
原创 日拱一卒(二十四)
策略模式: 将一些算法封装到一个策略操作类中,客户端仅与策略操作类交互,策略的实现对客户透明。1.策略中有两个角色:(1)策略(Strategy的子类)(2)策略操作类(Context)下面是客户端代码:可以看到客户端只与策略操作类CashContext交互2.策略与简单工厂结合:将客户端对cash的逻辑代码移植到策略操作类中,减少客户端的逻辑,则更改策略不会影响客户端
2015-03-27 23:39:08 530
原创 日拱一卒(二十三)
工厂模式1.简单工厂模式(静态工厂方法模式):一个工厂类+一个产品基类+多个产品类;优点:将复杂的对象构造过程封装到工厂类中,扩展性体现在对产品基类的继承上。缺点:违反了开放封闭原则(对扩展开放,对修改关闭):增加子类的时候修妖修改工厂类。 2.工厂方法模式:一个工厂基类+多个工厂类+一个产品基类+多个产品类;一个工厂子类对应于一个产品子类。优点:解决了简单工厂模
2015-03-26 23:53:12 496
原创 日拱一卒(二十二)
Android ShapeDrawable在低版本(2.1及以下)设置android:XXRightRadius="0dp"无效解决方案:比如想设置一个上左右圆角,下左右角的效果,则可以用放两个shape放到layerlist解决: <corners andr
2015-03-25 23:42:49 601
原创 日拱一卒(二十一)
Android RemoteCallbackList:先来看下Android官网对RemoteCallbackList的说明:Takes care of the grunt work of maintaining a list of remote interfaces, typically for the use of performing callbacks from aSe
2015-03-24 23:22:19 648
原创 日拱一卒(二十)
Android布局优化: (1)尽可能多的使用Relativelayout;---------------因为Android手机硬件很多,Relativelayout灵活能更好的适应与不同的android设备。 (2)尽可能使用include标签;-----------------include可以将相同的组件提取出来,以便其他布局服用,有利于后期维护。 (3)
2015-03-23 23:27:04 383
原创 日拱一卒(十九)
修改Android项目中Source Folder的顺序:以下图为例: 如果想要把test放到gen目录上面,则打开工程所在目录,打开.classpath,将移到上面保存,再在eclipse刷新,则可以看到test已在gen目录上了
2015-03-22 23:57:19 419
原创 日拱一卒(十七)
Git托管代码到GitHub:1.登录Github账号(没有的话先注册),创建一个版本库:这里创建的版本库名为coolweather,选择Android类型的.gitignore文件,使用Apache v2 License作为项目开源协议。点击Create repository按钮,coolweather这个版本库就创建完成了。版本库地址:https://github.
2015-03-20 23:50:16 643
原创 日拱一卒(十六)
Git时间,版本控制工具用法:1.分支用法:在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且相互之间不会影响。分支的工作原理示意图:
2015-03-19 22:44:23 541
原创 日拱一卒(十五)
Git时间,版本控制工具进阶忽略文件 创建一个.gitignore文件,在文件中加入想忽略上传的文件,文件夹 如忽略Android项目的bin和gen目录: 查看修改的内容 git status 红色部分modified:表示有修改的文件查看修改的内容: git diff —代表删除的部分,+++代表添加的部分 如果你只想查看MainActivity.java这个文件:
2015-03-18 23:55:37 606
原创 日拱一卒(十四)
Git(初识):1.安装:Linux:sudo apt-get install git-coreWindows: 通过git下载路径下载exe安装2.创建代码仓库Linux下打开shell,windows打开Git bash(1) 配置下身份:git config --global user.name "Tony"git config --global
2015-03-17 23:34:04 401
原创 日拱一卒(十三)
Android之Notification:(1)要发送一个Notification需要一个NotificationManager:NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);(2)初始化Notification:
2015-03-16 23:44:38 958
原创 日拱一卒(十二)
ContentProvider1.内容URI标准的格式写法(权限+路径):content://com.example.app.provider/table1content://com.example.app.provider/table2 当然也可以具体到表中id:content://com.example.app.provider/table1/1
2015-03-15 23:46:32 491
原创 日拱一卒(十一)
获取全局Context的技巧:很多时候需要用到context,如在请求一个网络时候需要提示是否请求成功。通常逻辑代码与上层UI是分开的,因此往往获取不到Context的,好的处理方法:改写APP原有的Application,在onCreate中获取getApplicationContext(),在提供一个全局静态方法获取context。public class MyApplic
2015-03-13 23:58:57 485
原创 日拱一卒(十)
Java反射:1.普通内部类不能用反射实例化,静态内部类可以2. newInstance被调用的类必须存在无参构造方法(要么存在明确无参构造,要么存在系统自带的无参构造)3.getConstructors()---得到的Constructor[] constructors并不是按照类中的构造顺序填写的4.内部类与主类之间用$,而不是.public Method[]
2015-03-12 22:47:45 447
AndEngineExamples_GLES2
2014-04-12
AndEngine for Android Game Development
2014-03-19
Java编程思想第四版练习题答案
2013-08-27
linux四库全书(0分奉送)
2013-08-20
MinGW8.1.rar
2021-04-16
SwitchHosts
2021-03-11
Windows右键添加“在此处打开CMD”
2020-12-08
Sublimetext3.3126
2017-06-10
chrome鼠标手势插件
2016-09-10
leakcanary的eclipse_library_project
2016-07-28
leakcanary-android
2016-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人