自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 多线程下用Socket实现客户群聊的问题

服务端代码import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.

2016-08-16 23:55:11 873

原创 观察者设计模式

观察者设计模式用于建立一种对象之间的依赖关系,当一个对象发生改变时自动通知其他对象,其他对象相应做出反应。在Android系统中对事件的监听,其实也是一种观察者模式,(一个观察者,多个观察对象)观察者是系统,被观察者是每一个控件,当控件状态改变时,会通知系统执行去执行具体的任务,任务的内容由我们去指定(通过系统回调我们实现的抽象方法),核心还是回调方法(感觉回调方法在框架里扮演了重要角色)

2016-08-16 23:51:13 245

原创 动态代理与AOP

import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class Aop { public static void main(String[] args) { Music music = new Musi

2016-08-15 19:01:32 253

原创 Design Pattern笔记(第三章 创建型模式 :Abstract Factoty---对象创建型模式)

工厂模式,把new的操作封装起来,屏蔽掉了客户直接接触具体对象的过程,只让客户与基类交互,降低耦合,增强代码的扩展性意图:提供一个创建一系列相关或相互依赖的接口,而无需指定它的具体类型。简单工厂public class AbstractFactory { public static void main(String[] args) { VehicleFactory.produceCar(); }}abstract class Vehicle{ abstract public

2016-08-01 21:16:09 312

原创 Design Pattern 笔记(第一章)

面向对象的主要目的:减少重复代码和重复设计设计可复用的面向对象软件找到相关的对象,以适当的粒度将它们归类再定义类的接口和继承层次建立对象之间的基本关系什么是设计模式模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动设计模式的基本要素:1. 模式名称:一个助记名,用来描述模式的问题

2016-07-31 18:17:07 196

原创 为什么子类的访问权限不能低于超类的访问权限

Effective Java在讲到使类和成员的可访问性最小的规范中:如果方法覆盖了超类中的一个方法,子类中的访问级别就不允许低于超类中的访问级别。这样可以确保任何可以使用超类实例的地方也都可以使用子类的实例。之前没有想过为什么要有这样的一条规则,只是当成语法记下来,可是看到这句话时想到了多态性,利用多形性:将接口从具体的实施细节中分离出来,实现“是什么”与“怎样做”两个模块的分离,代码

2016-07-30 15:28:15 2536

原创 关于回调技术的原理和作用

初次遇见回调函数最开始接触回调方法是在Android中。从第一个Hello world程序开始,为了把xml文件中的控件显示到Activity中,我们必须把设置布局文件的代码写到一个叫Oncreat()的方法中,当时只知道这个叫回调方法,(至于这是Activity的生命周期方法中调用的第一个方法,当时也还没有涉及)随处可见的回调函数随着接下来的学习,发现有很多的以On开头的方法,并且它

2016-07-29 22:33:58 3992 2

原创 从类文件分析Java类装载过程<clinit>方法的调用和<init>的调用

类的具体加载过程,再到初始化;从类文件字节码分析,类装载调用<clinit>,到类员初始化调用<init>,从init中可以看出构造方法总是在最后才调用的

2016-07-28 19:54:34 3014 3

原创 关Android ListView中控件定义成全局变量的错误

重写getView方法时,由于把item中的控件定义成全局变量,在接下来的复用缓存中把填充布局文件与找控件的代码写成这样if(convertView == null){ view = View.inflate(MainActivity.this, R.layout.item_listview, null); tv_title = (TextView) view.findViewById

2016-05-31 23:06:18 964

原创 Java泛型机制笔记

Java泛型机制不是真正的泛型机制,因为虚拟机没有泛型类型对象,所有对象都属于普通类;无论何时定义一个泛型类型,都自动提供一个相应的原始类型。原始类型的名字就是删去类型参数后的泛型类型名。即擦除类型变量,把泛型替换为限定类型(无线定的变量用Object)。方法的擦出带来两个复杂问题:对于继承一个泛型类的类,它会有同一方法名的函数重载问题,在这里类型擦出与多态发生冲突,要解决问题需要编译

2016-05-12 22:10:37 208

原创 在静态方法中实例化非静态类内部类时报错

在main函数中实例化内部类时会报错:No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing instance of type Test (e.g. x.new A() where x is an instance of Test).说没有可用的实例,

2016-05-09 22:22:39 602

原创 equals方法,instanceof检测对象是否相等以及hashcode笔记

Object类的equals方法用于检测一个对象是否等于另外一个对象,在Object类中,这个方法将判断两个对象是否具有相同的引用,这和等号的作用是一样的,因为就是用等号实现的public boolean equals(Object obj) { return (this == obj); }所以基本山要对equals重写,像Sting,Math,等类就重写了equals方

2016-05-09 19:48:53 379

原创 listview中数据如果要实时读写,需要每次操作后都要查询数据库吗

总结一下填充listview的步骤:1:准备数据:先把要填充的数据从数据库中查询出来,放入一个list存放2:设置listview中item的格式,新建一个xml文件,自定义布局3:新建一个adapter类继承baseadapter,需要重写几个方法@Override public int getCount() { System.out.println("getCout执

2016-04-26 20:18:50 1192

原创 在listview中添加togglebutton时listview会失去焦点

1:可以在item的布局文件的父元素中添加    android:descendantFocusability="blocksDescendants"属性2:也可以在每一个子节点中添加     android:focusable="false"属性

2016-04-26 16:30:49 255

原创 在对listview刷新重新填充时,重复显示之前的内容

要记得在查询数据库,把数据放到list中时把list清空

2016-04-26 16:25:46 474

原创 关于android蓝牙通信的问题

最近同学要做一个手机与蓝牙模块的通信的毕业设计,让我帮忙写一个手机端的应用,匆匆的找了些资料,总算是能勉强实现通信,总结一些关键的步骤:首先,android蓝牙通信步骤:1:打开蓝牙2:搜索蓝牙设备3:选择设备进行配对(连接前必须先配对)4:对配对好的设备建立socket5:获取输入输出流6:对流进行操作从第一步到第二步有api可以很好的实现功能,不过第三步对设备进

2016-03-28 14:42:31 3045 1

原创 关于不停实时读写串口发生崩溃时报错:This message is already in use.

写了一个线程用于不停的读取串口数据,会发生错误,刚开始没有去点击屏幕时不会发生崩溃,只要点击屏幕就会报错;错误信息:android.util.AndroidRuntimeException:This message is already in use.,说Message发生重用,是由于在线程开始时只生成了一个Message,要把生成Message的语句放于run()方法体中;

2015-05-24 20:33:25 1424

socket群聊

用观察者模式实现socket群聊

2016-08-17

Androidstudio配色方案(monokai)

2016-05-28

空空如也

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

TA关注的人

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