黄季冬=>fox23

Freesc Huang & Smart Devices
数据加载中……

置顶随笔

[置顶]Windows Mobile 系列文章索引---不断整理中(2009-04-04)

     摘要:

应朋友要求把这个blog的部分Windows Mobile相关文章整理了一下,方便阅读。Enjoy it! :)

  阅读全文

posted @ 2008-05-22 23:46 Freesc Huang 阅读(2871) | 评论 (14)编辑

2009年5月30日

lambda表达式与函数指针

猜猜下面两部分C#代码的输出是什么:

 (一)

        static void Main(string[] args)
        
{
            Print(23);
            Console.ReadKey();
        }

        
static Action Print(int n)
        
{
            
return (=>
                      
{
                          Console.WriteLine(n);                 
                      }
;
        }

 

(二)

        static void Main(string[] args)
        
{
            Print()(23);
            Console.ReadKey();
        }

        
static Action<int> Print()
        
{
            
return (int n=>
                      
{
                          Console.WriteLine(n);                 
                      }
;
        }

 

如果你是一个C++程序员, 也许上面并不是个陌生的用法, 因为C++里面可以使用函数指针,如下:

#include <iostream> 
using namespace std; 

void Print(int a); 

int main()    

    typedef 
void (*Action)(int a);//定义一个名为Action的函数指针类型,C#中的委托类似. 
    Action action=Print;
    (
*action)(23);//注意这里与(二)中的用法是类似的。
    getchar();
    
return 0;
}
 

void Print(int a) 

    cout
<<a<<endl; 
}

 

但是C#里面没有, 不过C#里面有委托. 它起着类似的作用, Lambda表达式的值是委托类型, 第一个例子里面什么输出也没有, Print函数简单返回了一个委托(Action类型), 也可以看作是指向函数Funtion(){Console.WriteLine(n);}的函数指针.但是函数本身并没有在这里得到执行。如果你看了第二个例子你也许会更清楚这一点,第二个例子用一句话说就是调用了该Action<int>指向的那个函数。

不过即便是第二种写法,我还是不建议使用,因为它不易阅读,不够“优雅”。 ;-)

 

 

posted @ 2009-05-30 12:02 Freesc Huang 阅读(112) | 评论 (0)编辑

2009年5月8日

Micro Framework即将投入开源怀抱

由于部门调整, 和一些战略上的变化. Micro Framework即将加入微软的开源计划, 开放的部分可能包括运行时的源代码, 类库模型以及基础驱动程序.

"Following the move of the .NET Micro Framework team to the Developer Division of Microsoft we are planning on involving the community in the future definition and development of the product by allowing access to the source code of the runtime and object model, as well as the drivers. We are currently in the process of framing the rules of engagement and we hope to be able to offer both a process for a regulated development effort and a broad license, so that it will be possible to take advantage of the code base without necessarily contributing to the community."

消息来源:http://blogs.msdn.com/netmfteam/archive/2009/05/07/net-micro-framework-evolution.aspx

 似乎在微软的裁员浪潮下, Micro Framework的生命力还是很顽强的 ;-)

posted @ 2009-05-08 17:08 Freesc Huang 阅读(125) | 评论 (0)编辑

2009年5月3日

Windows Marketplace for Mobile 已向开发者开放注册

今年3月微软正式公布了他们的Windows Market for Mobile计划. 这项计划于今天正式向开发者开放了。Windows Mobile 应用开发者需要 Windows Live ID 以及支付 99 美元即可注册,并且需要提供银行帐号以及税号信息。

Windows Marketplace for Mobile 注册

Windows Marketplace for Mobile 是微软针对 Windows Mobile 6.5 设计的,预计与 Windows Mobile 6.5 同步在今年 9 月发布。在三月,微软公开了 Windows Marketplace for Mobile 开发者计划,开发者将获得应用销售收入的 70%,并且发布应用更新完全免费。

另外,学生可以通过 Microsoft DreamSpark 项目免去 99 美元的年注册费。

尽管 Windows Mobile 只有 5.98% 的市场份额,但微软称有超过 2,000 万的 Windows Phones(运行 Windows Mobile 的手机设备)被售出。到底能不能赚钱或者推广品牌,还得开发者自行掂量了,目前没人知道 Windows Mobile 6.5 的表现会如何。

前一阵子有流传 Verizon, Pink, Zune Phone 等关键词组成的微软手机硬件消息,不过很快微软澄清了该谣言:并无自有品牌的手机硬件计划。我相信,微软目前还是没魄力去破坏那个尽管已经畸形的生态圈

点击此处查看更多 Windows Marketplace for Mobile 的信息,或/并准备 99 美元注册。

摘译来源: Windows Marketplace for Mobile Opens to Developers

本文来自: Windows Marketplace for Mobile 已向开发者开放注册

posted @ 2009-05-03 18:02 Freesc Huang 阅读(218) | 评论 (2)编辑
Assistance Tool of .NET Micro Framework Testing SDK 3.0

My friend Wang, Zhimin , who’s an intern @ Microsoft China R&D , created a GUI tool for Micro Framework Test SDK 3.0.

image

for more information,  see:http://www.microframework.cn/post/2009/05/02/Assistance-Tool-of-NET-Micro-Framework-Testing-SDK-30.aspx

 

posted @ 2009-05-03 11:41 Freesc Huang 阅读(104) | 评论 (0)编辑

2009年4月14日

Windows Mobile Pocket PC的文件系统

发现一个介绍Pocket PC上面的文件系统的帖子,挺不错,建议大家去看看:

http://www.winbile.net/bbs/forums/threads/1038675.aspx#1038675

posted @ 2009-04-14 14:23 Freesc Huang 阅读(240) | 评论 (0)编辑

2009年4月13日

[C Tips]善待无符号数

猜猜下面代码的输出是什么?

#include <stdio.h>

int array[] = {1,2,3,4,5,6,7,8,9,10};
#define TOTAL_ELEMENTS sizeof(array)/sizeof(array[0])

int main(){
    
int d = -1;
    printf(
"d:%d\n",d);
    
    
if(d > TOTAL_ELEMENTS){
                         printf(
"d:%d d > TOTAL_ELEMENTS:%d\n",d,TOTAL_ELEMENTS);
    }

    
    
if(d < (unsigned char)1){
         printf(
"d:%d d < unsigned char 1\n",d);
    }

    
    
if(d > (unsigned int)1){
              printf(
"d:%d d > unsigned int 1",d);          
                    }
                                                          

    getchar();
    }

 

ANSI C编译器下的结果为:

d:-1
d:-1 d > TOTAL_ELEMENTS:10
d:-1 d < unsigned char 1
d:-1 d > unsigned int 1

知道静悄悄的改变发生在哪儿了么?  ;-)

 

posted @ 2009-04-13 16:36 Freesc Huang 阅读(118) | 评论 (6)编辑

2009年4月4日

如何通过CSP编程卸载Windows Mobile应用程序

     摘要: 和Windows PC一样,Windows Mobile中也提供了删除应用程序的控制面板项,但是有时候我们需要在程序中去卸载另外的程序,或者卸载应用程序本身,这样的情况在企业级应用里十分常见。这时需要用到系统配置服务文件CSP(Configuration Service Providers)。本文介绍了如何使用CSP在程序中卸载Windows Mobile上安装的应用程序。  阅读全文

posted @ 2009-04-04 19:24 Freesc Huang 阅读(1458) | 评论 (4)编辑

2009年3月21日

[VS Tips]Visual Studio 2008 Toolbox里控件消失(#13119)的问题

今天打开Visual Studio 2008准备写windows form程序的时候, 发现Toolbox奇怪地空了,并显示“#13119”,如下图所示:

我reset toolbox之后还是无效,重起VS仍然无效。google了一下发现有人遇到过同样的问题:

http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/490c9f52-f0c3-4fd3-9770-b8be9e0fd9d9/#page:2

解法如下:

1. 打开你的文件浏览器,点击“工具”,在“文件夹选项”中设置为“显示隐藏文件和文件夹”

2. 浏览到以下目录:

 C:\Users\当前用户名\AppData\Local\Microsoft\VisualStudio\9.0  (Vista)

   C:\Documents and Settings\当前用户名\Local Settings\Application Data\Microsoft\VisualStudio\9.0 (WinXP)

3. 删除"toolbox.tbd", "toolboxIndex.tbd", "toolbox_reset.tbd", "toolboxIndex_reset.tbd"四个文件

4. 重起Visual Studio,这里可能要稍微等待一会儿,等VS配置工具栏。然后就可以看到工具栏又回来了

希望对遇到同样问题的朋友们有帮助。

 

黄季冬

 

posted @ 2009-03-21 00:02 Freesc Huang 阅读(308) | 评论 (1)编辑

2009年3月18日

Micro Framework上实现SHA-1,SHA-256加密算法

Micro Framework提供了访问Internet的能力, 在数据安全性方面, Micro Framework只提供了对RSA和XTEA算法的支持,由于异构系统通信的需要,  我编写了一个加密的类库,目前它只实现了SHA-1,SHA-256算法,以后会慢慢完善的。

详见http://www.microframework.cn/post/2009/03/16/SHA-Algorithms-On-Micro-Framework.aspx

代码可以在这里下载:SHA1_MF.rar (50.16 kb)

Enjoy!

黄季冬

posted @ 2009-03-18 10:02 Freesc Huang 阅读(251) | 评论 (1)编辑

2009年3月16日

Welcome to www.microframework.cn

microframework.cn

一个针对国内.Net Micro Framework技术的站点,  www.microframework.cn . 欢迎的大家访问.

非常欢迎您的任何意见和建议, 可以通过http://www.microframework.cn/contact.aspx, 与我联系.

;-)

 

posted @ 2009-03-16 22:13 Freesc Huang 阅读(149) | 评论 (1)编辑

2009年3月12日

微软公开Windows Marketplace for Mobile 计划

微软于 11 日正式宣布了开发者通过 Windows Marketplace for Mobile 开发和出售 Windows Phones 应用的新细节。微软承诺将会帮助开发者创建新的、优秀的应用,并提供指导和支持,以及保证在整个过程中的透明度。开发者可以在 developer.windowsmobile.com 获得开发工具和相关信息。

开发者将获得应用销售收入的 70%,也可以将应用的价格设为 0 元。当然,不同市场也可设置不同的价格。苹果同样也定为 70%,而 RIM 定为 80%。另外,微软还将向提交应用的开发者收取 99 美元的年注册费,学生则可以通过 Microsoft DreamSpark 项目免去

预计 Windows Marketplace for Mobile 将与 Windows Mobile 6.5 同步在今年第四季度发布

官方公告:http://www.microsoft.com/presspass/press/2009/mar09/03-11WMMDevelopersPR.mspx

posted @ 2009-03-12 22:50 Freesc Huang 阅读(266) | 评论 (1)编辑

2009年3月8日

Samsung发布了Windows Mobile SDK v1.0

上个月,三星发布了它的Windows Mobile SDK, 以及相应的模拟器皮肤. 你可以在这里下载它们:

http://innovator.samsungmobile.com/down/cnts/category.main.list.do?platformId=2&cateId=147&cateAll=all

该SDK(1.0)所支持的机型及相应的API如下图所示:

Enjoy!

黄季冬

 

posted @ 2009-03-08 11:38 Freesc Huang 阅读(449) | 评论 (1)编辑

2009年2月26日

在Micro Framework上使用Linq

.Net Micro Framework的TinyCLR是遵循PC机上的CLR1.0版本的, 这样使得要求CLR版本为2.0以上(提供了泛型)的LINQ无法在Micro Framework之上得到支持, 不过除了LINQ之外的Lambda表达式, 扩展方法等都是可以被编译器编译为各种CLR版本都支持的, 于是我们是不是可以利用编译器和以上的特性来实现一下没有泛型的linq呢?

答案是肯定的, Marc Frei 和 Cuno Pfister 的试验证实了这种可行性, 以下是他们的测试:

 

Linq

 

你不妨在你的VS2008中新建一个MFConsoleApp测试一下

Enjoy!

黄季冬 

posted @ 2009-02-26 15:28 Freesc Huang 阅读(208) | 评论 (0)编辑
用上My Phone, 体验一把手机"云" - (附邀请码若干)

我去年提到一个很cool的东东(看这里), 不过My Phone就是它的加强版,虽然很早就申请到了My Phone的beta版的邀请码(本文末尾附上了一些beta code),但是今天才得以尝试一番。首先,打开浏览器到http://myphone.microsoft.com ,点击sign in,然后申请使用My Phone或者直接输入邀请码立即开始使用,这里我就直接输beta code 进去了。

然后打开手机浏览器,在地址栏里面输入:https://myphone.microsoft.com/install

然后在该页面点击download下载手机安装文件(.cab)并安装。

安装完成后在程序中找到Microsoft My Phone,可以用windows live id 登陆, 然后选择同步的项目:

同步可能会需要一点时间,不过在后台完成,你可以继续做其它的事情:

等同步完成之后就可以登录,http://myphone.microsoft.com 来访问你的手机内容了:

 

下面分享一些邀请码,如果你手够快的话应该可以用的上,Good luck ;-)

AXBH-DT9B-HBJM-E9ZS

ALCH-RCG5-7RU7-39SE

97RG-Q64B-F4A7-43ZW

CRTI-T9DI-UR88-UGUJ

JZ71-XA8Q-LCE3-LBL5

posted @ 2009-02-26 14:42 Freesc Huang 阅读(673) | 评论 (6)编辑

2009年2月24日

你需要哪些Micro Framework 4.0的新特性?

Micro Framework version 4.0新特性调查开始了,你可以在这里发表你对下一代Micro Framework的期待: https://connect.microsoft.com/netmf/Survey/Survey.aspx?SurveyID=7827

The .NET Micro Framework is an innovative development and execution environment for resource-constrained devices. Its fully integrated Visual Studio experience, brings a reliable and productive development environment to the embedded world. netmf4

  • Develop powerful, interactive, and complex applications
  • More securely connect devices over wired or wireless protocols
  • Develop reliable solutions faster at lower cost

Version 4.0 planning is currently in full swing. Make sure to provide your inputs on how we can make the .NET Micro Framework better and more suited to your needs!
Take the feature survey now!!

posted @ 2009-02-24 18:32 Freesc Huang 阅读(180) | 评论 (0)编辑

2009年2月21日

Follow me on Twitter~

http://twitter.com/freesc

posted @ 2009-02-21 23:59 Freesc Huang 阅读(128) | 评论 (0)编辑

2009年2月20日

两本.Net Micro Framework相关的中文书籍

Micro Framework来到中国已经有14个月了,不少朋友要我推荐Micro Framework的中文书籍给他们, 现在已经出版的中文书籍有以下两本:

 .Net Micro Framework嵌入式开发入门与典型实例 Microsoft.NET Micro Framework嵌入式编程

欢迎加入.Net Micro Framework 开发的行列 ;-)

黄季冬

 

posted @ 2009-02-20 18:15 Freesc Huang 阅读(291) | 评论 (0)编辑

2009年2月15日

Micro Framework 2009年二月新文档下载

Microsoft最近更新了Micro Framework v3.0 SDK中的文档部分, 你可以在这里下载:

http://www.microsoft.com/downloads/details.aspx?familyid=43A1E0C4-7347-4381-BA11-CD7CC54CDDF9

解压后, 将PSDK.hxs文件copy到sdk文档目录(如:\Microsoft .NET Micro Framework\v3.0\Documentation\NET MicroFramework Docs)下, 替换掉之前的PSDK.hxs文件即可.

enjoy~

黄季冬

posted @ 2009-02-15 19:38 Freesc Huang 阅读(153) | 评论 (0)编辑
Windows Mobile Tips - 数字时钟的显示

前两天在路上偶遇亦冰(Fairy Sun), 提到了一个小问题, 我想也许是大家所不注意的, 在这里分享一下. 有时候为了方便而不因为玩游戏误了事情, 我们会在设置里面钩上"在所有程序中的标题栏上显示时钟"这一项:

然后, 可怜的fairy不知道怎么就把显示变成了:

现在右上角这个圈圈样的时钟影响了fairy的使用, 如何变回原来的数字式的样子呢?此时我们长按(长点)那个圆形的时钟, 然后再出来的菜单中选中"数字"(digital)即可:

Enjoy!

黄季冬

 

 

posted @ 2009-02-15 16:20 Freesc Huang 阅读(252) | 评论 (2)编辑

2008年12月29日

在.Net Micro Framework中使用DPWS

     摘要: DPWS是Windows Rally技术的一个子集, 主要用于在可接入网络的设备上提供对Web Service的支持. 本文介绍了DPWS及其在.Net Micro Framework v3.0上的支持库, 以及如何利用Visual Studio 2008 sp1在.Net Micro Framework的Device上创建DPWS的host与client, 并让它们在Windows Vista下得以运行. 关键词: DPWS, .Net Micro Framework, Web Service, Windows Vista   阅读全文

posted @ 2008-12-29 12:02 Freesc Huang 阅读(1596) | 评论 (9)编辑