0

質問がありますが、これに対する直接的な答えを実際に見つけることができませんでした。

xml ファイルからすべてのコンテンツをダウンロードするアプリがあります。残念ながら、ユーザーがインターネットに接続していない場合、アプリは役に立ちません。インターネットがない場合でも、アプリが役立つようにしたい。

私が今やりたいことは、インターネットがあるかどうかを確認することです。インターネットがある場合は、xml をダウンロードして解析し、すべての画像とテキストを取得します。次に、これを保存し、ユーザーからの要求があった場合にのみ、データを更新します。インターネットがない場合、アプリは保存された xml ファイルや保存された画像などに直接アクセスする必要があります。

画像やテキストを保存する方法を知りたいのですが、これは許可されていますか? ドキュメントフォルダに画像を保存する方法をどこかで読んだのですが、300枚くらいの画像になるとのことですが、これは大変なことになりませんか?これも許可されていますか?

さらに、どうすればテキストを保存できますか? sqlite とドキュメント フォルダへの保存の組み合わせでこれを行うことは可能ですか?

プラストー

4

1 に答える 1

0

コンテンツをxmlの代わりにplistに保存できます

値を plist に設定する

 NSData * data = [NSKeyedArchiver archivedDataWithRootObject:YourDataArray];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *docDir = [paths objectAtIndex:0];

    NSString *Path =[NSString stringWithFormat:@"%@/%@.plist",docDir,@"Content"];
    NSLog(@"%@",Path);
    BOOL didWriteSuccessfull = [data writeToFile:Path atomically:YES];
    if (didWriteSuccessfull) {
        NSLog(@"store succsessfully");
    }
    else {
        NSLog(@"no");
    }

plist から値を取得する

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];

NSString *Path =[NSString stringWithFormat:@"%@/%@.plist",docDir,@"Content"];


if ([[NSFileManager defaultManager] fileExistsAtPath:Path])
{

    NewsToDisplay=[[NSArray alloc]initWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:[NSData dataWithContentsOfFile:Path]]];

}
于 2012-08-24T08:47:41.887 に答える