【感谢@Hacker_YHJ 的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试推荐给伯乐在线。】 本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。 函数指针虽然在语法上让人有些迷惑,但不失为一种有趣而强大的工具。本文将从C语言函数指针的基础开始介绍,再结合一些简单的用法和关于函数名称和地址的趣闻。在最后,本文给出一种简单的方式来看待函数指针,让你对其用法有一个更清晰的理解。 函数指针和一个简单的函数 我们从一个非常简单的”Hello World“函数入手,来见识一下怎样创建一个函数指针。 #inc... 阅读全文
启动模拟器 使用 emulator -avd <name> 来启动指定的安卓模拟器, 例如, 我的电脑上配置了下列模拟器: 要启动名称为 “JB_Pad” 的模拟器, 只要输入下面的命令即可: emulator -avd JB_Pad 设置屏幕缩放 上面的命令启动的模拟器是按照配置的实际分辨率启动的, 模拟器配置的是 800x400 就启动一个 800x400 的窗口, 如果配置的是 720x1280 就会启动一个 720x1280 的窗口, 这样不仅操作起来麻烦(模拟器只能用鼠标模拟触控), 而且会占用更多的资源, 最重要的是, 通常手机都没那么大吧, 所以... 阅读全文
动画为用户界面的状态转换提供了流畅的可视化效果, 在 iOS 中大量使用了动画效果, 包括改变视图位置、 大小、 从可视化树中删除视图, 隐藏视图等。 你可以考虑用动画效果给用户提供反馈或者用来实现有趣的特效。 在 iOS 系统中, Core Animation 提供了内置的动画支持, 创建动画不需要任何绘图的代码, 你要做的只是激发指定的动画, 接下来就交给 Core Animation 来渲染, 总之, 复杂的动画只需要几行代码就可以了。 哪些属性可以添加动画效果 根据 iOS 视图编程指南中说明, UIView 内置支持为下列属性添加动画效果: Frame 可以改变视... 阅读全文
最近开发的 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年学到的东西,比在... 阅读全文