我是iPhone應用開發新手。我正在考慮製作一個簡單的應用程序,僅用於學習目的。例如,我想顯示體育比賽(NBA,NFL,NHL等)的分數。從我的應用程序中,例如http://www.espn.com將這些數據提取出來並顯示出來,最簡單的方法是什麼?如何從網站獲取數據並將其放到應用程序中?
謝謝!
我是iPhone應用開發新手。我正在考慮製作一個簡單的應用程序,僅用於學習目的。例如,我想顯示體育比賽(NBA,NFL,NHL等)的分數。從我的應用程序中,例如http://www.espn.com將這些數據提取出來並顯示出來,最簡單的方法是什麼?如何從網站獲取數據並將其放到應用程序中?
謝謝!
最簡潔的方法是查找以XML或JSON格式提供的數據源,然後使用您選擇的XML或JSON解析庫來解析和使用數據。
如果你找不到像這樣的任何數據源,你可以使用一個HTML抓取庫(或額外hacky關於它並加載一個UIWebView屏幕和穿越DOM),但你很可能會有它的常見問題因爲任何時候網站改變它可以完全打破你的應用程序。同樣解析HTML通常需要下載比XML或JSON文件更多的數據。
使用Objective C,您可以解析RSS提要或在遠程站點上調用API(如果您有權訪問該API),它將JSON/XML返回給您的應用程序。
有一個類似的答案在這裏這樣一個問題 - What's the best way to parse RSS/Atom feeds for an iPhone application?
首先,你要找到一個RSS源,你可以找到一些ESPN的鏈接here,一旦你有一個RSS網址,所有您需要要做的是在以下字符串中的引號之間鍵入它。
-(void) viewDidLoad {
NSString * sFeedURL = [NSString stringWithFormat:@"http://www.google.com/ig/api?weather=,,,270000,960000"];
//RSS Feed URL goes between quotes
NSString * sActualFeed = [NSString stringWithContentsOfURL:[NSURL URLWithString:sFeedURL] encoding:1 error:nil];
lblOne.text = sActualFeed;
NSLog(@"%@", sActualFeed);
}
提供的URL是用來獲取當前的天氣,這是不是你想要的,但你需要做的是改變你要顯示的RSS源的URL。
Feed將顯示在標籤中。當然,你必須先做出來,我稱之爲lblOne,但你不需要有標籤,你可以使用NSLog來測試它。可能是
a [WebView](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html)。 – chown