1

私は毎月の経費を追跡する簡単な経費アプリを設計しています。経費には、名前、金額、およびカテゴリがあります。カテゴリは自由に追加/削除できます。カテゴリと経費をデータベースに保存しています。

現在、カテゴリの追加機能を公開する方法は、「経費の追加」アクティビティでeditTextと「カテゴリの追加」というボタンを保持することです。

したがって、ユーザーが経費について何も入力せず、カテゴリを追加するだけのようなユーザーシナリオでは、データベースに保存する必要があります。

カテゴリの保存は、AsyncTaskを使用してデータベースヘルパーを呼び出してテーブルに値を挿入することにより、データベースですぐに実行できます。

その間、私は何かを保存していることをユーザーに伝えるために、または他のフィールドに情報を入力させるために、progressDialogを配置する必要があるかどうかについて混乱しています。

レコードの部分的な情報をデータベースに保存する際のUIパターンまたは一般的に実行される戦略とは正確には何ですか。また、データベースにカテゴリを追加するとエラーが発生した場合は、別のアクティビティに移動する必要がありますか?

また、副次的な質問ですが、[カテゴリの追加]ボタンを[経費の追加]ボタンとは別のアクティビティに配置する必要がありますか?

4

1 に答える 1

1

http://developer.android.com/guide/practices/design/responsiveness.htmlから:

データベース操作などの長時間実行される可能性のある操作は、子スレッドで (データベース操作の場合は、非同期要求を介して) 実行する必要があります。ただし、これは、子スレッドが完了するのを待っている間、メインスレッドがブロックされるべきであることを意味するものではありません...

この投稿の元の状況が説明されているので、進行状況ダイアログはおそらく必要ありません。おそらく、保存中のレコードの横に小さな視覚的なマーカーが画面に表示され、保存状態 (「新規」、「保存中」、「保存済み」、「問題/エラー」のいずれか) であることを示している可能性があります。保存中にエラーが発生した場合、レコードを保存することがユーザーにとっておそらく重要である場合は、問題があったことをユーザーに明確に示し、状況を改善するための手順を提供します.

また、少なくとも 1 回の最近の Google I/O 2011 セッション (ビデオはhttp://www.youtube.com/googledevelopersで入手可能) で、公式 Twitter アプリを作成した人を含む Android ユーザー インターフェース エンジニアに注意してください。は、プログレス ダイアログなどのブロック UI を制限することを推奨しました。使いすぎると、最適なユーザー エクスペリエンスが得られず、アプリが応答しなくなり、使用が遅くなる可能性があるためです。

于 2011-05-13T03:00:35.400 に答える