创建第一个项目 HelloWorld,先来熟悉一下项目目录。
1. 整个项目目录
.gradle 和 .idea: gradle 和 idea 工具自动生成的文件,无需关心
app:项目的代码、资源几乎放在这
build: 编译时产生的文件,不需要过多关心
**gradle:**gradle wraooer 配置文件
.gitgnore:将制定的资源排除在版本控制外
.gradle.properties:全局gradle配置文件,通常不需要修改
gradlew 和 gradlew.bat:用于命令界面执行gradle命令
**HellowWorld.imi:**Android Studio 基于 IDEA 开发,该文件是 IDEA 项目用于标识的文件,不需要修改
local.proties:指定本机 SDK 位置,会自动生成。当 SDK 位置发生变化时们需要修改
setting.gradle:用于指定项目所有引入的模块
2. app 目录详解
build:包含编译时自动生成的文件,不需要过多关心
libs:放置第三方 jar 包
**androidTest:**Android Test 测试用例,对项目进行自动化测试
java:放置 Java 代码
res:项目中所有的图片、布局、字符串等资源,下面有放置相应资源的子目录
AndroidManifest.xml:整个安卓项目的配置文件,包括四大组件都需要在这里注册,添加给应用程序的权限申明。
**test:**Unit Test 测试用
.gitgnore:将制定的资源排除在版本控制外
**app.imi:**IDEA 项目自动生成,无需关心
**build.gradle:**app模块的 gradle 构建脚本,进行项目相关配置
proguard-rule.pro:指定项目混淆规则,当项目开发完成后打包成安装文件,如果不希望代码被其他人获取,可以将代码进行混淆,让其他人难以阅读
3. res 目录
drawable:用于存放图片文件
layout:用于存放布局文件
minmap:用于存放图标
valuese:用于存放字符串
4. 运行过程
这是一个显示 HelloWorld 的最简单的程序,了解一下运行过程
首先通过MainManifest.xml 注册 activity,用包裹着的就是程序注册的activity,可以看到是 MainActivity
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
所以接着来看 MainActivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Activity是安卓的四大组件之一,所有安卓应用程序中看到的东西都放在Activity中。可以看到MainActivity继承了AppCompatActivity而AppCompatActivity是Activity的子类,所有的Activity都继承自他。
MainActivity里有一个初始会的方法onCreate(),活动初始化都要调用这个方法,但是在这个方法里面没有看到我们的HelloWorld。但是其中执行了
setContentView(R.layout.activity_main);
onCreate() 方法在初始化的时候 set 了一个 view,叫activity_main。view 就是视图的意思,layout就是布局的意思,所以去看一下 layout –> activity_main .xml 文件。
activity_main .xml里面有好多内容,看不懂。但是有这样一句话
<include layout="@layout/content_main"/>
它包含了 content_main.xml,里面有
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
终于看到 HelloWorld了
android:text=”Hello World!”
总结一下运行的过程:
- MainManifest.xml 注册 Activity,其中注册了 MainActivity
- MainActivity 继承自 Activity,其中有一个onCreate() 方法用于初始化,其中调用布局文件 activity_main.xml
- activity_main.xml 中有许多和布局相关的 xml 用于应用的布局,他又引用了content_main.xml
- content_main.xml 有 android:text=”Hello World!” 设置了 test
开始学习安卓,记录一下。