こんにちは私は、apacheのローカルデータベースのように、サーバー上の外部データベースを処理するための最良の方法は何であるか疑問に思いました。または、MYSQLを使用する場合も同様です。iOSでデータベースを動作させる方法がわからないと思います。
よろしくお願いします。
こんにちは私は、apacheのローカルデータベースのように、サーバー上の外部データベースを処理するための最良の方法は何であるか疑問に思いました。または、MYSQLを使用する場合も同様です。iOSでデータベースを動作させる方法がわからないと思います。
よろしくお願いします。
Parse.comは、この分野でいくつかの興味深いオプションを提供します。csvをアップロードし、それを使用してリレーショナルDBを作成し、アプリのSDKを介して、わずか数行のコードでアクセスできます。
私は彼らのために働いていませんが、解決策としてチェックする価値は間違いありません。
Tom Jowettが前に指摘したように、本当に必要なものがわからない場合は、Parseから始めてください。
データをローカルに(つまり電話で)永続化する必要がある場合は、CoreDataが最適です。Core Dataは厳密にはORMではなく、グラフマネージャーですが、データをローカルに保存します(実際のデータベースについて心配する必要はありません)。SQLiteを直接使用することもできますが、使用しないでください(本当に正当な理由がない限り)。
一方、サーバーからのデータを消費するだけの場合は、parse.comを見てください。ニーズに合わない場合は、いつでも独自のRESTfulサーバーを作成し、選択したデータベースを使用できます。 。
サーバーでPHPページを使用し、を介してGET変数でそれらを参照するだけNSURLConnection
です。APIを使用することもできますが、このソリューションははるかに簡単です。
サーバーから情報を取得する必要がある場合は、次のようにするだけです。
NSString* returnedInfo = [NSString stringWithContentsOfURL:[NSURL urlWithString:@"http://www.myserver.com/myaccessorpage.php?a=sdf&s=dfg"]];
バックグラウンドスレッドで実行して、アプリがハングしないようにすることもできます。
これはあなたがしていることを達成するための最も効率的な方法ではないかもしれませんが、それは間違いなく最も簡単な方法です。
これがあなたが始めるのに役立つことを願っています。
iOSでMYSQLに直接アクセスすることはできますが、それは可能です。Appleはあなたのアプリを承認しません。
そのため、 Webサービスを使用してデータにアクセスしています。つまり、特定の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];
これは基本的な概念であり、彼らのホームページでより多くの例を読み、さらにいくつかの例をグーグルで検索してください。