Android 戦闘 (1) - プロジェクト ディレクトリ

アプリエンジニアリングはプロジェクトとモジュールの 2 つのレベルに分かれています

  •  モジュールはプロジェクトにアタッチされ、各プロジェクトには少なくとも 1 つのモジュールがあり、複数のモジュールを持つこともできます。

  • 一般的に、「APP をコンパイルして実行する」とは、特定のプロジェクトを実行するのではなく、特定のモジュールを実行することを指します。モジュールは対応する実際のAPPであるため

APPプロジェクトのディレクトリの説明

  1. アプリ
    1. mainfests (XML のみ - AndroidManifest.xml、アプリ実行構成ファイルです。システムはアプリ コードを実行し、内部のコンテンツに従ってインターフェイスを表示する必要があります。) 
    2. java (サブディレクトリに 3 つのパッケージ、1 つのソース コード、2 つのテスト コード)
    3. res (現在のモジュールのリソース ファイル)
      1. drawable (グラフィックス記述ファイルと画像ファイルを保存)
      2. レイアウト (ストアアプリページレイアウトファイル)
      3. mipmap (アプリの起動ファイルを保存)
      4. 値(記憶定数定義ファイル)
  2. Gradle スクリプト (主にプロジェクト構成ファイル) - Gradle はプロジェクト自動化作成ツール (依存関係、パッケージ化、デプロイメント、リリース、さまざまなチャネルの差別化管理)
    1. build.gradle (アプリプロジェクトのコンパイルルールを記述するために使用されます)
    2. proguard-rules.pro (Java コードを記述するための難読化ルール)
    3. gradle.properties (コンパイル ツールの構成に使用されるコマンド ライン パラメーター。通常は変更する必要はありません)
    4. settings.gradle (コンパイルが必要な構成済みモジュール)
    5. local.properties (プロジェクトのローカル構成ファイル)

build.gradle インスタンス:

plugins {
    id 'com.android.application'
}

android {
    compileSdk 32    //指定编译的sdk版本号,32-->Android 13.0

    defaultConfig {
        applicationId "com.example.myapplication"//指定该模块的应用编号,也就是app的包名,要和清单一样
        minSdk 28    //指定app是适合运行的最小sdk版本号
        targetSdk 32    //指定当前设备的sdk版本号
        versionCode 1    //app的应用版本号
        versionName "1.0"    //指定app的应用版本名称

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //测试
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
//各种依赖

    implementation 'androidx.appcompat:appcompat:1.3.0'    //兼容的适配
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

AndroidManifest.xml インスタンス:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.myapplication">    //包名

    <application
        android:allowBackup="true"     //是否允许应用备份。允许用户备份系统应用和第三方应用的apk安装包和应用数据,以便在刷机或者数据丢失后回复应用。用户可以通过adb backup和adb restore来进行对应用数据的备份和回复。true 为真
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"    //app在手机桌面的图标
        android:label="@string/app_name"       //app图标下的名称
        android:roundIcon="@mipmap/ic_launcher_round"//app的圆角图标
        android:supportsRtl="true"    //是否支持阿拉伯语、波斯语这种从左往右的顺序
        android:theme="@style/Theme.MyApplication"    //app的显示风格
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

アクティビティ (画面コンポーネント、ページ):

アクティビティは、ユーザーが操作するための画面を提供するアプリ コンポーネントです。

XML (HTML に類似) タグを使用してアプリケーション インターフェイスを記述し、Java (JS に類似) コードを使用してプログラム ロジックを記述します 

新しいアプリインターフェイスを作成します。

  1. レイアウトディレクトリにXMLファイルを作成します。
  2. XMLファイルに対応するJavaコードを作成します。
  3. AndroidManifest.xmlにページ構成を登録する

おすすめ

転載: blog.csdn.net/weixin_49489840/article/details/125574098