经典的HelloWorld
创建项目
File >> New >> New Project >> Empty Activity
Name >> Package name >> Minimum API level >> Finish
点击菜单栏的File,点击New,点击NewProject,选择EmptyActivity。
输入项目名称,包名称,支持最小API版本,点击Finish。
- 项目名:字母数字下划线组合,请勿数字开头。
- 包名:公司,个人主页域名倒序。例如:project.sheyue.com >> com.shenyue.project。
- 支持最小版本API:默认API 21,Android 5.0,可选择其他版本,目前最新API 28 Android 9.0。
项目结构
项目结构的浏览可用多种组织方式,在此选择Android模式。
最外层app和Gradle Scripts
app中
- manifests > AndroidManifest.xml:项目配置文件,四大组件注册,添加权限声明。
- java > com.bl.blandroidpro:项目主目录,也是我们主要代码放置区。模块,Activity,Service,工具类等。
- java > com.bl.blandroidpro(androidTest):测试用例。
- res > drawable:项目用图片文件。
- res > layout:项目用布局文件。
- res > mipmap:项目用启动界面文件。
- res > values:colors.xml颜色管理,strings.xml文本管理,styles.xml式样管理等。
Gradle Scripts中
- Android通过Gradle进行管理。Gradle配置文件,详情后续再述。
活动Activity
四大组件之一,它包含用户界面组件,用于同用户交互。
每个Activity都会有一个对应的布局文件,采用MVC分层设计。
M(Model):模型层,业务逻辑等。
V(View):视图层,展示组件等。
C(Controller):控制层,程序流程控制等。
创建Activity
包(右键) >> New >> Activity >> Empty Activity
输入Activity名称,点击Finish,此时系统自动创建一个Activity文件和一个与之对应的layout文件。
主要文件源码分析
布局文件
activity_hello_world.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".chapter01.HelloWorldActivity">
<TextView
android:id="@+id/tv_hw"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"/>
</android.support.constraint.ConstraintLayout>
android:id:设置id,组件全局唯一id,用于确定该组件。
android:layout_width:设置宽度。
android:layout_height:设置高度。
- match_parent:与父控件同宽或高。
- wrap_content:与其内容同宽或高。
- 100dp:固定宽或高。
android:gravity:对齐方式。
-
center_horizontal:水平居中。
此值有很多,自己查手册吧。
Activity文件
HelloWorldActivity.java
public class HelloWorldActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置layout布局文件
setContentView(R.layout.activity_hello_world);
// 查找id为tv_hw的文本标签组件
TextView tv_hw = findViewById(R.id.tv_hw);
// 设置文本内容
tv_hw.setText("Hello World");
}
}
R:项目资源管理文件。项目中添加的任何资源,在R文件中都会生成一个id。
layout:布局类,R的内部静态类。
activity_hello_world:为id,与Activity对应的layout文件同名。
setContentView():调用此方法,加载布局文件。
findViewById():获取对应id的组件。
TextView:文本标签。
setText():设置文本内容。
项目配置文件
AndroidManifest.xml
每个新建的Activity都要在 AndroidManifest.xml 进行注册,否则不能使用。
由于我们是用IDE创建的,则自动注册完成。
<activity android:name=".chapter01.HelloWorldActivity"></activity>
android:name:Activity的名称,需要完成路径名。