摘要: 经常有朋友想学习 Windows Mobile 开发,体验移动开发的乐趣,但不知道从哪里下载各种开发工具和学习资料。于是我整理了一个列表,里面包含了各个版本的 Windows Mobile SDK, .NET Compact Framework, SQL Server CE, Device Emulator, Emulator Image 和学习资料的下载链接。阅读全文
posted @ 2007-03-13 13:27 黎波 阅读(44693) 评论(165) 编辑

精至手机药典iPhone版已经完成了第二版的开发和测试,正在等待AppStore的审批。已越狱的iPhone很快就能下载使用了。第二版加入了历史前进和后退导航,从历史打开页面,以及收藏和注释功能,大大提升了用户体验!

 

启动界面

主界面

 

药品目录

 

药品

 

药品相互作用

 

药物类别

 

药品搜索

 

相互作用搜索

 

用药指南

 

临床计算工具

 

诊断评估工具

 

收藏

历史

选项

使用帮助

 

官方网站:http://www.apocrest.com/

官方博客:http://blog.sina.com.cn/jzhmed

官方微博:http://weibo.com/wamuu

App Store:http://itunes.apple.com/cn/app/id490834552

 

作者:黎波
博客:http://bobli.cnblogs.com/
日期:2012年1月15日(2.0),2011年12月20日(1.0)
posted @ 2011-12-20 15:02 黎波 阅读(399) 评论(1) 编辑

1.字符串连接

NSString *str1 = @"str1";
NSString *str2 = @"str2";
NSString *result;

//方法1
result = [str1 stringByAppendingString:str2];
NSLog(result, nil);

//方法2
result = [NSString stringWithFormat:@"%@%@", str1, str2];
NSLog(result, nil);

//方法3
result = [@"" stringByAppendingFormat:@"%@%@", str1, str2];
NSLog(result, nil);

//方法4
NSMutableString *ms = [[NSMutableString alloc] init];
[ms appendString:str1];
[ms appendString:str2];
NSLog(ms, nil);
[ms release];
    
//结果都是:str1str2

 一般推荐使用方法1,如果需要大量字符串连接推荐使用方法4,需要更少的内存开销。


2.多行书写字符串常量

NSString *str1 = @"SELECT [CustomerID], [CustomerName] "
"FROM [Customer] "
"WHERE [CustomerID] = 1234";

NSString *str2 = @"SELECT [CustomerID], [CustomerName] \
FROM [Customer] \
WHERE [CustomerID] = 1234
";

NSLog(str1, nil);
NSLog(str2, nil);

//结果都是:SELECT [CustomerID], [CustomerName] FROM [Customer] WHERE [CustomerID] = 1234

注意字符串中每行结尾处的空格。这种字符串声明方式虽然看上去是多行,实际上字符串中并没有换行符,也就是说整个字符串实际上是一行。如果需要在字符串中换行,可以在字符串中加入换行符"\n"。这种声明方式一般用在需要在代码中多行显示字符串以便提高可读性,例如:SQL语句往往需要多行显示来提高可读性、较长的文本的段落之间需要分行显示以便更容易找到分段位置。

 

此文将不断更新...

 

作者:黎波
博客:http://bobli.cnblogs.com/
日期:2011年12月7日

posted @ 2011-12-07 12:29 黎波 阅读(270) 评论(0) 编辑

这是最近完成的一个iPhone app。《目标身高》根据各省的调查数据和身高遗传特点进行计算,来算算你家宝贝能长多高吧。

 

 


 

App Store

http://itunes.apple.com/cn/app/id478325161

 

作者:黎波
博客:http://bobli.cnblogs.com/
日期:2011年12月2日
posted @ 2011-12-02 17:40 黎波 阅读(151) 评论(1) 编辑

这是最近完成的一个Android App。目标身高根据各省的调查数据和身高遗传特点进行计算,来算算你家宝贝能长多高吧。

 

 

 

Android Market Page

https://market.android.com/details?id=com.jingzhimed.targetheight

 

作者:黎波
博客:http://bobli.cnblogs.com/
日期:2011年12月2日
posted @ 2011-12-02 17:31 黎波 阅读(107) 评论(0) 编辑

这几天遇到一个非常奇怪的问题,基于Xcode 4.2开发的app,导出的ipa安装包不能安装到iPod Touch 2上。Touch2固件版本是4.2.1,已越狱。iTunes、91手机助手、同步推试过了都不行。但是其他ipa文件可以成功安装到Touch2上。而Xcode 4.2生成的ipa包在iPhone 4、iPhone 3GS、iPod Touch 4都能安装成功并顺利运行,无论固件什么版本。初步分析的结果就是Xcode 4.2生成的app不支持Touch2。这几天找了一些朋友帮我测试ipa安装包,问一些有iOS开发经验的朋友,最终有个朋友提醒我Xcode 4.2中,Project->Build Settings->Architectures->Release设置有关,经过修改,问题终于解决了,谢谢这位朋友!

原因分析:Xcode 4.2的Architectures设置默认只有armv7,也就是新的iOS设备,包括iPhone 3GS, iPhone 4, iPhone 4s, iPad, iPad2等,而iPhone, iPhone 3G, iPod Touch, iPod Touch 2属于armv6架构。

解决方法:将Architectures设置为armv6 armv7,如下图所示:

修改前:


修改后:

这样设置后生成的ipa安装包就可以支持老的iOS设备了。


另外,还要把Info设置中的Required device capabilitiess删掉,这样提交到AppStore后才会正确显示兼容老的iOS设备。


作者:黎波
博客:http://bobli.cnblogs.com/
日期:2011年11月9日

posted @ 2011-11-09 13:37 黎波 阅读(857) 评论(1) 编辑

今天在 Lion+Xcode 4.1 打开以前的项目出现 Expected declaration specifiers before 'interface' 错误,导致项目编译不通过,该项目之前在 Snow Leopard+Xcode 3.2.6 环境下编译正常。

经过google找到解决方法如下:

方法一:升级到 Xcode 4.2。

方法二:修改所有 sqlite3.h 的引用路径

#import "/usr/include/sqlite3.h"

改成

#import "sqlite3.h"

原因是这两个头文件的版本不同,#import "sqlite3.h" 实际上是调用了 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/sqllite3.h。


参考:http://stackoverflow.com/questions/6836710/upgraded-to-xcode-4-1-and-sqlite3-h-is-causing-compilation-errors-where-it-didnt

 

作者:黎波
博客:http://bobli.cnblogs.com/
日期:2011年9月26日

posted @ 2011-09-26 11:37 黎波 阅读(447) 评论(0) 编辑
摘要: 转载说明:这是我在2010~2011年参与的一个项目,主要负责Windows Mobile端的应用程序开发。本项目的主要亮点是用户体验。为了在Windows Mobile平台上实现完美的用户体验,所有的界面元素都重新封装了特殊控件,并由控件所在的View统一绘图,从而兼顾了界面的美观与快速的反应。 腾讯汽车 原创报道组 2011年07月21日08:05[导读]家用汽车和智能手机都有着强劲的发展,但两者相互结合会有一个什么样的结果?看看上海安吉星手机应用程序来告诉我们如何玩转汽车的。用手机玩转汽车 体验安吉星手机应用程序家用汽车和智能手机都有着强劲的发展,但两者相互结合会有一个什么样的结果?看看阅读全文
posted @ 2011-09-24 09:51 黎波 阅读(418) 评论(0) 编辑
摘要: 今天在Lion下用Xcode 4.1做书上的练习,写了一个非常简单的app。View上面有1个Image View,2个Label,2个Text Field。我在Xcode将项目编译运行到iOS模拟器中,当我用iOS模拟器的软键盘输入几个英文字母后,Xcode调试器出现了 EXC_BAD_ACCESS 错误。同样的代码在Snow Leopard 10.6.8下的Xcode 3.2.6运行正常。所以绝非大多数人所遇到的release使用不当的问题。经过百度找到错误原因和解决方法,原因:Xcode 4.1的iOS 4.3模拟器的bug,解决方法:在模拟器通过设置Keyboard将Auto-Corr阅读全文
posted @ 2011-09-22 14:55 黎波 阅读(1141) 评论(1) 编辑
摘要: 刚完成了这个项目,Android版操作体验比之前发布的Windows Mobile版提升很多,支持语音搜索,加入更多的临床工具,还有注释和收藏功能!这是我的第一个Android作品,从Windows Mobile转向Android的体会是:开发语言非常相似;开发工具Eclipse性能比Visual Studio差很多;开发Android界面很舒服,都是基于XML的配置,iOS和WP7类似;Android的Java类库很强大;总体评价是先进很多,大大提供了开发效率!想想以前开发Windows Mobile界面那个叫痛苦啊!启动界面主界面药品目录药品药品相互作用 药物类别药品搜索语音搜索相互作用搜阅读全文
posted @ 2011-09-06 22:48 黎波 阅读(629) 评论(3) 编辑
摘要: ProGuard 是 Android 代码混淆工具,对于程序员保护自己的劳动成果非常有用,目前已经包含在 Android SDK 2.3 里面了。今天在配置好 ProGuard 使用 Export Android Application 时提示“conversion to Dalvik format failed with error 1”错误。网络上有人介绍将 SDK 降级到 r11 和修改 proguard.bat 两种方法,不过最彻底的方法是将 Android SDK 2.3 包含的 ProGuard v4.4 升级到 v4.6,就能彻底解决该问题。解决方法:从这里下载 ProGuard阅读全文
posted @ 2011-09-06 02:52 黎波 阅读(1015) 评论(2) 编辑
摘要: 今年上半年完成的一个项目,投入了很多心血,个人觉得是比较实用的医药查询工具。精至手机药典的用户群是医药专业学生/教师、医生、药房工作者、药品销售者、药监局工作人员。Windows Mobile版本已经发布正式版,Android版即将发布!主界面药品目录药品简介药品信息药品别名药品相互作用药品搜索药品相互作用搜索临床工具临床工具-用药指南临床工具-计算工具浏览历史官方网站:http://www.apocrest.com/官方博客:http://blog.sina.com.cn/jzhmed官方微博:http://weibo.com/wamuu作者:黎波博客:http://bobli.cnblog阅读全文
posted @ 2011-07-22 18:40 黎波 阅读(812) 评论(1) 编辑
摘要: 字符串资源的定义文件路径:res/values/strings.xml字符串资源定义示例:<?xmlversion="1.0"encoding="utf-8"?><resources><stringname="hello">Hello!</string></resources>字符串资源的调用 在 Layout XML 调用字符串资源:<TextViewandroid:layout_width="fill_parent"android:layout_阅读全文
posted @ 2011-06-04 23:58 黎波 阅读(1265) 评论(0) 编辑
摘要: 看到很多热门的Android程序(如:新浪微博、腾讯微博、京东商城、淘宝、当当等等)使用选项卡风格作为程序界面的主框架结构,而Android的选项卡控件默认是按钮在上方的。我在网上看到有多种实现方法,这里提供一种个人觉得比较简单的。由于我对Android开发所知甚少,方法的优劣目前不好评价,欢迎各位提供更好的思路。 主要原理:设置 TabWidget 控件的 android:layout_alignParentBottom="true" 实现。main.xml<?xmlversion="1.0"encoding="utf-8"?阅读全文
posted @ 2011-05-09 15:23 黎波 阅读(1124) 评论(0) 编辑
摘要: 最近在实现操作历史的功能,发现了一个可以设定容量的Stack类,在某些场合非常有用。这个类叫RoundStack,数据结构设计上很有意思,值得借鉴,所以推荐给大家。RoundStackCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceGenericUndoRedo{///<summary>///Stackwith阅读全文
posted @ 2011-01-07 10:40 黎波 阅读(355) 评论(0) 编辑
摘要: 最近我在使用 SQLite 数据库开发 Windows Mobile 项目,顺便把 .NET Compact Framework 版的 Data Access Application Block (SQL Server Compact) 转成 SQLite 版,觉得挺好用,跟大家分享!代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Data.Common;usingSystem.Data;name阅读全文
posted @ 2011-01-04 22:34 黎波 阅读(1466) 评论(4) 编辑