夏天/isummer

Sun of my life !Talk is cheap, Show me the code! 追风赶月莫停留,平芜尽处是春山~

博客园 首页 新随笔 联系 管理

生成的目录结构

 1. .gradle 和.ideal 是Android Studio自动生成的,一般不需要修改,在项目完成后打包时,这两个文件可以删除,以减少文件代码量。

2.  app 目录中:

  存放项目的代码和资源,是工作中的核心目录。所有的开发工作都在这个app目录下进行。

其中

2.1 build目录

  通过build菜单中的make project生成的各种文件,其中

  在build/app/debug/apk目录中,存放生成的apk文件,可以直接拷贝到虚拟手机或者android系统上应用。

  该build目录生成文件会很大,一般该目录也可以删除。从而将项目压缩保存和交流。

 

2.2 lib目录

  当项目中使用到第三方jar包是,把jar包放到该 目录中。

2.3 src目录

(1) android Test:存放android测试用例

(2)main目录

 

  Java:

Java代码

  • res (资源文件):

 * draw开头:是放置图片

layout:放置布局的

mipmap-xxx是放应用图标
value:放置颜色,样式,主题。

 

 androidManifefst.xml:

是项目的清单文件,四大组件都要在该清单文件中注册。没有注册就没办法使用。

如:权限,等。

引用方式:@ + string/styles/colors/mimap +图标名字。 

 

(3)test:单元测试

 

2.4 .gitignore

  和外部.gitignore一样,只不过这个是管理这个app模块的,外边的是管理整个工程的。

 

2.5 build.gradle

  管理这个app模块的构建脚本。如果用到第三方库的时候,可以在这边添加1个以来。

  

2.6 proguard-rules.pro

  指定代码的混淆规则,在这里作处理。

 

 

 

3. gradle:

  存放构建项目相关的配置,其中gradle-wrapper.properis是中会指定与当前android studio版本以及android sdk相对应的gradle的版本。AS如果发现该gradle的版本存在,则不需要再次下载,可以直接使用。如果没有,则会自动下载,可能第一次使用下载耗时较长。

 

4. .gitignore

  是git版本控制文件,用于排除上传的文件。

5. build.gradle

  是项目全局的gradle构建文件,如果需要修改也是可以修改。

6. gradle.prople

  全局的gradle的配置文件。

7. gradlew和gradlew.bat

  执行gradle命令的时候会执行上面的文件,win系统上使用gradlew.bat中使用。gradlew实在linux系统和mac系统上使用的。

8. local.properties

  是指定系统上安装android sdk的路径,在项目创建的时候,会自动设置好对应的位置。

 

9. settings.gradle

  用于指定项目中,所有引入的项目模块。

 

 

10 external

  第三方配置以来的库以及android SDK中用到的库文件。其中包含了各种依赖的各种文件。

 

 

 

android SDK开发,讲究MVC原则,视图在layout进行定义,数据处理则在相应的activity类中进行。

在layout中:<TextView>是android sdk定义的视图空间,用于现实文本内容。

文件详解

1. app中的编译配置文件:app/build.gradle

plugins {
    id 'com.android.application'
}

  以上定义一个插件,表示应用程序模块。

  

android {
    namespace 'com.nh.myproject'
    compileSdk 33

    defaultConfig {
        applicationId "com.nh.myproject" //应用程序ID
        minSdk 29  //最低兼容版本
        targetSdk 33 // 目标的SDK,该版本下进行充分测试。
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"  //但单元测试
    }

  //以下指定构建特定相关的配置 buildTypes {
    //以下是release版本安装文件 release { minifyEnabled
false // proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' //指定混淆的规则,前者是SDK }
    // debug忽略不写
  
} compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }

  以上,定义了android相关的编译闭包,如:编译SDK的版本,编译工具的版本。

  

//定义项目所有的依赖关系,一般分为三种依赖:本地依赖,库依赖,和远程依赖。
  * 本地依赖:可以对本地的jar添加依赖关系
  * 库依赖:对项目中的库模块添加依赖关系
  *远程依赖:对远程开源仓库中的库添加依赖关系
dependencies { implementation
'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' }

 

2. 在项目中的myproject/build.gradle构建文件

  是最顶层的配置构建文件,可以把相同的配置选项在此输入,从而应用于所有的app或子项目模块

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.4.1' apply false
    id 'com.android.library' version '7.4.1' apply false
}

 

posted on 2023-08-18 11:59  夏天/isummer  阅读(602)  评论(0编辑  收藏  举报