私は Android 開発の初心者であり、自分のスキルを向上させる目的で、連絡先管理アプリケーションを作成するタスクを自分自身に設定しました。
ユーザーは、連絡先の検索、新しい連絡先の編集、連絡先の編集、連絡先の削除など、通常の連絡先編集オプションをすべて利用できます。パブリック変数の ID)。連絡先が「選択」されているときに「編集」または「削除」を押すと、これらの機能は正常に機能します。
しかし、連絡先が選択されていないときにユーザーが「編集」または「削除」を押そうとするとどうなるでしょうか? 簡単な解決策は、「連絡先を選択してください」というメッセージを表示することですが、それは悪い設計です。アプリでユーザー入力が必要な場合は、連絡先を選択するために必要なアクティビティにリダイレクトする必要があります。
したがって、ユーザーが [編集] ボタンをクリックすると、次の非常に小さなコード スニペットが作成されます。
public void findContact(View view)
{
Intent intent = new Intent(this, FindContactActivity.class);
startActivityForResult(intent, 1);
}
public void editContact(View view)
{
if (Db.contact == null)
findContact(null);
else {
// navigate to edit activity
}
}
この場合、'contact' は type のオブジェクトでcontact
、連絡先に関連する情報を独自のクラスに格納します。Db
は、データベース アクセス関数を含むクラスです。どこからでもアクセスできるようにする必要があるパブリック変数を格納するのに適しているように思えました。
上記のコードは明らかに正常に動作します。連絡先が選択されている場合は、編集画面に移動します。そうでない場合は、連絡先検索画面に移動します。しかし問題は、ユーザーが連絡先を選択した後に何が起こるかということです。編集画面に戻ることはありません。
私の理想的なフローは、疑似コードで次のようになります。
editContact()
{
if (contact is selected)
editContact();
else
{
findContact();
// once found, go to edit contact screen
editContact();
}
}
私はアンドロイド開発にまったく慣れていないことを念頭に置いて、上記のように、アプリケーションの「フロー」を作成する上で誰かが私にいくつかの指針を与えることができるかどうか疑問に思っていました.