java 工程结构_App工程结构

本文介绍了Android Studio中APP的基本工程结构,包括app目录下的AndroidManifest.xml、java源代码、资源文件,以及Gradle Scripts中的配置文件。详细解析了AndroidManifest.xml的应用配置,build.gradle的编译规则,以及如何通过代码操纵控件。通过理解这些基础,能帮助开发者更好地进行Android应用开发。
摘要由CSDN通过智能技术生成

在经过千辛万苦各种填坑终于安装好了Android Studio之后,在其自带的模拟器上成功运行了第一个APP(hello world),通过这个APP首先研究了一下APP基本的工程结构,从而使后面的开发更加得心应手。

先上HelloWorld工程的目录结构图

b118d8e927bdeebcf4048c2f0a62a16b.png

从结构图我们可以看到,该工程下面有两个目录:一个是app,另一个是Gradle Scripts。

其中,app又分下面三个子目录

(1)manifests,下面只有一个AndroidManifest.xml文件,它是APP运行的配置文件

(2)java,下面有com.example.animator.android_learning和com.example.animator.android_learning两个包,分别存放的是APP工程的java源代码以及测试用的java代码

(3)res,存放的是APP工程的资源文件。它下面又有四个子目录

·drawable 存放的是图形描述文件及用户图片

·layout 存放的是APP页面的布局文件

·mipmap 存放的是启动图标

·values 存放的是一些常量定义文件,如string型的strings.xml,像素常量dimens.xml、颜色colors.xml、样式定义styles.xml

Gradle Scripts下面主要是工程的编译配置文件,其中

(1)build.gradle 分为项目级和模块级两种,用于描述APP工程的编译规则

(2)proguard-rules.pro 用于描述java文件的代码混淆规则

(3)gradle.properties 用于配置编译工程的命令行参数,一般无需改动

(4)setting.gradles 配置哪些模块在一起编译。初始内容为include ":app",表示只编译app模块

(5)local.properties 项目的本地配置,一般无需改动。改文件是在工程编译时自动生成的,用于描述开发者本机的环境配置,比如SDK的本地路径、NDK的本地路径等

关于配置文件build.gradle

下面对原始的build.gradle文件中补充文字注释,方便理解每个参数的用途

apply plugin: 'com.android.application'android {//指定编译用的SDK版本,如21表示使用Android5.0编译

compileSdkVersion 21

//指定编译工具的版本号,这里的头两位必须与compileSdkVersion保持一致,具体的版本号可在SDK的安装目录的“sdkbuild-tools”下找到

buildToolsVersion "21.1.1"defaultConfig {//指定该模块的应用编号,即APP的包名,改参数为自动生成,无需改动

applicationId "com.example.animator.android_learning"

//指定APP适合运行的最小SDK版本号

minSdkVersion 21

//指定目标设备的SDK版本号,即该APP最希望在哪个版本的Android上运行

targetSdkVersion 21

//指定APP的应用版本号

versionCode 1

//指定APP的应用版本名称

versionName "1.0"}

buildTypes {

release {//指定是否开启代码混淆功能

minifyEnabled false

//指定代码混淆规则文件的文件名

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}

}

}//指定APP编译的依赖信息

dependencies {//指定引用jar包的路径

compile fileTree(dir: 'libs', include: ['*.jar'])//指定单元测试编译用的Junit版本号

testCompile 'junit:junit:4.12'

//指定编译Android的高版本支持库

compile 'com.android.support:appcompat-v7:21.0.2'}

关于APP运行配置AndroidManifest.xml

它用于指定APP内部的运行配置,是一个xml描述文件,根节点为manifest,根节点的package指定了APP的包名,manifest下部分子节点说明如下:

(1)uses-permission 用于声明APP运行过程中需要的权限名称,如相机权限、定位权限等

(2)application 用于指定APP自身属性,默认值说明如下:

·allowBackup 是否允许备份

·icon APP在手机屏幕上显示的图标

·label APP在手机屏幕上显示的名称

·supportsRtl 设置为true表示允许从右往左的文字排列顺序

·theme 指定APP的显示风格

在代码中操纵控件

首先可以看到helloworld工程的页面布局文件内容如下

可以看到xml布局文件和HTML做前端有一些相似,如layout_width类似于HTML中的width属性,layout_height类似于HTML中的height属性,TextView又和HTML中的textarea控件相似,由此可见APP的布局配置并不难,可以说“开发文档在手天下我有”了。

同时对应的java代码文件如下

packagecom.example.animator.android_learning;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;public class MainActivity extendsActionBarActivity {

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

}

通过查找相关资料和教程知道,onCreate方法通过引用布局文件的名字来向APP页面填充布局样式,和JavaScript配合HTML一样,java也可以通过代码获取id对应下的xml标签(前提是要给xml标签添加id  android:id="@+id/helloworld")

通过代码简单改写TextView文字如下

packagecom.example.animator.android_learning;importandroid.graphics.Color;importandroid.support.v7.app.ActionBarActivity;importandroid.os.Bundle;importandroid.widget.TextView;public class MainActivity extendsActionBarActivity {

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView textView=(TextView) findViewById(R.id.helloworld);

textView.setText("小赵的第一次操作!");

textView.setTextColor(Color.RED);

textView.setTextSize(30);

}

}

效果如下:

105eed8e9c0f26efa80c75760d09b3b9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值