代码改变世界

随笔分类 -移动开发

AppStore模式,微软的机遇与挑战

2008-12-08 10:45 by cppguy, 489 阅读, 收藏, 编辑
转自http://blog.chinaunix.net/u2/85805/showart_1662286.html 苹果CEO史蒂夫·乔布斯声称:在iPhone的App store “应用商店”推出后的前60天,其应用下载量已突破1亿次;面对苹果公司App store“软件应用商店”的成功,作为网络霸主的Google敏锐地意识到了App s...

.Net Comapct Framework的垃圾回收

2008-10-14 18:03 by cppguy, 480 阅读, 收藏, 编辑
1:托管资源 什么是代龄:垃圾收集器将托管堆中的对象分为三代,分别为0,1,2.在CLR初始化时,会选择为三代设置不同的阙值容量,一般分配为:第0代大约为256KB,第一代2MB,第二代10MB。显然,容量越大效率越低,而GC收集器会自动调节其阙值容量来提升执行效率,第0代对象的回收效率肯定是最高的。在CLR初始化后,首先被添加到托管堆中的对象都被定为第0代,当垃圾回收执行时,未被回收的对象代龄将...

在 .NET Compact Framework 中宿主 ActiveX 控件(翻译)

2008-10-10 14:13 by cppguy, 937 阅读, 收藏, 编辑
使用AxImp.exe生成一个完整的控件类定义 能够最终获益当然好-按照VisualStudio在桌面计算机窗体项目中处理的方式处理ActiveX控件。您只需向工具栏添加一个控件,方法是浏览到该控件或从注册组件列表中选择它。虽然VisualStudio设计器主动阻止任何将ActiveX控件添加到设备项目的企图,但您可以避免该限制。与前面描述的方法(将TLBIMP工具用作添加对类型库引用的命令行功能...

.net compact framework下的绘图闪烁解决方案

2008-09-24 18:02 by cppguy, 894 阅读, 收藏, 编辑
1:缓冲贴图 //重新绘制的函数 void Redraw() { //直接从窗体取得Graphics Graphics g = this.CreateGraphics(); Redraw(g); g.Dispose(); } //缓冲图以及操作缓冲图所需要的设备上下文 Bitmap tempBitmap; Graphics tempGraphics; void Redraw(Graphics g...

Windows Mobile的设备控制行为DEMO:重起,获得系统内存大小,设置系统时间,获得系统唯一识别号DeviceID

2008-09-19 17:10 by cppguy, 1069 阅读, 收藏, 编辑
今天要实现一个PPC自动重起的功能,搜了一下资料,在MSDN上发现了几个很好资料,把这些整合在一起做成了Demo,大家一起共享了 用 C# + dot NetCF 2.0 and later 的应用程序,通过 P/Invoke 去存取 Win32 API ,执行 KernalIoControl()进行重新启动,获得设备ID,还有通过GetSystemMemoryDivision获得系统内存,以及通...

.NETCF图形和用户界面性能(摘自《编写移动代码》)

2008-09-10 12:14 by cppguy, 941 阅读, 收藏, 编辑
好看的图形如同一件设计完美的艺术品一样:这意味着技术和设计是同等重要的。在一个屏幕上画一个单个举行或者一个单一的文本片段将运行足够快。在视觉屏幕取画一个复杂的图形或者一个“正在飞行”的游戏图板很可能会导致质量很差的用户体验。考虑一下画复杂的图标实例需要用1.5秒时间的情况,这个时间超出了人的最小反应时间,人的视力可以识别在这个时间间隔内发生的离散事件。比如画一个图标,绘制过...

自做的windows mobile地图控件

2008-08-28 18:05 by cppguy, 4340 阅读, 收藏, 编辑
在移动应用方面,地图导航是普遍的要求,系统常常要和GPS整合在一起,并且要支持多种地图格式,除了jpeg,jpg,bmp等图片格式外,带有相关地理数据的mapInfo,ArgGis,AutoDesk等公司地图格式也是被期望兼容的。可是要做到后一点真的很难。就算使用了MapInfo mobileX,其他公司的格式也是不兼容的。 而自己编写的话,相应文件的解码器更是没有。地图引擎应该如何选择是决定于这...

推荐大家一个WM上的注册表查看工具

2008-08-27 18:00 by cppguy, 1077 阅读, 收藏, 编辑
WM永远脱离不了windows家族,所以注册表肯定少不了的,发现一个不错的注册表查看工具,查看移动设备与桌面的差不多,还有一些比较功能,挺实用的 RegistyWorkShop

绘制一个三角形和判断一个点是否在这个三角形中

2008-08-27 12:37 by cppguy, 529 阅读, 收藏, 编辑
在CF下要实现一些图形的显示,矩形和圆都有现成的绘制函数,如果要绘制多边形,我们可以使用FillPolygon来绘制,这里我实现了一个绘制等边三角形的demo 程序中输入中线与屏幕坐标系Y轴的偏角,点击绘制,如图。 另外一个比较有意思的问题是,绘制了这个区域,怎么辨别某点是在这个区域中的,这里也有实现,具体办法是首先判断这个点与A点(起始绘制点)的距离看是否大于边长,然后判定角度是否在张角范围之...

WM下的数据业务拨号

2008-08-01 15:52 by cppguy, 1140 阅读, 收藏, 编辑
WM下的很多应用是需要动态的拨号建立与Internet的连接,G网一般会启用GPRS,C网启用CDMA的数据服务,如果应用过移动msn,移动QQ,Fetion,手机大头等其他手机IM软件的用户来说,基于Windowsmobile的版本,都会有自动数据拨号连接的功能,本人认为手机大头是做的比较优秀和稳定的,它会识别出现有的wap或者net网络连接,并有自己的默认连接选项,这样普通用户就不用通过连接管...

Iphone也支持MicroSoft的ActiveSync‏

2008-07-16 21:19 by cppguy, 513 阅读, 收藏, 编辑
Iphone 3G版已经支持ActiveSync,把其作为数据交换的一种服务。在微软Teamblog上,Adam Glick, 微软标准通讯组的一位技术经理, 也强调了iphone对ActiveSync的支持:“If you’ve not heard; Apple released iPhone 2.0 today which includes a software upd...

手机要求安装NETCFv35.Messages.zh-CHS.cab,怎么办

2008-07-16 12:18 by cppguy, 11036 阅读, 收藏, 编辑
可能也有人遇到相同的问题,我们的产品在打包发布的时候突然报出了"要求安装NETCFv35.Messages.dll"的错误.但是在经常调试的手机里,却没有这种问题. 在网上搜了很久,终于找到http://simonrhart.blogspot.com/2008/02/netcfv35messages-is-new-systemsr.html 翻译如下: 在VS2008和.NET CF 3.5,NE...

WM下的MMS开发

2008-06-27 17:00 by cppguy, 1475 阅读, 收藏, 编辑
彩信是多媒体信息服务(即MMS,它是Multimedia Messaging Service的缩写)业务,它最大的特色就是支持多媒体功能,能够传递功能全面的内容和信息,这些信息包括文字、图像、声音、数据等各种多媒体格式的信息. 这里我们主要讨论一下在.net cf下发送MMS的实现过程 首先我们要先讨论一下SMS与MMS的不同。除了发送接收内容比如图片铃声等多媒体内容的不同,最终要的是他们俩经过的...

Windows mobile挣扎在后盖茨时代

2008-06-25 18:03 by cppguy, 2985 阅读, 收藏, 编辑
做为一个WM的开发者,应用开发WM已经有两三年了,而这两三年也是智能OS在相互博弈的激烈争斗时期,WM在智能手机的占有量虽然在稳步提升,但这段时期的一系列变化却让人觉得WM在智能手机上,有被边缘化甚至克死的威胁。 来自Mac,iphone从它的横空出世就决定了它不是平凡的产品,极具创新性的手机应用改变的不但是人们的使用习惯,更是对iphone之于手机的革新,原来手机是可以这样的,而相对于WM来说,...

再说cf下的非全屏窗体

2008-06-25 16:46 by cppguy, 1484 阅读, 收藏, 编辑
之前写过一篇是通过底层调用来创建移动的非全屏窗体http://www.cnblogs.com/abob/archive/2008/01/11/1035285.html,如果不需要移动的话,cf是可以实现的: 几个关键性的属性设置 this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.ClientSize = new ...

自作的WM文件浏览器

2008-06-25 16:38 by cppguy, 972 阅读, 收藏, 编辑
MS提供的openfileDialog实在无法让人忍受,自己做了这个,简单了点,不过还实用。源码:http://www.cnblogs.com/Files/abob/FileExplorer.rar

替换掉.net cf下的Toolbar这种垃圾控件

2008-06-24 18:19 by cppguy, 619 阅读, 收藏, 编辑
MS把ToolBar做成这样我感到莫名其妙,很明显是桌面版的精简,但是放在手机上真的不怎么样。 1:toolbar下的button分为了四种类型,其中的separator竟然是分割线,另外3种,ToggleButton弹出菜单,在右侧弄了个箭头,按button不弹出菜单,按箭头才弹出。dropdownbutton更是没用的style。 2:toolbar永远驻留在下侧,缺少灵活性,而且连大小都不让...

浅谈WM设备单手操作的解决方案

2008-06-23 14:40 by cppguy, 349 阅读, 收藏, 编辑
移动应用的一个重要特征是决定使用单手操作还是使用双手操作。通常情况下,这个选择与应用的移动设备硬件选择相关联。 例如,如果应用打算在只能电话上运行,你必须将单手操作做为特定的设备和测试目标牢记在心。与这个决定过程相反的情况是:如果你的应用使用场景要求单手操作,你应该选择一个设备,该设备是针对单手使用模式的。单手操作意味着用握着设备的手操作应用导航和进行信息的输入。 好的单手使用设计需要对目标移动电...

使用RAPI对WM与PC进行同步通讯

2008-06-23 14:08 by cppguy, 896 阅读, 收藏, 编辑
在WM设备中,对象存储是永久的安装好的RAM存储区域,它包含了内置的文件系统,系统注册表信息和属性数据库,这些存储不仅可获得,而且,RAPI也使我们可以访问安装文件系统支持的可移动SD卡,职能媒体卡,硬盘驱动,等等。大多数的RAPI函数提供了对移动设备对象存储和移动设备短的文件系统的访问。 举个例子,你能打开一个文件,拷贝它的一部分内容或者全部内容从移动设备传送到桌面系统。你能打开系统注册表并创建...

windows mobile下的程序托盘

2008-06-20 17:14 by cppguy, 1628 阅读, 收藏, 编辑
windows mobile操作系统,大家在使用的时候也发现有很多不方便的地方,比如说,在操作某个应用程序的时候,不小心碰到了别的按键,应用程序就最小化了,如果我们要回到应用程序,往往是到设置-程序中激活程序,或者找到程序中的快捷方式重新点击,那在WM下有没有类似于windows下最小化窗口的托盘呢。有的,Opennetcf给我们提供了NotifyIcon 只要把它拖入我们的主窗口,并相应点击事件...

ROM定制原理(转)

2008-06-13 17:05 by cppguy, 1319 阅读, 收藏, 编辑
原文http://hi.baidu.com/ljp74717/blog/item/50d7cdbf499d8d0f19d81fd4.html 用WM两年了还没刷过几次机,因为我一向认为系统的应用在于软件而不是操作系统,而且刷机也有风险万一失败成了砖头就不划算了。上个星期到论坛ROM版转转,830的WM6那个多啊,实在忍不住诱惑了,刷了个WM6,不过却不是很满意,里面集成了那么多垃圾软件想删又删不掉...

.net cf下的代码性能优化

2008-06-12 14:05 by cppguy, 789 阅读, 收藏, 编辑
图形和用户界面部分:         1:位图对象,通常情况下,把位图对象最为绘制图像或者部分图像的临时空间是有用的。如果你的移动设备应用需要临时空间来作画,这是好的,但是要避免在绘制周期内创建和处理多个位图。通常情况下较好的办法是有一个可以作为公共资源反复使用的草图空间,而不要持续的创建和注销临时位图。草稿位图应该具有你所需...

在.net CF下使用MapInfo

2008-06-12 11:13 by cppguy, 729 阅读, 收藏, 编辑
首先肯定的是这是可行的。 MapInfo有针对windows mobile的版本MapX mobile,但截至到最新的5.0,官方还只是提供了evc的SDK,并没有针对.net cf的开发接口。 但是有了本地的DLL,我们就可以把他制作成.net cf可以调用的ActiveX组件。 这里我们需要的是关键资料和工具是: http://msdn.microsoft.com/zh-cn/library/...

一个绚丽的带动画的.NET CF列表控件(转载from Codeproject)

2008-04-18 17:53 by cppguy, 1132 阅读, 收藏, 编辑
Download SmoothListBox - 184.44 KB Introduction This article shows how you can implement a smooth list box that allows intuitive, friction affected, scrolling of the list items.By friction based I mea...

刷机教程!!(强转而且狂顶)

2008-03-20 00:18 by cppguy, 774 阅读, 收藏, 编辑
一个做WM的程序员不会刷机是很不对的,所以这里特别共享一篇好文,让我们都成为刷机高手来源http://www.52dopod.net/thread-29929-1-1.html最近在论坛看到很多兄弟对于刷机有很多疑惑!那么本人发一个比较简单的刷机教程!!多普达刷机大致上分三种:1 RUU刷机 2 AWIZARD刷机 3SD刷机先解释下为什么要分那么多的刷机方法!和各种刷机工具的优缺点!1.RUU刷...

IMEI号,手机的身份证

2008-03-14 11:07 by cppguy, 5660 阅读, 收藏, 编辑
真惊了,没想到IMEI号能提供这么多信息

CodeProject上windows mobile的串口枚举程序

2008-03-12 15:42 by cppguy, 689 阅读, 收藏, 编辑
原文:http://www.codeproject.com/KB/mobile/WMEnumComPorts.aspxDownload WMEnumComPorts.zip - 48.4 KB 介绍: 这篇文章介绍了如何枚举windows mobile设备上的串口。

.NET Compact Framework 线程与界面上的控件

2008-03-04 18:19 by cppguy, 816 阅读, 收藏, 编辑
要实现这样的功能: 点击加载,跳出一个加载进度窗体,窗体上面的进度条在不停的动,加载完毕后,本窗体自动关闭。 很容易联想到启用一个分线程,启动进度窗体,加载完毕后,我在主线程中想手动关闭 prg.close(),得到的结果是错误,线程访问了非法资源。 其实在桌面.net framework和.net cf都不支持让用户界面不属于的线程访问他们的大多数属性和方法。虽然代码可以编译执行,但结果将不可预...

一个测试RIL的小程序

2008-03-04 17:40 by cppguy, 870 阅读, 收藏, 编辑
转载自国外网站可以查看 短信 呼叫 这些行为 RIL层的详细信息下载地址 http://www.cnblogs.com/Files/abob/tstril.zip

Radio Interface Layer

2008-02-28 17:56 by cppguy, 831 阅读, 收藏, 编辑
目前的智能手机都在硬件上采用了双CPU的构架,一个是基带处理器,主要处理数字信号,语音信号的编码解码以及GSM通信协议,另一个是应用处理器,运行操作系统和各种应用程序。基带处理器,射频和其他外围芯片作为一个模块,称为GSM/GPRS mobem,提供AT命令接口。网络的应用已经是一个需求的热点,而目前的GSM模块大多都能支持GPRS功能。应用处理器通过AT命令集与带GPRS功能的无线通讯模块通信,...

在VS2005下使用Visual C++创建智能设备项目 “项目创建失败” 解决办法

2008-02-19 15:22 by cppguy, 2332 阅读, 收藏, 编辑
最近要做一个windows mobile的一个C++项目,打开 Visual Studio 2005 准备创建一个 VC++ 下的 Win32 智能设备项目,但是一直创建失败:向导出现并小闪了一下,然后消失,界面弹回原来的创建项目的对话框。状态栏提示“正在创建项目 智能设备项目创建失败。” 这几天试图自己寻找原因未果,都想趁此机会重装下系统算了,但今天幸好仔细搜寻了一下,找...

创建安全 Windows CE 设备(转)

2008-02-17 17:19 by cppguy, 779 阅读, 收藏, 编辑
Maricia AlforqueMicrosoft Corporation2000 年 10 月更新适用于:Microsoft Windows CE 版本 3.0摘要:本文高度概括了 Windows CE 3.0 中为设备和应用程序提供安全性的不同选项。本文假定读者熟悉基本的 Microsoft 安全技术和 Win32 应用程序编程接口 (API)。简介安全服务是现代操作系统的核心部分。网络基础结...

windows.h下几个函数的使用

2008-02-17 16:53 by cppguy, 2376 阅读, 收藏, 编辑
有关进程系统权限类1:函数OpenProcessToken( HANDLE ProcessHandle,//进程的句柄 DWORD DesiredAccess,//对进程的访问描述 PHANDLE TokenHandle//打开进程令牌的句柄指针); 这个函数的作用是打开进程令牌2: 函数LookupPrivilegeValue( LPCTSTR lpSytemName,//系统名称 LPCTST...

MFC C++类型学习

2008-02-16 11:22 by cppguy, 299 阅读, 收藏, 编辑
HRESULT 类型-------------------------------------------------------------------------------大多数 COM 函数以及一些接口成员函数的返回值类型均为 HRESULT 类型。HRESULT 类型的返回值反映了函数中的一些情况,其类型定义规范如下: 31 30 29 28 16 15 0 |-----|--|----...

在Wince下使用钩子函数

2008-02-15 11:52 by cppguy, 2004 阅读, 收藏, 编辑
1:什么是钩子从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息。 例子:有一个Form,Form里有个TextBox,我们想让用户在TextBox里输入的时候,不管敲键盘的哪个键,TextBox里显示的始终为“A”,这时我们就可以利用钩子监听键盘消息,先往Windows的钩子链表中加入一个自己写的钩子监听键盘消息,只要一按下键盘就会产生一...

单件,让类就一个实例

2008-01-23 17:12 by cppguy, 189 阅读, 收藏, 编辑
//单件类public class SingleTonHolder<T> where T : new(){ private static T instance; private static bool destory; //用户管理永生件 private static bool disposed = false; public static bool Disposed { get {...

在PokectPC上创建非全屏的窗体

2008-01-11 14:53 by cppguy, 1201 阅读, 收藏, 编辑
windows mobile下创建可拖动非全屏的窗体

Windows Mobile仿iPhone界面Pointui推出

2008-01-04 23:05 by cppguy, 1274 阅读, 收藏, 编辑
原文:http://msmobiles.com/news.php/6996.html 本人试用了一下,很炫, 下载地址:http://www.pointui.com/Home.aspx

一个windows mobile安装程序制作软件

2008-01-04 22:30 by cppguy, 796 阅读, 收藏, 编辑
PocketSetupCreator 这个软件的最大好处就是:把Cab程序包做成桌面上的exe,这样只要点击exe就可以呼叫与电脑连接上的手机程序进行安装。而且操作非常简单。在这一过程中我们还可以添加License来维护版权。 链接:http://www.windowsgames.co.uk/PocketSetupCreator.html

mobile开发小技巧(总结)

2008-01-04 22:25 by cppguy, 307 阅读, 收藏, 编辑
部署过程中创建应用程序快捷方式的图标 其实是个不是问题的问题,当我知道快捷方式的图标和应用程序的图标会保持一致,而应用程序的图标只要通过:项目属性---应用程序----资源 图标 来更改,这就完全解决了

在.NET Compact Framework编写一个自定制呈现的列表控件(翻译)

2008-01-03 12:20 by cppguy, 2099 阅读, 收藏, 编辑
.NET Compact Framework允许两种类型的控件继承:1:从控件草图开始构建一个用户控件2:重定义已存在的System.Windows.Forms.*.controls的非回顾/非呈现行为。首先在.NET CF上,不支持某些功能:与桌面框架不同。.NET CF不允许开发人员重定义标准控件是如何显示的视觉属性。例如,你不能从一个button,treeview
或者其他标准的控件中继承并重定义他们是如何被绘制的。
基于这个问题,给我们的开发造成了很多的不便,因为我们很多时候需要对一些控件进行修改,比如这次我就想在ListView的项目中实现一个滚动条的效果。经过查阅,解决的方式有以下几种:1:可以试用控件嵌入的方法,通过使用C++中的钩子,来截获消息,并实现两个控件之间的统一行为 2:直接继承自Control类,重画ListView 3:就是我要介绍的这个控件,是openNETCF中的控件,它打破了CF的诸多限制,我们可以随意的继承OwnerDrawnList来定义我们想要的控件样式和行为

.net compact framwork 2.0下实现在设备上的代码调试

2007-12-27 20:51 by cppguy, 360 阅读, 收藏, 编辑
弄了一下午,终于解决了,原来对于.net cf 2.0来说,要实现真机上的调试,必须安装.net cf sp1 或者直接安装 sp2. 这是地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=0c1b0a88-59e2-4eba-a70e-4cd851c5fcc4&DisplayLang=en

效率,还是效率 .NET Compact Framework下实现GDI双缓冲

2007-12-24 21:00 by cppguy, 1420 阅读, 收藏, 编辑
解决移动平台上图形界面的闪烁问题

.net cf下实现GDI的图形的擦除

2007-12-17 22:28 by cppguy, 796 阅读, 收藏, 编辑
wince下的GDI API封装

windows mobile 5.0上.net cf的cab安装包

2007-12-14 15:49 by cppguy, 744 阅读, 收藏, 编辑
刚买了手机,由于是5.0所以要装.net compact framework的运行时,才能运行.net程序,自己在网络上搜索了很久才找到这么一个2.19 M的手机安装包,放在这里,如果有人也要安装,就别再像我这么费劲了,连接:http://www.cnblogs.com/Files/abob/NETCF.rar,解压后,把cab文件拷贝到手机上点击安装就好了

关于.NET Compact Framework制图

2007-12-12 10:27 by cppguy, 357 阅读, 收藏, 编辑
.net cf的GDI绘图

.net cf下的线程同步

2007-12-10 17:08 by cppguy, 342 阅读, 收藏, 编辑
.net compact framework下简单的线程同步

通过一个简单的ListView例子看桌面开发和移动开发

2007-12-06 15:17 by cppguy, 1693 阅读, 收藏, 编辑
用ListView在手机上展示大量数据

接下来的研究方向

2006-11-09 22:52 by cppguy, 260 阅读, 收藏, 编辑
windows moblie

使用VS2005开发移动设备应用

2006-10-30 15:59 by cppguy, 1035 阅读, 收藏, 编辑
听webcast的笔记