- 博客(22)
- 收藏
- 关注
原创 Android 消息机制 以及Message、Handler、Message Queue、Looper之间的关系。
关系:Message消息对象,MessageQueue存放Message的载体,Looper就是无线循环查找MessageQueue中是否有消息,Handler就是创建的时候会使用Looper来构建消息循环。工作原理:创建handler的线程中一定有个looper,不然就会报错。Handler使用方法有2个,一个是post,一个是send。Post最终也是调用send的
2016-04-14 17:00:20 507
原创 Android weight属性
在做Android布局的时候,经常遇到需要几个控件按比例分配空间的情况,使用layout_weight属性可以分配要正确使用weight,不要再去纠结 android:layout_width="match_parent"和 android:layout_width="wrap_content" 两种情况下该如何设置weight. 因为这样设置根本就是错误的用法.正确的用法是:先设
2016-04-13 17:48:03 424
转载 Android Context 上下文
1、Context概念其实一直想写一篇关于Context的文章,但是又怕技术不如而误人子弟,于是参考了些资料,今天准备整理下写出来,如有不足,请指出,参考资料会在醒目地方标明。Context,相信不管是第一天开发Android,还是开发Android的各种老鸟,对于Context的使用一定不陌生~~你在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创
2015-03-17 22:14:42 365
转载 设计模式之命令模式——管理智能家电
定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。这尼玛定义,看得人蛋疼,看不明白要淡定,我稍微简化一下:将请求封装成对象,将动作请求者和动作执行者解耦。好了,直接用例子来说明。需求:最近智能家电很火热啊,未来尼玛估计冰箱都会用支付宝自动买东西了,,,,假设现在有电视、电脑、电灯等家电,现在需要你做个遥控器控制所有家电的开关,
2015-03-14 22:38:30 635
转载 设计模式之观察者模式——微信公众服务
先来看看观察者模式的定义:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。好了,对于定义的理解总是需要实例来解析的,如今的微信服务号相当火啊,下面就以微信服务号为背景,给大家介绍观察者模式。看一张图:其中每个使用者都有上图中的3条线,为了使图片清晰省略了。如上图所示,服务号就是我们的主题,使用者就是观
2015-03-14 22:26:33 372
转载 设计模式之策略模式——角色游戏
先来看看策略模式的定义:策略模式(Strategy Pattern):定义了算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户。好了,对于定义,肯定不是一眼就能看明白的,不然这篇文章就收尾了,对于定于大家简单扫一眼,知道个大概,然后继续读下面的文章,读完以后再来回味,效果嘎嘣脆。大家应该都玩过武侠角色游戏,下面我就以角色游戏为背景,为大家介绍:假设公
2015-03-14 22:24:30 523
转载 设计模式之装饰者模式——游戏装备设计
装饰者模式:若要扩展功能,装饰者提供了比集成更有弹性的替代方案,动态地将责任附加到对象上。先简单描述下装饰者模式发挥作用的地方,当我们设计好了一个类,我们需要给这个类添加一些辅助的功能,并且不希望改变这个类的代码,这时候就是装饰者模式大展雄威的时候了。这里还体现了一个原则:类应该对扩展开放,对修改关闭。下面进入正题,今天在那看电影,忽然想起年轻时在游戏场上的血雨腥风啊,哈哈,下面以
2015-03-14 22:11:34 1547
转载 设计模式之单例模式
这个模式用得应该很频繁啊,而且也比较简单直接介绍几种线程安全的且我觉得还比较不错的方式:1、是不是号称恶汉,就是类加载就初始化了[java] view plaincopypackage com.zhy.pattern.singlton; public class Singleton { pri
2015-03-14 22:04:40 295
转载 设计模式之工厂模式——从卖肉夹馍说起
简单列一下这个模式的家族:1、静态工厂模式2、简单工厂模式3、工厂方法模式4、抽象工厂模式是不是觉得,我勒个去,这工厂还能列出这么多分类,哈哈,下面开始各个击破。1、静态工厂模式这个最常见了,项目中的辅助类,TextUtil.isEmpty等,类+静态方法。下面开始详细介绍:略。2、简单工厂模式下面开始谈谈卖肉夹馍,最近程
2015-03-14 22:02:38 502
转载 设计模式之适配器模式——手机充电器
定义:将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以相互合作。这个定义还好,说适配器的功能就是把一个接口转成另一个接口。发现两张图片可以很好的解释适配器模式:这两张图很好的说明了适配器的作用哈,话说我当年买了个欧版的HTC G17 ,还配了个插头转化器,这个插头转化器就是起得适配器的作用。下来来点代码解释哈,如题目,手机充电器一般都
2015-03-14 21:59:08 589
转载 设计模式之外观模式——一键电影模式
先看 外观模式(Facade Pattern)定义:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用。其实就是为了方便客户的使用,把一群操作,封装成一个方法。举个例子:我比较喜欢看电影,于是买了投影仪、电脑、音响、设计了房间的灯光、买了爆米花机,然后我想看电影的时候,我需要:1、打开爆米花机2、制作爆米花3、将灯光调暗
2015-03-14 21:56:41 798
转载 设计模式之模版方法模式——展现工作的一天
先看下定义:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。简单看下定义,模版方法定义了一个算法的步骤,并且允许子类为一个或多个步骤提供实现。定义还算清晰,下面来个例子展示下本公司的上班情况(纯属娱乐,如有雷同,请对号入座)。简单描述一下:本公司有程序猿、测试、HR、项目经理等人,下面使用模版方法模式,记录下所有人员的上班情
2015-03-14 21:52:21 315
转载 设计模式之状态模式——自动售货机
转载自:http://blog.csdn.net/lmj623565791/article/details/26350617先看定义:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。定义又开始模糊了,理一下,当对象的内部状态改变时,它的行为跟随状态的改变而改变了,看起来好像重新初始化了一个类似的。下面使用个例子来说明状态模式的用法,现在有个自动售货机的
2015-03-14 21:21:12 979
转载 Java 并发
每天起早贪黑的上班,父母每天也要上班,话说今天定了个饭店,一家人一起吃个饭,通知大家下班去饭店集合。假设:3个人在不同的地方上班,必须等到3个人到场才能吃饭,用程序如何实现呢?作为一名资深屌丝程序猿,开始写代码实现:[java] view plaincopypackage com.zhy.concurrency.latch;
2015-03-14 18:54:14 334
转载 Android中的5种数据存储方式
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据; 2 文件存储数据;3 SQLite数据库存储数据;4 使用ContentProvider存储数据;5 网络存储数据; 下面将为大家一一详细介绍。第一种: 使用SharedPrefer
2013-04-12 11:32:32 429
转载 java 之HashMap取值
Map map = new HashMap(); map.put("1", "11"); map.put("2", "22"); System.out.println("里面的值有:"); Collection connection = map.values(); Iterator iterator = connection.iterator(); wh
2013-03-26 17:56:43 726
转载 java 获取文件夹大小,文件大小,文件个数
import java.io.File;import java.text.DecimalFormat;import java.io.FileInputStream;public class GetFileSize{ public long getFileSizes(File f) throws Exception{//取得文件大小 long s=0;
2013-03-26 17:55:15 467
转载 主线程等待子线程执行完毕后再执行
//Main主线程 public class MainThread { public static void main(String[] args) throws InterruptedException { longstartTime = System.currentTimeMillis(); intthreadNu
2013-03-25 17:59:31 635
原创 android 自定义圆形进度条
xml布局 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > android:l
2013-03-25 17:50:06 597
原创 android退出程序销毁多个Activity方法
自定义Activity定义栈。写一个MyApplication 类,利用单例模式管理Activity,在每个在Activity 的onCreate()方法中调用MyApplication.getInstance().addActivity(this)方法,在退出时调用MyApplication.getInstance().exit()方法,就可以完全退出应用程序了。MyAppl
2013-03-04 18:03:31 354
原创 android获取AndroidManifest.xml文件中versionCode,versionName值
try { packagemanager pm = getPackageManager(); PackageInfo pinfo = pm.getPackageInfo(gerPackageName(), PackageManager.GET_CONFIGURATIONS); String versionCode = pinfo.versionNa
2013-03-04 17:57:03 901
原创 Spinner 添加数据方式
android:id="@+id/LinearLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.a
2013-02-25 17:35:12 1295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人