記事ディレクトリ
ゼロ、学習目標
- 活動の役割がわかる
- テンプレートに基づいてアクティビティを作成します
- プロジェクトマニフェストファイルにアクティビティを登録します
- プロジェクトマニフェストファイルでアクティビティを開始するように設定されます
一つは、活動の役割
- アクティビティは、Androidの4つのコアコンポーネントの1つです。その主な機能は、インターフェースを提供し、ユーザーと対話することです。
- プログラムは一般に複数のアクティビティで構成され、各アクティビティ間の関係は非常に緩やかであり、それらの間に直接の関係はありません。メインアクティビティとして指定されたアクティビティが必要です。これは、プログラムの起動時に表示される最初のインターフェイスです。各アクティビティは他のアクティビティを自由に開始できます。アクティビティが開始されると、前のアクティビティは停止されます。プログラムで開始されたすべてのアクティビティはスタックに配置されるため、停止したアクティビティは破棄されず、スタックに格納されます。新しく開始されたアクティビティは、最初にスタックに格納され、次に入力フォーカスを取得します。現在アクティブなアクティビティの[戻る]ボタンをクリックすると、スタックから削除されて破棄され、前のアクティビティが復元されます。
- 新しいアクティビティが開始されたためにアクティビティが停止すると、状態の変更が通知されます。そのような変更が複数あり、それぞれが対応するコールバックメソッドを呼び出してアクティビティに通知します。これらのコールバックメソッドは、以下のように総称されます。 「ライフサイクルコールバックメソッド」。これらのコールバックメソッドは、アクティビティが作成、停止、再開、および破棄されるときに呼び出されます。
2、カスタムアクティビティを作成する
- Androidアプリケーションを作成する[ActivityOverview]
1.アクティビティを継承する共通のクラスに基づいて作成
- 新しいJavaクラス
- クラス名を入力してください
- クラスにドキュメントコメントを追加する
- ユーザーインターフェイスとして、LoginActivityのレイアウトファイルactivity_loginを作成します。
- レイアウトファイル名を設定します。
- コードビューに切り替え
- 線形レイアウト属性の設定、ラベルの追加、属性の設定
- LoginActivityを変更し、AppCompatActivityを継承します
- コールバックメソッドonCreate()を作成し、レイアウトリソースファイルを使用してユーザーインターフェイスを設定します。
2. Android Studioのアクティビティテンプレートに基づいて作成
- 空のアクティビティテンプレートに基づいてカスタムアクティビティを作成する
- アクティビティ情報を構成する
- ラベルコントロールをレイアウトファイルに追加する
3、カスタムアクティビティを登録する
1.プロジェクトリストファイルを表示する
- アクティビティ自体を継承して作成されたカスタムアクティビティのみをプロジェクトマニフェストファイルに登録する必要があります。今作成したLoginActivityは、自分でプロジェクトマニフェストファイルに登録する必要があり、テンプレートに基づいて作成されたRegisterActivityは、システムによって登録されています。
2. LoginActivityを登録する
- LoginActivityのプロパティを設定できます
- 文字列リソースファイルstrings.xmlでログイン変数を定義します。
- プロジェクトリストファイルをもう一度確認してください
- アプリを起動して効果を確認
- MainActivityウィンドウが表示されます。アプリケーションを起動するときにLoginActivityウィンドウを最初に表示したい場合は、プロジェクトマニフェストファイルでアクティビティ(Launcherアクティビティ)を開始するようにLoginActivityを設定する必要があります。
4番目に、アクティビティを開始するように設定
- インテントフィルターを追加してアクティビティを開始するように設定します
1. LoginActivityを設定してアクティビティを開始する
- インテントフィルターを設定する
- アプリを起動して効果を確認
2. RegisterActivityを設定してアクティビティを開始します
- インテントフィルターを設定する
- アプリを起動して効果を確認
- 質問:MainActivityが開始された場合、LoginActivityまたはRegisterActivityにジャンプするにはどうすればよいですか?