摘要: 时间:2015年12月25日15:32:021、什么是重构? 重构就是调整程序的代码改善程序的质量、性能,使程序的设计模式和架构更加合理,提高软件的扩展性和维护性。2、为什么都开发完成了再去重构它?为什么不是开始的时候就设计合理一点? 一个完美的预见未来的设计和可以容纳所有扩展的设计是不存在的,在程序设计的时候编程人员只能从大局方面去设计一个软件,无法做到滴水不漏的设计... 阅读全文
posted @ 2016-02-29 18:12 五月的雨 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 并行与并发 时间:2015年12月25日14:32:24直观来讲,并发是两个等待队列中的人同时去竞争一台咖啡机(当然,人是有理性懂礼貌的动物(也不排除某些很霸道的人插队的可能),两队列中的排队者也可能约定交替使用咖啡机,也可能是大家同时竞争咖啡机,谁先竞争到咖啡机谁使用,不过后一种的方法可能引发冲突,因为两个队列里面排在队列首位的人可能同时使用咖啡机),每个等待者在使用咖啡机之前不仅需要知道... 阅读全文
posted @ 2016-02-29 18:12 五月的雨 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Adobe Reader Font Package问题 时间:2015年12月24日17:23:58问题描述:缺少font packageafontpackageisrequiredtocorrectlydisplay this page.click oktodirect your browsertodownload the add-on from adobe...解决方... 阅读全文
posted @ 2016-02-29 18:12 五月的雨 阅读(6557) 评论(0) 推荐(0) 编辑
摘要: 一、==符的使用首先看一段比较有意思的代码Integer a = 1000,b=1000;Integer c = 100,d=100; public void mRun(final String name){ new Runnable() { public void run() { System.out.println(nam... 阅读全文
posted @ 2016-02-29 18:11 五月的雨 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 时间:2016年1月7日20:23:43如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他变量的值也和预期的是一样的,就是线程安全的,也就是说,多个线程同时运行同一段代码时不会造成资源冲突,产生错误结果。 线程安全的代码在多个线程中使用时不需要作同步处理;而线程不安全的代码在多个线程中使用时必须作同步处理,否则可能产... 阅读全文
posted @ 2016-02-29 18:11 五月的雨 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 时间:2016年1月13日09:28:52 软件测试的目的:以最少的时间和人力找出软件中存在的错误或者缺陷,能够检测软件的功能和需求是否匹配。 软件测试流程:制定测试计划编写测试用例执行测试用例发现并提交bug开发组修正bug对bug进行返测修正完成的bug状态关闭,未修正的bug状态重新激活 软件测试的种类(阶段划分):单元测试集成测试系统测试验收测试(交付测试... 阅读全文
posted @ 2016-02-29 18:11 五月的雨 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Java不变类 时间:2015年12月28日11:18:33定义:不会发生变化的类,就是当类的实例创建后不会发生变化的类。例如:String Integer Boolean 等包装类不变类的好处: 1.线程安全的,由于不变类的状态在创建后不会发生改变,所以可以进行线程间的数据共享,不需要同步. 2.不变类的instance可以被重复使用(reuse).如果一个类是不... 阅读全文
posted @ 2016-02-29 18:10 五月的雨 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 四种方法进行类的实例化 时间:2016年1月8日14:23:46通过new操作符通过Class对象的newInstance();通过clone,实现对现有实例的clone通过objectInputStream的readObject()方法反序列化来自为知笔记(Wiz) 阅读全文
posted @ 2016-02-29 18:10 五月的雨 阅读(577) 评论(0) 推荐(0) 编辑
摘要: C语言指针 时间:2016年1月18日15:19:52想了解C语言中的指针,首先要了解指针四个方面的值:指针的类型:去掉指针声明中的指针的名字剩下的就是指针的类型。指针所指向的类型:去掉指针声明中的指针的名字和左边的指针说明符*,剩下的就是指针所指向的类型。指针的值/指针所指向的内存地址:指针的值就是指针所存储的一个值,该值会被编译器解析为一个数值,该数值不是一个一般的数值,在32位程序中... 阅读全文
posted @ 2016-02-29 18:09 五月的雨 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 时间:2016年2月16日13:27:33import java.io.ByteArrayInputStream;import java.io.InputStream;/** * 操作工具类 */public class StreamTools { /** * @param inStream * @return 字节数组 * @throws Exception ... 阅读全文
posted @ 2016-02-29 18:09 五月的雨 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 时间:2015年12月28日15:48:05 生命周期: 注意事项: 1. service需要在manifest.xml文件中注册: 对于xml的配置,官方有些建议:- 为了确保应用的安全性,请始终使用显式 Intent 启动或绑定 Service,且不要... 阅读全文
posted @ 2016-02-29 18:08 五月的雨 阅读(857) 评论(0) 推荐(0) 编辑
摘要: CoordinatorLayout 时间:2015年12月31日15:07:18coordinator:协调者;协调器CoordinatorLayout的主要用途: - As a top-level application decor or chrome layout //作为顶层应用程序的装饰和布局 - As a container for a specific in... 阅读全文
posted @ 2016-02-29 18:08 五月的雨 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 时间:2015年12月22日16:12:34问题描述: 1) 在android.support.v4.widget.NestedScrollView中直接嵌套ListView时出现的情况:listview显示不全只有一行或者两行。 2) 如果listview的item中有根据id选择选项会导致选择错乱,现在(2015年12月22日16:13:55)碰到的问题... 阅读全文
posted @ 2016-02-29 18:08 五月的雨 阅读(5714) 评论(0) 推荐(1) 编辑
摘要: 时间:2015年12月28日12:01:22如何使用toolbar? 基础使用步骤: 1.style 2.layout 3.java a.style调整的地方主要为style.xml,新增加一个style,这里name叫做:AppTheme.Base,为了让原本的actionbar隐藏起来,所以写为: //或者是添加... 阅读全文
posted @ 2016-02-29 18:08 五月的雨 阅读(409) 评论(0) 推荐(0) 编辑
摘要: Android四大组件service之Bound Service 时间:2015年12月28日17:10:45 1.概念 bound服务是客户端-服务器模式的服务。bound服务允许组件(比如activity)对其进行绑定、发送请求、接收响应、甚至进行进程间通信(IPC)。 bound服务一般只在为其它应用程序组件服务期间才是存活的,而不会一直在后台保持运行。 ... 阅读全文
posted @ 2016-02-29 18:07 五月的雨 阅读(703) 评论(0) 推荐(0) 编辑
摘要: View:课桌 Canvas:笔记本Paint:手中的笔canvas.save(); //保存当前图形的一个可以剪辑的状态paint.setColor(Color.parseColor("#33ff88"));//设置颜色paint.setColor(Color.rgb(33,65,88));//设置颜色canva.restore(); //释放资源来自为知笔记(Wiz) 阅读全文
posted @ 2016-02-29 18:07 五月的雨 阅读(131) 评论(0) 推荐(0) 编辑
摘要: getMeasuredHeight()与getHeight的区别 时间:2015年12月22日16:47:56实际上在当屏幕可以包裹内容的时候,他们的值相等,只有当view超出屏幕后,才能看出他们的区别: getMeasuredHeight()是实际View的大小,与屏幕无关,而getHeight的大小此时则是屏幕的大小。当超出屏幕后,getMeasur... 阅读全文
posted @ 2016-02-29 18:07 五月的雨 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 时间:2015年12月22日19:01:46 自定义View的实现步骤:1.写一个自定义控件类,这个类就是你的自定义控件的实现.2.在res/values目录下建立一个attrs.xml的文件,在这个文件中增加对控件的自定义属性的定义.3.使用带AttributeSet参数的类的构造函数,并在构造函数中将自定义控件类中变量与attrs.xml中的属性连接起来.4.在自定义控件类中使用这些已经连接的... 阅读全文
posted @ 2016-02-29 18:07 五月的雨 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 为什么把fill_parent改为match_parent? 有个观念需要纠正的是,fill_parent应该是子view会占据剩下容器的空间,而不会覆盖前面已布局好的其他view空间,当然后面布局子 view就没有空间给分配了,所以fill_parent属性对布局顺序很重要。以前所想的是把所有容器的空间都占满了,难怪google在2.2版本里 把fill_parent的名字改为match_... 阅读全文
posted @ 2016-02-29 18:06 五月的雨 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 时间:2015年12月28日14:31:11 设置软件启动Activity在AndroidManifest.xml中: 来自为知笔记(Wiz) 阅读全文
posted @ 2016-02-29 18:06 五月的雨 阅读(163) 评论(0) 推荐(0) 编辑