摘要:
前言 开始时学的是C#2.0而且没有学完全。工作后,不是在忙着赶项目,就是对各种技术尝尝鲜,而语言的学习却没有什么进步。直到半年前开始入门Python(纯粹爱好,断断续续的学着)才发现——原来编程还可以这样!原来代码还可以这样写! 沉溺于各种设计模式、框架、新鲜技术 回眸一望 忽然发现 她 依然如此优雅 甚至 更胜从前!目标补完C# 2.0 3.0的新特性,然后在研究研究4.0,上一篇中对C# 的泛型进行了一下温习(泛型)。本篇要说说C#里的匿名 ,主要包括:匿名方法、匿名类型、隐式类型局部变量等。参考链接详细读完这些文章,你就不用看我写的了!如有不明请往下,还是不明请留言,大家相互讨论。不能 阅读全文
摘要:
前言 开始时学的是C#2.0而且没有学完全。工作后,不是在忙着赶项目,就是对各种技术尝尝鲜,而语言的学习却没有什么进步。直到半年前开始入门Python(纯粹爱好,断断续续的学着)才发现——原来编程还可以这样!原来代码还可以这样写! 沉溺于各种设计模式、框架、新鲜技术 回眸一望 忽然发现 她 依然如此优雅 甚至 更胜从前!目标补完C# 2.0 3.0的新特性,然后在研究研究4.0。本章先从泛型开始温习一下。参考链接详细读完这些文章,你就不用看我写的了!如有不明请往下,还是不明请留言,大家相互讨论。C#泛型简介Predicate泛型委托Func(T,TResut)委托泛型委托(C#编程指南)走进L 阅读全文
摘要:
在上一篇中我们介绍了Winsock的初始化方法,本文将介绍使用Winsock进行面向连接的一般编程方式。文中会给出C++和对应的C#代码。Error控制 网络编程中对错误进行控制是非常重要的,因为你不知道什么时候会出现网络错误(如物理掉线、拥塞等,事实上它们经常出现,不用担心多数情况下的异常可以忽略不计,仍然可以在该套接字上进行通讯)。如果调用一个Winsock函数发生了错误,可以通过WSAGetLastError函数来获得已预定义的错误常量值。函数返回的是SOCKET_ERROR,在C#里有对应SocketError枚举值。[代码]MSDN上关于SocketError的解释面向连接的协议 阅读全文
摘要:
Html5下新增的一个重要标签Canvas可以让我们进行2D绘图。用js+Canvas做一个简单例子:绘制一个可以在页面上移动的人物——“艾斯蒂尔”。前期准备 这里准备了一张8×8的人物图片,8个方向及8帧,图片是8×8的,在X轴上每一帧时向前走一步,而一帧大小为256×256;Y轴上是面向8个方向。html标签 因为示例比较简单所以html里主要就包括了一个canvas标签,为了使用方便我还引用了google 上的 jsapi 来调用jquery.代码JS代码代码首先获取通过ID 获取 canvas 对象(这里不知道为什么使用jquery无法获取),然后重新创建一个图片对象,并在 阅读全文
摘要:
winsock winsock是WIN32平台上提供的网络编程接口且与具体的网络协议无关(也就是说支持多种网络协议),它借鉴了Unix平台上的Berkeley(BSD)套接字方案(Unix socket 编程和 Winsock 编程是很相似的)。虽然winsock与协议无关,但是在编程时我们还是要了解一下网络协议的一些特征,例如:面向消息、面向连接与无连接、路由选择等。面向消息 这里根据网络协议的不同,可以将他们分为有消息边界和无消息边界保护的,通常把无消息边界保护的协议称为“基于流的协议”。假设发送端发出数条不同大小的消息如:128字节、256字节,而接受端将会两次进行读取每次读取一个消 阅读全文
摘要:
最近想写一个网络服务器端的程序,想看看在大量客户端数下程序的运行情况。于是对.net 的Socket编程进行了一些研究,发现.net 3.5 里SocketAsyncEventArgs 是基于IOCP实现。MSDN上有相关的示例,但它是基于TCP协议的,而我想要的是基于UDP协议的。网上很难找到基于UDP协议的SocketAsyncEventArgs示例(UDP需要用IOCP吗?),于是决定自己写一个基于UDP协议的SocketAsyncEventArgs示例,看看它在和大量客户端通讯时的运行情况。 示例简介 程序分为服务器端和客户端,它们使用UDP协议进行通讯。众所周知UDP是无连接的,可 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。 在Standup Timer的 数据访问层net.johnpwood.android.standuptimer.dao使用到了单件模式,我们首先来看一下net.johnpwood.android.standuptimer.dao的项目结构,理解各个类的职责,然后再详细了解其中的设计。DAO的包的结构 DAO在St... 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。Standup Timer的项目结构 项目结构划分、以及各种设计模式分析我并不在行,所以如何写这篇博文让我相当的头疼。还决定从项目的结构谈起介绍一下每个包的职责,在结合MVC的概念进一步的了解如此划分项目的好处。 在src文件夹中net.johnpwood.android.standuptimer包对应MVC中的控制... 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。Timer 如果需要定期执行某些任务,可以使用Timer 类,它接受一个TimerTask用于指示需要执行的操作。Timer会在后台开一个线程来进行定期任务处理。在Standup Timer 中使用它来计时,其实在本系列文章中的上一篇:android的Handler就已经使用了Timer。下面我们来看看Standup T.. 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。本文将把研究的内容笔记整理,建立一个索引列表。关键词 Android.os.Handler涉及较多的知识点,我把一些关键词列举在下面,将主要介绍Handler: android.os.Handler 、 android.os.Handler.Callback Looper、 Threadle、Runnable M... 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。本文将把研究的内容笔记整理,建立一个索引列表。PowerManager.WakeLock PowerManager.WakerLock是我分析Standup Timer源代码时发现的一个小知识点,Standup Timer 用WakeLock保证程序运行时保持手机屏幕的恒亮(程序虽小但也做得相当的细心,考虑的很周到)。P.. 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的Standup Timer项目。本文将把研究的内容笔记整理,建立一个索引列表。MediaPlayer 在standup timer中需要用到多媒体的铃声提醒,它是采用MediaPlayer类进行具体操作。android 中mediaPlayer主要用于对多媒体:audio/video 音频和视频的控制。关于Mediaplayer的详细介绍可以参考SDK.. 阅读全文
摘要:
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。TabActivity & TabHost tabActivity继承自Activity,其内部定义好了TabHost,可以通过getTabHost()获取。TabHost 包含了两种子元素:一些可以自由选择的Tab 和tab对应的内容tabContentto,在Layout的<TabHost>下它们分别对应 TabWidget和FrameLayout。 使用TabActivity可以让同一个界面容纳更多的 阅读全文
摘要:
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。PreferenceActivity PreferenceActivity是android提供的对系统信息和配置进行自动保存的Activity,它通过SharedPreference方式将信息保存在XML 文件当中。使用PreferenceActivity不需要我们对SharedPreference进行操作,系统会自动对Activity 的各种View上的改变进行保存(这个真是太赞了!)。 在android项目中添加一个... 阅读全文
摘要:
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。android的提醒 android 的提醒主要有3中方式:Toast Notification,Status Bar Notification,Dialog Notification;在Standup Timer 中使用了很多Dialog notification。特别是在删除某项时,弹出的确认对话框。Dialog Notification 主要分为四种:Alert Dialog,ProgressDialog ,Date.. 阅读全文
摘要:
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。ContextMenu android的context menu上下文菜单,选择某项VIEW后长按menu键,就会显示出来。 SDK上的描述:Context Menu A floating list of menu items that appears when the user performs a long-press on a View.使用步骤 ContextMenu的使用也比较简单和OptionsMenu相似... 阅读全文
摘要:
前言 这段时间在研究android平台上的开源项目——StandupTimer,这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。OptionsMenu 在android的SDK中options menu 是这样解释的:Options menus: Theicon menusdo not support item check marks and only show the item'scondensed title. Theexpanded menus(only available if six or more menu items are vi 阅读全文
摘要:
前言 学习android一段时间了,为了进一步了解android的应用是如何设计开发的,决定详细研究几个开源的android应用。从一些开源应用中吸收点东西,一边进行量的积累,一边探索android的学习研究方向。这里我首先选择了jwood的 Standup Timer 项目。本文将把研究的内容笔记整理,建立一个索引列表。Standup Timer 这是由jwood所设计的一个较为简单android应用,用于控制会议时间,类似秒表倒计时。Standup Timer是严格按照MVC模式设置的,同时可以学习怎样使用计时器Timer。知识点索引android的OptionsMenuandroid 阅读全文
摘要:
前言 这阵子都在做android相关的开发。写了一个基于MediaPlayer类的MusicPlay——音乐播放器。因为Demo很简单所以把什么代码都写在了Activity下,相当严重的坏代码味道(-_-||)。程序实现了歌曲的播放、暂停、停止、上下首、进度条控制、歌曲列表这些功能,Demo是基于android 2.2版本的。这里把一些关键代码列举出,分析一下。歌曲列表 ... 阅读全文
摘要:
公司里装了MOSS2007 使用的是SQL2005数据库,开始还觉得挺好用,可是某一天突然发现上传文件到MOSS时老是失败!不知何故。远程桌面登录到服务器上一看,系统盘空间竟然只剩下3M!赶紧查看到底是哪个文件占用了巨大的空间。找了一会,发现是MOSS的数据库日志占了巨大的空间(一个占20G!)。 决定清理数据库日志文件。 首先运行查询语句DUMP TRANSACTION databaseNa... 阅读全文