《IOS和安卓开发》由会员分享,可在线阅读,更多相关《IOS和安卓开发(86页珍藏版)》请在金锄头文库上搜索。
1、柯博文 老師2011/7/28-29大綱大綱 1 1、苹果、苹果iOSiOS基础应用开发技术基础应用开发技术? ? 2 2、iOSiOS开发技术开发技术 3 3、UIUI編程基礎編程基礎 4 4、iOSiOS游戏与多媒体开发游戏与多媒体开发1.1 iOS平台形势,Iphone 如何改變市場?1.2 移動互聯網形勢與企業應對策略1 1、苹果、苹果iOSiOS基础应用开发技术基础应用开发技术 1.3 移動互聯網形勢與企業應對策略 iOS如何支援互聯網服務支援購買電影、電視秀以及有聲書:使用 者可以透過iPhone中的iTunes商店購買並 下載電影、電視,有聲書。 強化股市資訊呈現:支援以橫式 (
2、landscape)方式瀏覽更詳細的股市資訊與 趨勢線圖。 改善網頁瀏覽器Safari:提供更好的網頁瀏覽效 能,同時也支援自動填入使用者帳號密碼。 Internet Tethering:支援iPhone可以對外部設備 如筆記型電腦分享網路連線,像是iPhone如果有 3G網路連線到網際網路,就可以將這個連線分享 給無法上網的筆記型電腦或桌上型電腦, 讓其他設備也可以上網。互聯網企業的應對策略 終端與服務器智能型手机 与云技术服务器的混用。 解决现有行销网站对safari浏览器的 支持, 设计出iPhone/android/iPad 的 浏览器专用的网站。雲端云端运算的出现,冲击最大的就是传
3、统个人电脑市场,不管是硬体制造商或 是作业系统开发者,未来只要准备一台 有浏览器的设备,就能达成需要的一般 性工作,何必每年升级电脑,或者跟随 厂商的脚步升级作业系统?云端运算的模式,等于是把资讯产业慢 慢倾向服务业的性质,工作平台由业者的网 路平台提供,使用者的电脑变成只是沟通的 工具、现代化的图形终端机。2.1 基础知识、条件和需求2 2、iOSiOS开发技术开发技术 手機硬體介紹:iPhoneiPhone是一部4頻段的GSM制式手機 ,支持EDGE和802.11B/G無線上網,支 援電郵、移動通話、路以及其他的通服。 iPhone創新地引入了Multi-touch觸摸屏界 面,在操作性上
4、與其他品牌的手機相比佔 有領先地位。 iPhone包括了iPod的媒體播放,和 Mac OS X操作系統,200萬像素的攝像 頭。有感器能依照水平或垂直方式調整幕 示。iPhone使用400MHz ARM理器。手機軟體介紹:iOSiPhone OS是蘋果公司發展出來 應用於iPhone與iPod Touch的作業 系統,iPhone OS是以開放原始碼計 畫的Darwin為基礎,蘋果公司的桌 面作業系統Mac OS X系統核心也是 使用Darwin。Darwin則是衍生自XNU系統,是 結合了Mach 3微核心、BSD系統的 行程、網路及虛擬檔案系統元件、 以及物件導向驅動程式API-I/O
5、Kits的混合式核心。蘋果公司的混合式核心設計主要 是結合了微核心的彈性與傳統核心 的效能。iPhone OS架構有四個階層(layer),分別 是Core OS 層、Core Service 層、 Media 層 以及Cocoa Touch 層,整個iPhone OS大小大概是 240 MB。整個iPhone OS的架構。iOS架構Cocoa Touch層(Cocoa Touch Layer) :這個階層提供應用程式開發基礎框架 。媒體層(Media Layer):媒體層提供圖形 、聲音與影像的處理與存取。iOS架構說明核心服務層(Core Service Layer):核心 服務層提供應用
6、程式基礎系統服務。核心作業系統層(Core OS Layer):核心 作業系統層即是與作業系統銜接的介面iOS特色:App Store开发者争夺战 在App Store的带动下,谷歌的 Android Market、诺基亚的Ovi Store等 依托不同平台的应用程序商店这几年如 雨后春笋般出现,而联想乐Phone等终 端企业的应用程序商店也开始有了越来 越紧迫的需求。虽然它们现在的商业模式与规模都无 法和App Store比肩,但长远来看,这种 定制之外的合作模式将为开发者创业提供 更为丰富的渠道,然而这种局面必然产生 各大平台对开发者的争夺。实际上,宏大的争夺之战已经打响 。除了苹果、谷歌
7、、微软、诺基亚、黑 莓、中国移动等一干巨头之外,第三方 平台也开始加入到这场角逐中去。继 Getjar在美国横空出世之后,中国这边的 3G门户网又在7月初宣布其“从门户到平 台”的战略转型,同时获得来自IDG等知 名风投的巨额投资。2.2 Objective-C简介和开发工具简介 Objective-C-Hello World选iOSapplication , view-based application,product选iphone。. 选取 main.m 把程式改成#import int main(int argc, char *argv) NSAutoreleasePool* pool=
8、NSAutoreleasePool alloc init; NSLog (“Programming is fun!“); NSLog (“Programming in Objective-C is even more fun!”); pool drain; return 0; 字串 NSString 的使用方法 使用Objective-C 的程序,并在其中使用c 来实现二种程序同时使用的混编API 与 framework 的设计 认识框架技术 框架vs.类库 通用点vs.扩展点 钩子 vs. 插槽 如何开发框架 过程语言:函数指针 OO语言:抽象方法等 掌握OC与C 程序的混编3.1 生命周期
9、和基础UI结构 3 3、UIUI編程基礎編程基礎 如何設定橫向畫面步驟一:在interface builder click “view”步驟二:在interface builder 中選取 view attributes 的 orientation,設定為Landscape 這樣UIView畫面 就可以設定為橫向 把 plist 打開,加上 Initial interface orientation 設定值 Landscape (right home button)並且加上這一段code 在程式裡:/ Override to allow orientations other than the
10、default portrait orientation. - (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation / Return YES for supported orientations return (interfaceOrientation = UIInterfaceOrientationLandscapeLeft); Add3.2 常见UI元素和他们的使用 智能型手机上的JavaScript智能型手机上的JavaScriptiPhone的人机界面(UI
11、)设计UI设计工具 interface builderXcode 开发工具如何打開console在debug 時,會出現 console 的icon , 選 取便會出現consoleUIView的範例使用UIView 是一個空白的畫板 sample code: TutorialUIView並且加上這一段code 在程式裡: / Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad super viewDidLoad; UIVie
12、w* t_UIView=UIView alloc initWithFrame:CGRectMake(30,40,100,100); / 设定位置为 30,40 大小为 100, 100 t_UIView setBackgroundColor:UIColor redColor; / 颜色为 红色 self.view addSubview:t_UIView;/ 加到画面上 在 TutorialUIViewViewController.m 加上 - (void)viewDidLoad super viewDidLoad; UIView* t_UIView=UIView alloc initWithF
13、rame:CGRectMake(30,40,100,100); / 设定位置为 30,40 大小为 100, 100 t_UIView setBackgroundColor:UIColor redColor; / 颜色为 红色 self.view addSubview:t_UIView; / 加到画面上 UIViewController 的範例范例:TutorialUIController Add 在interface builder 上面放上几个元件在tutorialTutorialUIControllerViewController.m #import “mypage1.h“ / Impl
14、ement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad super viewDidLoad; mypage1* t_mypage1=mypage1 alloc init; /初始化 self.view=t_mypage1.view; /把画面做替换 活用其他UI控件和操作4 4、iOSiOS游戏与多媒体开发游戏与多媒体开发 多点处控 Multi-touch 2D 的图片 UIImage 2D 的图片动画 Animation 游戏的控制 虚
15、键盘 用检测手机动作的控制 2D 碰撞计算 2D 的引擎工具介绍 音乐iphone 游戏开发 和unity 工具. . 3D 的 引擎 Open GL ES 在 iphone 上 Open GL 座标 Open GL 正方形、方块 Open GL 颜色 Open GL 贴图 texture Open GL 物件移动、选转、缩放计算 Open GL 摄像机 camera. Open GL 灯光 spot light, 开发要点: opengl整合游戏快打旋風遊戲篇 Sample: 01-AnimationApp開發環境:Interface builder如何變成動態切換圖片NSArray * i
16、mageArray = NSArray alloc initWithObjects:UIImage imageNamed:“1.png“, UIImage imageNamed:“2.png“, UIImage imageNamed:“3.png“, UIImage imageNamed:“4.png“, UIImage imageNamed:“5.png“, UIImage imageNamed:“6.png“, UIImage imageNamed:“7.png“, UIImage imageNamed:“8.png“,UIImage imageNamed:“9.png“, UIImage image