最近开发的 Android 应用中需要添加保存用户状态的功能, 经过查阅 Android 的文档, 保存用户状态的几种方法如下: 1、 使用 Bundle 保存界面状态 Android 系统提供的 Bundle 类似于哈希表, 以 key、 value 的形式保存数据, 支持存取几种常见的类型。 最先找到的文档就是通过 Activity 的 onSaveInstanceState 和 onRestoreInstanceState 方法来保存用户状态, 虽然最终测试发现这种方法不是肯靠谱, 还是记录下来了。 onSaveInstanceState 保存状态 当系统销毁 Androi... 阅读全文

扁平化设计 —— 设计社区不得不谈论的话题, 这种趋势的感觉是强烈的, 大多数设计师不能顺应这种趋势, 甚至讨厌这种趋势。 我是属于中间派, 良好的设计是创建可工作的有用的事物, 如果这么做的答案是顺应潮流的扁平化设计, 那就是它了。 但是这种趋势不能适用于所有的项目, 所以不能强制使用。 让我们先来看看是什么让事物扁平化, 它有五个很独特的特征, 我们接下来逐个介绍, 再加上对“接近”扁平化设计的介绍。 不添加效果 扁平化设计的概念来自于其自身形象,采用了非常独特的简约而扁平的设计风格。 这种概念不添加点缀——阴影、棱台、浮雕、渐变以及其它增加深度层次的工具。 所... 阅读全文

在这之前, 我并不知道结果, 虽然网上有介绍说可以运行, 但是一直没有亲自尝试过, 所有, 本文的测试是真实的, 做一步就记录一步。 测试环境介绍 .Net 环境 .Net 测试环境为 Windows 8 , Visual Studio 2012.2 , .Net 4.5 , 可以说是码农必备, 如下图所示: Mono 测试环境 Mono 的测试环境为 Mac OS X 10.8 , XamarinStudio 4.1.2 , Mono 3.0.10 , 如果是用 Xamarin.iOS 做 iOS 开发的话, 也可以说是码农必备, 如下图所示: 尝试运行默认项目模板... 阅读全文

最近要在 iOS 应用中添加位置信息, 需要满足的需求如下: 应用在前台时能够获取位置信息; 通过切换、 Home 按键将应用切换到后台时,停止获取位置信息; 应用程序在前台运行, 直接锁定屏幕时,能够继续获取位置信息; 接下来逐步实现这三个需求。 获取设备位置信息 在 iOS 上获取位置信息是很容易的, 网上的资料也很多, 我的代码如下: // make sure location service is enabled. if (!CLLocationManager.LocationServicesEnabled) { return; } // crea... 阅读全文

做 Silverlight 开发难免要动态在页面中创建 Silverlight 控件, 需要用到 Silverlight.js 文件中的 CreateObject 或 CreateObjectEx 函数, 一下是 Silverlight.js 文件中的 CreateObjectEx 函数支持的所有参数及其描述, 仅供参考: Silverlight.createObjectEx({ /** * The URI of the content or package to load into the Silverlight * plug-in. The default i... 阅读全文

在 Nhibernate 的实体类映射中, 如果实体类的属性需要通过 SQL 计算才能得到, 则可以使用 Formula 选项解决。 Nhibernate 对 Formula 的要求如下: formula (optional): an SQL expression that defines the value for a computed property. Computed properties do not have a column mapping of their own. 场景1: 映射需要计算的属性 以下面的 Category 映射为例: <?xml ... 阅读全文

绑定概述 在 Windows/Linux 平台上, .Net/Mono 可以通过平台调用 (P/Invoke) 技术调用本地类库, 通过互操作 (Interop) 技术调用 COM 组件, 在 iOS 平台上, MonoTouch 也有类似的技术, 可以调用 iOS 的 CocoaTouch 类库, 这种技术在 MonoTouch 叫做绑定 (Binding) , 整个 monotouch.dll 就是用绑定技术完成的。 互联网上有很多热心网友提供的 CacoaTouch 类库, 如果想使用这些类库, 完全用 C# 重写是不可取的, 所以就要用到 MonoTouch 的绑定技术。 ... 阅读全文

System.Net.Http 简介 System.Net.Http 是微软推出的最新的 HTTP 应用程序的编程接口, 微软称之为“现代化的 HTTP 编程接口”, 旨在提供如下内容: 用户通过 HTTP 使用现代化的 Web Service 的客户端组件; 能够同时在客户端与服务端同时使用的 HTTP 组件(比如处理 HTTP 标头和消息), 为客户端和服务端提供一致的编程模型。 命名空间 System.Net.Http 以及 System.Net.Http.Headers 提供了如下内容: HttpClient 发送和接收 HTTP 请求与响应; Ht... 阅读全文

运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想。《程序员的思维修炼》一书中将程序员分为5个层级:新手,高级新手,胜任者,精通者,专家。根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手。而且居于这个层级的程序员从入行1、2年的到工作10来年都大有人在。 身为一个程序员,如何才能尽快的突破自身的瓶颈,得到快速的提升那?这可真不是三言两语可以说清楚。本人09年毕业投身软件行业,2012年初离开工作了三年的公司A,加入了现在的公司B。算到现在呆在B公司也即将满一年了。但是我敢说在B公司1年学到的东西,比在... 阅读全文

在项目中使用 NuGet 作为第三方类库管理器是非常方便的, NuGet 默认会在解决方案的目录下建立一个名为 packages 的目录, 把解决方案所需的第三方类库都放到 packages 目录下, 解决方案下所有的项目都引用 packages 目录内的类库, 对于单个解决方案来说, 非常不错。 如果要在多个解决方案之间共享类库的话, NuGet 默认的设置明显就不能满足需要了, 解决方案可能位于不同的目录, 如果每个解决方案目录内都再都有一个 packages 目录的话, 就会重复下载很多类库, 大家自然会想到将所有的第三方资源都放到一个统一的目录内, 这个特性在早期的 NuGet... 阅读全文

准备工作 确认所有用户的本地修改都签入到服务器, 将 SVN 源代码的分支尽可能的合并到主干, 已经发布的做好归档信息, 并备份 SVN 库。 虽然迁移到 Git 的风险不大, 但是备份一下总是好的。 安装 Git , 这看起来是废话, 不装 Git 怎么迁移? 将用户映射到 Git 创建一个用户映射文件, 将 SVN 用户映射到 Git 用户, 这样可以保留用户的签入历史信息, 比如用户输入的修改记录等, 这个文件看起来是这样子的: svnuser1 = gituser1 <gituser1@yourcompany.com> svnuser2 = gituser2... 阅读全文

本文介绍如何在 Windows 系统上配置 Apache Git 服务器, 以及使用 AD 进行认证用户认证。 软件环境 Windows Server 2003 Apache 2.2 Git 1.8 安装 Apache 从 httpd 的主页下载 Apache Httpd 的 Windows 最新版, 我下载的版本是 2.2.22 , 下载下来之后, 根据提示安装即可, 我的安装目录是 C:\Apache2.2 , 下面的配置都是根据这个目录进行的。 安装 Git 下载并安装 msysgit , 推荐使用 Portable 版本的, 下载后解压到 C:\Gi... 阅读全文