3

アプリケーションの開始時に、Web サーバーからデータをロードしようとしています (JSONArray を取得しています)。これまでのところ、次のコマンドを使用してメイン アクティビティからのみ配列を取得できました。

if (DEVELOPER_MODE) {
    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
        .detectDiskReads()
        .detectDiskWrites()
        .detectNetwork()
        .penaltyLog()
        .build());<br>
}

jsonArray = JsonParser.getJSONFromURL("cities2.php");



これにより、現在のクラスのすべての都市 (または必要なデータ) が得られましたが、これはきれいな方法ではありません..
私の問題は、SplashScreen アクティビティから必要なアクティビティに都市を取得する方法です。データ。

私の目標は、SplashScreen 中に Web サーバーからすべてのデータをロードし (約 4500 行のテキスト -> 約 50KB のデータ)、それらをさまざまなアクティビティで使用することです。

したがって、現時点での主な問題は、データを取得する方法です。 SplashScreen 中に「最後の」アクティビティにロードした Web サーバーから (つまり、SplashScreen -> MainActivity -> SetFilterActivity -> ShowDataActivity (ここではデータが必要です))

私はここで読んでいました。Android SplashScreen
Here:スプラッシュ スクリーン (アプリの起動時に画面が表示される) を作成するには?
ここ: http://www.androidpeople.com/android-loading-welcome-splash-spash-screen-example
そしてここ: http://www.41post.com/4588/programming/android-coding-a-loading- screen-part-1
その他.... :-)

Application を拡張し、そこにデータを「格納」する別のクラス (ゲッターとセッター) を作成しようとしましたが、どういうわけか私が望むように動作しません。

どうすれば適切な方法でそれを行うことができるかについて、誰かが私を正しい方向に導くことができます..

ご協力ありがとうございました

PS: 必要なときにいつでも各画面にデータを簡単にロードできますが、ある時点でロードして、後で必要なときにいつでもプログラムで使用したい

4

3 に答える 3

0

データベースを使用して、そこにデータを保持および配置します。データベースはアクティビティにまったく結び付けられていないため、データをそこに保存すると、後でどこからでも取得できます。基本的に、それがデータベースの目的です-データを保持するためです:)共有設定を使用する提案はあまり良くありません。基本的にキー値ストレージ。並べ替えや条件付きデータ フェッチが必要な場合は、一からやり直さなければなりません。

于 2013-04-22T20:48:31.203 に答える