[英]What is the best way to write a previously created Sqlite database to documents in iOS
[英]iOS: In iOS what is the best way to deal with a database?
您好,我想知道處理服務器上的外部數據庫(例如apache上的本地數據庫)的最佳方法是什么。 使用MYSQL時也是如此。 我想我很困惑如何在iOS上進行數據庫工作。
謝謝,非常感謝。
Parse.com在此區域提供了一些有趣的選項-您可以上傳一個csv並使用它創建一個關系數據庫,然后通過應用程序中的SDK來訪問它,只需幾行代碼。
我不為他們工作,但是絕對值得一試作為解決方案。
正如湯姆·喬維特(Tom Jowett)之前指出的那樣,如果不確定您真正需要什么,請從Parse開始。
如果您需要在本地保留數據(在電話上有意義),那么Core Data非常適合。 嚴格地說,Core Data不是一個ORM,而是一個圖形管理器,但是它將為您本地存儲數據(並且您不必擔心實際的數據庫)。 您也可以直接使用SQLite,但不應該這樣做(除非您有充分的理由這樣做)。
另一方面,如果您將只使用服務器中的數據,請看一下parse.com,如果它不符合您的需求,則您始終可以編寫自己的RESTful服務器,並使用您選擇的數據庫。
只需在服務器上使用PHP頁面,然后通過NSURLConnection
使用GET變量引用它們即可。 您可以使用API,但是此解決方案要簡單得多。
如果您需要從服務器獲取信息,則只需執行以下操作:
NSString* returnedInfo = [NSString stringWithContentsOfURL:[NSURL urlWithString:@"http://www.myserver.com/myaccessorpage.php?a=sdf&s=dfg"]];
您可以在后台線程上運行它,以免應用程序掛起。
這可能不是實現您正在做的事情的最有效方法,但絕對是最簡單的方法。
希望這可以幫助您入門。
盡管可以,但是無法在iOS中直接訪問MYSQL。 蘋果不會批准您的應用。
因此,我們正在使用Web Service訪問數據。 這意味着您需要通過特定的URL和參數來請求Web服務器。 然后讓您的Web服務器查詢您的數據庫,最后以plaintext
, XML
或JSON
格式輸出它們。 得到結果后,可以將其parse
為NSDictionary
或NSArray
類的對象。
我相信最常用的方法是使用ASIHTTPRequest和SBJson框架。 快速可靠。 (盡管ASIHTTPRequest已停止)
假設您在apache服務器上使用PHP。
$mysqlArray = mysql_query($query);
$resultObjs = array();
while($mysqlObj = mysql_fetch_object($mysqlArray)){
array_push($resultObjs,$mysqlObj);
}
echo json_encode($mysqlObj);
NSURL *api = [NSURL URLWithString:@"http://YOURSERVER.com/api.php"];
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:api];
NSString *resultString = [request responseString];
[request release];
SBJson
將其解析為對象 SBJsonParser *parser = [[SBJsonParser alloc] init];
NSArray *resultObjs = (NSArray*)[parser objectWithString:resultString];
[parser release];
這是一個基本概念,請在其首頁上閱讀更多示例,並在Google上閱讀更多示例。希望它會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.