摘要:
声明:本文档仅为个人学习过程中顺手翻译之作,方便开发的同胞借鉴参考。如有觉得译的不好不到位的地方,欢迎指正,将及时做出更正尽量尊重原文档,因为首次Objective-C,有些地方可能直译了没有注意该语言的专有词,希望指正。如需转载,请注明出处我的编程环境:IDE:XCODE4.3.1OS: MAC OS X 10.7.4文章来译自:http://developer.apple.com/如何定义类大多数面对对象编程都包含为新对象编写代码---定义一个新类。在Objective-C中,类被定义为两部分:一个接口声明有一些方法以及类的属性,以及它的父类的名字一个实现类真正的类 (包括实现的方法的代码 阅读全文
摘要:
通常情况下,按“Home”键可以回到“Home Screen”,这时你的应用可能还在后台运行。对于某些特殊情况,比如你重新定义了“Home“键防止用户退出你的应用,在某些情况下需要回到系统自带的Home 应用并强制退出应用。假定能自定义的Home 应用名称为DummyActivity,你重新定义了Home 键,此时如过按“Home”键,系统会列出如下类似的列表:此时如果将DummyActivity设为缺省“Use by default for this action”,以后用户将无法按“Home”键退回原有的Home应用。在这种情况下,如果需要启动缺省的Home应用,可以通过PackageMa 阅读全文
摘要:
本篇算是该系列最后一篇,虽不能说是很熟,但使用MonoTouch 开发的其本方法是掌握了,主要是完成当初的任务,实现地图开发包在iPhone上的实现。使用MonoTouch ,.Net 代码很容易就可以在iPhone上运行,但iphone上 CoreGraphics 图形库的坐标原点在左下角,Y轴方向向上,和其它的图形系统不同,大部分图形系统坐标原点在左上方,Y轴方向向下,如果不注意,图象显示方向就不正确。下图是在iPhone使用引路蜂地图演示程序的一个截图。基于iOS, Mac OS 地图开发包将在不久的将来发布,敬请关注。其功能和它在Java ME,Android 平台类似,和iphone 阅读全文
摘要:
结束了选择开发平台的思想斗争,最终选择MonoTouch. 最终的代码需要在iphone上测试,尽管可以使用iphone模拟器来开发,但模拟器和16实际的手机还是有很大的区别的。内存大小,CPU速度,关键的iphone模拟器和实际的手机所支持的API不同,iphone模拟器实际上是个Mac OS应用,很多在手机上不支持的库可以用在iphone模拟器,也就是与能在iphone模拟器上运行的代码不一定可以在iphone手机上运行。当如果需要将程序部署到手机,就需要加入Apple iOS Member,每年需付$100,而MonoTouch软件的费用是$399,还不算太贵。于是付款,正好赶上感恩节促 阅读全文
摘要:
这个例子说明如何使用Graphics2D对象来绘制各种几何图形。引路蜂二维图形库中定义里多种基本几何图形,如,点,线段,曲线和矩形等。接口PathIterator定义了从Path中获取路径元素的方法。接口IShape定义了描述几何图形公用的方法。点类Point定义了二维空间位置在(x,y)一个点。Point point = new Point (x, y); 创建一个点对象。此外Point类也提供了计算两点之间距离的方法等。线段类Line定义了平面上一条线段。下面代码绘制一条线段。// draw Line2D.Doublegraphics2D.draw (pen, new Line(x1, y 阅读全文
摘要:
本包定义了GPS接收器一个通用接口,并提供对NMEA 2.0数据的解码方法。在Java ME平台上对JSR179 进行了封装.Coordinates定义地址经纬度坐标。Location定义地址信息,如名称等。LocationProvider地理信息提供者,是所有GPS 设备的基类。Orientation提供当前GPS坐标中的方向信息。QualifiedCoordnates提供当前GPS坐标中的详细方向信息,包括精度。JSR179LocationProviderJSR179 API locationProvider封装类,只在Java ME平台提供。NMEACompatibleLocationP 阅读全文
摘要:
Save & Restore State与之前的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 实现的UI类似,但功能和实现方法稍有不同。(9)是通过Shared Preferences 和 Activity 的onPause() ,和onResume()来保持UI中 EditText 的值。本例是通过onSaveInstanceState(Bundle savedBundle) 来实现保持UI状态。 和onPause,onResume不同的是,onSaveInstanceState不是Activity Li 阅读全文
摘要:
语法(SYNTAX):<uses-sdkandroid:minSdkVersion="integer" android:targetSdkVersion="integer" android:maxSdkVersion="integer"/>被包含于(CONTAINED IN):<manifest>说明(DESCRIPTION):这个元素用API 的级别(一个整数)来说明应用程序会跟哪些Android平台版本兼容。由应用程序给出的API级别会跟给定不同的设备中的Android系统的API级别比较。尽管这个元素被用 阅读全文
摘要:
尽管Java不像C/C++那样需要手工管理内存资源,而是通过更为方便、更为智能的垃圾回收机制来帮助开发者清理过期的资源。即便如此,内存泄露问题仍然会发生在你的程序中,只是和C/C++相比,Java中内存泄露更加隐匿,更加难以发现,见如下代码:[java] view plaincopy//Canyouspotthe"memoryleak"?importjava.util.*;publicclassStack{privateObject[]elements;privateintsize=0;privatestaticfinalintDEFAULT_INITIAL_CAPACIT 阅读全文
摘要:
*利用组合(composition)和委托(delegation)可以在运行时实现继承行为的效果,动态地给对象加上新的行为。*利用继承扩展子类的行为,是在编译时静态决定的;利用组合的做法,可以在运行时动态地扩展对象的行为。软件设计原则:类应该对扩展开放,对修改关闭。这就是我们常说的开放-关闭原则。*开放-关闭原则使类容易扩展,在不修改代码的情况下,通过搭配实现新的行为。这样的设计可以应对改变,比如增加新功能或需求发生变更。OO设计技巧:允许系统在不修改代码的情况下,进行功能扩展。*装饰者模式:动态地将责任加到对象身上。如果要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。*装饰者模式中,装 阅读全文