自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 android使用html+javascript来制作页面

一般的android界面使用的是XML。但是XML如果要制作很高级的UI,会很复杂。如果使用HTML老进行UI设计就会简单很多。android早就提供了这样的借口。 WebView.addJavascriptInterface(Object obj, String interfaceName)其中obj是我们自己用来实现功能的一个类,interfaceName是一个

2013-12-26 00:25:52 737

原创 现实编程(概述)

写了五年的代码的一些心得,欢迎拍砖

2013-12-26 00:10:06 1475

原创 初识GO语言

GO语言是google的自行设计的一门语言Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。诞生于著名的google 20%时间,主设计师是Rob Pike简单地说,GO语言像java一样易于开发,像C/C++一样高效(当然,这是他们的目标)GO语言的主页:http://golang.o

2013-12-26 00:07:09 849

原创 android adapter的性能小结

一般adapter的做法会重写getView方法比如 1 @Override 2 public View getView(int position, View convertView, ViewGroup parent) { 3 if (convertView == null) { 4 convertView = Layou

2013-08-26 23:26:13 594

原创 android中自定义view构造函数ContentItemView(Context context, AttributeSet paramAttributeSet)的用处

自己定义一个view 1 xml version="1.0" encoding="utf-8"?> 2 3 LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 4 android:orientation="vertical" 5 an

2013-08-25 23:35:44 818

原创 android中LayoutInflater.from(context).inflate的分析

在应用中自定义一个view,需要获取这个view的布局,需要用到(LinearLayout) LayoutInflater.from(context).inflate(R.layout.contentitem, null);这个方法。一般的资料中的第二个参数会是一个null。通常情况下没有问题,但是如果我想给这个view设置一个对应的类,然后通过这个类来操作的话就会出问题。

2013-08-25 23:16:03 955

转载 【转】怎样在ubuntu12.04下创建一个启动器

原文链接:http://blog.chinaunix.net/uid-26772897-id-3169468.htmlubuntu12.04 dash home中每个图标对应/usr/share/applications当中的一个配置文件(文件名后缀为.desktop)。所以要在dash home中添加一个自定义程序启动器,需要在该文件目录下创建对应的配置文件。至于配置文件的语法,参考该目

2013-05-05 23:07:36 549

原创 谈谈移动应用设计——从一个普通开发者的角度

时间过得真快,从发布第一个应用,到现在已经一年有余,眼瞅着自己的应用凑一块下载量快破10万了,就打算写点什么,算是做个总结。10万下载虽然不多,但是考虑到本人做的是WindowsPhone开发,而且美工编码全是一个人搞,也算不容易了。先说说我做的应用类型,所以我做的基本都是网站的第三方应用,工具类做过一个,不过下载量很少。这样一个好处是内容来自网络成本低,因为不需要自己的服务器。

2013-05-02 21:33:20 816

原创 以ontouch为例说明android事件发送机制

android里面和touch相关的方法最常见的有四个:onTouch,dispatchTouchEvent,onTouchEvent,如果是一个GroupView的话还有一个onInterceptTouchEvent。这四个方法有什么关系?很多新手搞不明白,我在网上找了很多的资料,发现自己的研究结果与资料上的有出入。所以将自己的结论写出来,Android的事件传递机制到底是怎么样的,也可

2013-03-26 23:08:12 904

原创 WPF路由事件

与传统的winform不同,WPF的事件的发送者与事件的响应着并没有直接的关系,当然而这也可以是同一个对象。事件仅仅是沿着逻辑树一直向上转发,如果有对象对事件进行响应,则会出发相应的动作。举例来说。新建一个窗口 Grid Background="#FFB6B600" MouseUp="Grid_MouseUp_1" Name="g1"> G

2013-03-10 16:58:08 953

原创 WPF数据绑定(三)

1、Itemsource绑定我们经常遇到这种需求,一个列表里面显示一些数据,点击其中一条,显示其关联的数据,比如说,在列表中显示学生的姓名,点击某一个学生的姓名以后,会在textbox中显示出该学生的学号。如下图所示:列表中显示了学生的性命,点击其中一个学生,就会显示其学号。1 TabItem Header="ItemSource">2

2013-01-23 21:53:31 744

原创 WPF数据绑定(二)

前面讲了最近本的两种数据绑定,这次讲讲资源绑定和Context绑定1、资源绑定同样不需要写代码,仅仅需要配置XAML就可以了。1 TabItem Header="ResourceBinding">2 StackPanel>3 StackPanel.Resource

2013-01-21 23:11:26 853

原创 WPF中的数据绑定(一)

WPF中提供的代码帮顶技术有很多种,可以根据不同的情况使用不同的方法,十分灵活,下面根据不同的情况进行设置。1、通过代码绑定 1 TabItem Header="CodeBinding">2 Grid>3 Button Content="Button" Horizonta

2013-01-17 20:45:47 537

原创 2013,爱上暗色调

真是不知道从什么时候开始,IDE的风格从明亮逐渐转变成了灰暗系列,一开始还不习惯,后来慢慢的爱上这种风格。暗色调具有更高的对比度,同时也更加柔和,更加简洁,更加适合长时间编程。重要的是——它更酷。下面是几个我经常用的IDE的暗色调。vs2012Jideasublime

2013-01-13 23:09:21 484

原创 WPF中的x命名空间

1 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"x是用来解析XAML的库,用来将XAML进行编译生成CLR语言。我们新建一个工程,默认如下:1 Window x:Class="WpfApplication4.MainWindow"2 xmlns="http://schemas.micr

2013-01-10 20:50:14 577

原创 2. WPF中的依赖属性

昨天学习了下WPF的以来属性,记录下自己的理解。我们一般给一个类设置一个属性很简单,但是如果给一个控件设置一个属性,会比较麻烦。比如说,自己做一个button控件,继承自button 1 class MyButton : Button 2 { 3 4 private Color _backColor; 5

2013-01-06 20:18:01 392

原创 3. 从windows8的微软扫雷看创新——跳出现有的框架,换个角度看问题

"扫雷"这个和windows几乎一样久远的游戏我们熟悉的不能再熟悉了,玩法非常的简单,简单到几乎有没有什么可以去改变的。各种版本的扫雷无非是变变界面,变变皮肤,比如把地雷做的卡通一点,特效做的炫一点,再或者把地雷变成别的什么东西,但是玩法还是那个玩法,没有任何改变。我以前和很多人一样,认为这个游戏就只能这么玩了,直到我膝盖中了一剑。打开游戏界面以后有基本的扫雷不过是换了换皮肤而已,

2013-01-06 20:17:59 472

原创 4. java编程思想读书笔记(五)

花了十天看完了《java编程思想》,我似乎能够体会到当时c++程序员看到java时那种兴奋的感觉了,相比c++而言这确实是一种比较现代的语言——当然这不是说c++不好,C++还是我心中最强大的语言。  虽然十天的时间基本不可能对java 有一个什么比较深入的了解,但是也算入了个门了。  其实算来这是我第二次学习java了,第一次看的是java核心技术,看了几章就放弃了,说不出什么原因,总觉

2013-01-06 20:17:56 504

原创 5. java编程思想读书笔记(四)

1、java的多线程和其他的语言有明显的不同,多线程的类是采用一个继承的方法。 1 import java.io.File; 2 import java.lang.reflect.Constructor; 3 import java.util.*; 4 5 class MyThread extends Thread{ 6 public void run(

2013-01-06 20:17:54 352

原创 6. java编程思想读书笔记(三)

1、java io主要有:字节数组、string对象,管道,文件,其他java的outputstream是写文件的拥有write方法,inputstream是读文件的,拥有read方法。管道和Linux重的管道的完全不同,Linux是一个文件,java用的是内存,所以java提供的标准库是不能进行有名管道操作的。2、File类file能够新建一个文件,也能够新建一个目录。

2013-01-06 20:17:52 602

原创 7. java编程思想读书笔记(二)

1、finalize函数java的finalize函数是用来清除垃圾用的,虽然java有自己的清除机制,但是在调用其他语言的dll的时候,不能保证这些dll的申请的内存会被释放,所以在finalized函数中释放。2、方法重载java和C++的一个区别是,可以对继承的函数进行重载,比如说class AAA{ public void fun(){};}cla

2013-01-06 20:17:49 371

原创 8. java编程思想读书笔记(一)

第一章给我印象比较深的是这段话。Alan Kay总结了Smalltalk的五大基本特征。这是第一种成功的面向对象程序设计语言,也是Java的基础语言。通过这些特征,我们可理解“纯粹”的面向对象程序设计方法是什么样的: (1) 所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。

2013-01-06 20:17:47 336

原创 9. c++异常说明

1、函数异常void fun() throw(runtime_error);表明该函数能够抛出一个runtime_error的异常。void fun() throw();空说明表示该函数不抛出任何异常。异常说明是函数声明的一个部分。声明处的异常和实现处的异常必须一样。如果函数内部抛出了一个违反说明的异常,那么就调用unexpected函数比如说void f() throw(

2013-01-06 20:17:44 326

原创 10. auto_ptr总结

C++标准库的智能指针是一个模版类,为动态分配的对象提供异常安全。——非常不好用。1、创建auto_ptrint> ap;auto_ptrint> ap1(ap);auto_ptrint> ap2(p);第一个是创建未绑定自动指针;第二个是将自动指针ap传递给ap1,ap1指向ap原来的指针,同时ap变成未绑定的自动指针。第三个是创建一个绑定指针的p的自动指针。

2013-01-06 20:17:42 247

原创 C/C++零碎知识整理(二)

1、寄存器变量 寄存器变量是存放在寄存器中的,使用关键字register来定义,寄存器变量只能定义在函数中,不能用取地址符“&”来操作,因为它在寄存器中,不在内存中,因此没有地址,寄存器变量数量是有限制的,超过限制的变量自动转为自动变量。其优点是速度快。2、volatilevolatile表示的是变化的,异变的。告诉编译器不要去假设这个变量的值,每次使用的时候要重新读取这个变量的值

2013-01-06 20:17:40 351

原创 C/C++零碎知识总结

1、八进制数 int a = 010;八进制数以0开头,上面的a是9不是10; 2、define一个常数#define A 123456UL其中UL表示是一个非负的长整数,一般在16位系统中会这么做。 3、#define一个min函数#define MIN(a,b) ((a)很多人忘记了最外面的括号 4、typedef和def

2013-01-06 20:17:37 366

原创 从一个构造函数谈谈的代码的封装性和怎么表现自己的意图

问题背景:一个机器人,给他下达一个命令,让它按照命令的内容进行相应的移动。最后输出机器人的位置。题目很简单,我很快写好了一个类class robot{public: void SetCmd(string Cmd); void SetPos(Point Pos); void Action();private: Point Pos;

2013-01-06 20:17:35 345

原创 创建我的第一个开源项目

一个windowsphone的开源项目,一个日历的小控件https://windowphonecalendar.codeplex.com/

2013-01-06 20:17:32 342

原创 接口隔离ISP

不应该强迫客户依赖于它们不用的方法。接口隔离可以让用户端仅仅关注行为,而不是实现这种行为的对象。例如有一个功能:一个闹钟,当定时器超时的时候闹钟会响; 1 class Bell 2 { 3 void Ring() 4 { 5 6 } 7 } 8 9 class Tim

2013-01-06 20:17:30 287

原创 依赖倒置DIP

依赖倒置原则的含义高层模块不应该以来与底层模块,二者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。下图的结构 就违反了DIP原则,因为上层的client依赖于DB service,从而一来到DB如果DB发生了变化,就需要修改DB service,从而修改client。好的设计师中间这几层全部依赖于借口。这样就算DB发生了变化也不会对DBserv

2013-01-06 20:17:28 253

原创 里氏替换

用一个子类来代替基类,程序的行为不变,那么就符合里氏替换。 最常见的违反里氏替换原则的例子:子类存在空的虚函数即一个子类对于基类的某些方法进行屏蔽将其改成空函数。也成为子类的退化。里氏替换的意义在于更好的实现OCP。如果我们的子类不能完全的代替基类,那么基类的抽象就是有问题的,必然会导致,在拓展子类功能的时候需要修改基类。判断是否符合里氏替换的方法是判断两个类是否存在IS-A的

2013-01-06 20:17:25 294

原创 OCP开放闭合

软件应该是可以扩展的,但是不可以修改的。对扩展都是开放的,模块式可以扩展来满足新的行为,我们可以改变模块的功能。 OCP的好处是,尽可能的减少修改模块的次数和范围,从而提高代码的可维护性,复用性。比如操作系统的升级补丁,在修复bug的情况下,肯定是越小越小。如果说OCP做的不好,每次修改需要修改大量的文件,那就会导致补丁很大。对于修改是封闭的,在扩展模块的时候,不必改动源代码的二进

2013-01-06 20:17:23 303

原创 单一职责

首先什么是职责,在这里,职责就是变化的原因。一个类应该仅有一个引起他变化的原因。单一职责也称之为内聚性,内聚性的定义为一个模块组成元素之间的功能相关性。简单的说,单一职责就是说一个模块组成元素之间的相关性应该是很强的,或者说他们只有一种相关性。1 class Rectangle2 {3 void Draw();4 doub

2013-01-06 20:17:20 272

原创 C# 扩展方法

这个东西很神奇, 没有想明白他是怎么实现的。1 public static class StrEx2 {3 public static void fun(this string s)4 {5 Console.WriteLine("fool invoke {0}", s);6 }7

2013-01-06 20:17:18 218

原创 VS2012尝鲜

界面上来说VS2012变化很大,给人的第一感觉就是“版璞归真”。初始界面是白色但是你也看到了,开始页的黑色很不协调,于是我果断改变成暗主题。就在OPTION中就可以改变修改后全部变成黑色,让我想起了老一辈程序员编程的DOS界面,呵呵。不过没有找到我想要的东西——WIN8的SDK,上网查了一下,必须要单独安装才可以,就像WP7一样,看到截图的迅雷了么,快下好了,哈哈。

2013-01-06 20:17:16 277

原创 C#的可空类型

可空类型就是说这个类型的变量时可以为空的;比如说int a;这里的a无论怎么样也会有个值;但是可空类型就不一样了int? a;a 有可能为null; 可空的运算int? a;int? b;int? c = a + b;运行的结果也要为int?,都则不会被编译。如果要和其他运算符转化,需要显示转化;int? a;

2013-01-06 20:17:13 297

原创 VS2010添加WP模板

我安装了VS2010,也安装了WP SDK,但是新建项目中没有看到   “silverlight for windows phone”  模板 大概是这样的,什么时候会发生这种情况呢,当你装的VS 和 WP SDK的语言不是同一种语言的时候, 会发生这样的情况。我就是VS是中文版,WP SDK是英文版 ,出现了这种情况。 解决方案:若是英文版VS+中文版 WP SDK在

2013-01-06 20:17:11 412

原创 C#多线程学习笔记(三)——线程池

1 namespace threadpool 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 WaitCallback w = new WaitCallback(Calculate); 8 Thr

2013-01-06 20:17:08 328

原创 C#多线程学习笔记(二)——带参数的多线程

1 Thread t; 2 public myThread() 3 { 4 t = new Thread(run); 5 t.Start(2); //这里吧参数传递进去 6 t.Join(); 7 8 }

2013-01-06 20:17:06 250

原创 C#多线程学习笔记(一)

Thread C#的线程类:Thrd = new Thread(this.Run); Run就是我们线程要执行的函数函数类型必须是这样,void Run();Thrd = new Thread(this.Run); Thrd.Name = name; //线程的名字 Thrd.Start(); //就是开始线程 Thread.Sleep(250);//休眠250msThrd

2013-01-06 20:17:04 246

空空如也

空空如也

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

TA关注的人

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