3

Android で 1 つのアプリケーションを開発しています。非常に多くのデータ (文字列) と画像が含まれています。文字列データはフォルダから取得されdatabase、画像は/resフォルダから取得されます。

My Application First Activity では、書籍のカテゴリが表示されます。次に、それらのいずれかを選択し、すべての書籍の画像と選択したカテゴリの簡単な説明を表示する次のアクティビティにジャンプします。これらのすべてのデータはクエリ操作でデータベースから取得され、カスタム リスト ビューにArrayAdapter. これらは機能しており、必要なものがすべて表示されます。

しかし問題は、1 つのアクティビティからカテゴリをクリックすると、2 番目のアクティビティ (選択したカテゴリの詳細情報) を表示するのに 1 分以上かかることです。だから、ここでユーザーは立ち往生しています。私のアプリケーションには悪いです。

これらを解決する方法や、1 つのアクティビティから 2 つ目のアクティビティへのアクティビティの読み込みプロセスを表示するアイデアはありますか?

前もって感謝します。

これらを解決するために私を助けてください。

4

3 に答える 3

6

AsyncTask を次のように使用します。

public class My_Game_Task extends AsyncTask<String, Void, Void> {


        @Override
        protected void onPreExecute() {
            //put a preloder
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(String... arg0) {
            // TODO Auto-generated method stub

            find data from database

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            dismiss preloader
                            set adapter here
            super.onPostExecute(result);

        }

    }

oncreate を new My_Game_Task().execute(); として呼び出します。これにより、次のアクティビティがすぐに表示され、プリローダーが表示されます

于 2012-10-31T05:13:05.610 に答える
0

まず第一に、アプリをどこでテストしていますか..エミュレーターで実際のデバイスで確認すると、実際にどれだけの遅延が発生するかがわかります.! 同様の問題がありましたが、エミュレータでは数分かかりますが、実際のデバイスでは驚くほど実行されます.表示にわずか1秒しかかかりません..

于 2012-10-31T06:05:09.693 に答える
-1

これを試してみると、他の操作を実行する前に 1 秒の遅延が発生します。

  try {
    Thread.sleep(1000);
      } catch (InterruptedException e)
      {
    e.printStackTrace();
       }
于 2012-12-11T08:00:24.723 に答える