0

こんにちは私は、apacheのローカルデータベースのように、サーバー上の外部データベースを処理するための最良の方法は何であるか疑問に思いました。または、MYSQLを使用する場合も同様です。iOSでデータベースを動作させる方法がわからないと思います。

よろしくお願いします。

4

4 に答える 4

2

Parse.comは、この分野でいくつかの興味深いオプションを提供します。csvをアップロードし、それを使用してリレーショナルDBを作成し、アプリのSDKを介して、わずか数行のコードでアクセスできます。

私は彼らのために働いていませんが、解決策としてチェックする価値は間違いありません。

于 2012-10-10T03:39:01.890 に答える
2

Tom Jowettが前に指摘したように、本当に必要なものがわからない場合は、Parseから始めてください。

データをローカルに(つまり電話で)永続化する必要がある場合は、CoreDataが最適です。Core Dataは厳密にはORMではなく、グラフマネージャーですが、データをローカルに保存します(実際のデータベースについて心配する必要はありません)。SQLiteを直接使用することもできますが、使用しないでください(本当に正当な理由がない限り)。

一方、サーバーからのデータを消費するだけの場合は、parse.comを見てください。ニーズに合わない場合は、いつでも独自のRESTfulサーバーを作成し、選択したデータベースを使用できます。 。

于 2012-10-10T03:59:07.270 に答える
1

サーバーでPHPページを使用し、を介してGET変数でそれらを参照するだけNSURLConnectionです。APIを使用することもできますが、このソリューションははるかに簡単です。

サーバーから情報を取得する必要がある場合は、次のようにするだけです。

NSString* returnedInfo = [NSString stringWithContentsOfURL:[NSURL urlWithString:@"http://www.myserver.com/myaccessorpage.php?a=sdf&s=dfg"]];

バックグラウンドスレッドで実行して、アプリがハングしないようにすることもできます。

これはあなたがしていることを達成するための最も効率的な方法ではないかもしれませんが、それは間違いなく最も簡単な方法です。

これがあなたが始めるのに役立つことを願っています。

于 2012-10-10T03:28:55.680 に答える
1

iOSでMYSQLに直接アクセスすることはできますが、それは可能です。Appleはあなたのアプリを承認しません。

そのため、 Webサービスを使用してデータにアクセスしています。つまり、特定のURLとパラメータでWebサーバーをリクエストします。そして、Webサーバーにデータベースのクエリを実行させ、最後にplaintextXMLまたはJSON形式で出力します。結果を取得したら、またはparseのようなオブジェクトに変換できます。NSDictionaryNSArray

これを行う最も一般的な方法は、ASIHTTPRequestSBJsonフレームワークを使用することだと思います。高速で信頼性があります。(ASIHTTPRequestは停止されていましたが)

ApacheサーバーでPHPを使用しているとしましょう。

phpの場合-api.php:

$mysqlArray = mysql_query($query);
$resultObjs = array();
while($mysqlObj = mysql_fetch_object($mysqlArray)){
    array_push($resultObjs,$mysqlObj);
}

echo json_encode($mysqlObj);

ASIHTTPRequestでデータを取得する場合

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];

これは基本的な概念であり、彼らのホームページでより多くの例を読み、さらにいくつかの例をグーグルで検索してください。

于 2012-10-10T04:07:36.147 に答える