1️⃣ App 名称修改
✅ 步骤
第一步:创建 strings.xml
路径:
res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">APP Name</string>
</resources>
第二步:在 AndroidManifest.xml 中引用
<application
android:label="@string/app_name"
...>
</application>
2️⃣ 确定 Android 应用主页面 Activity
在 AndroidManifest.xml 中寻找 启动 Activity 定义:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
🔹 关键标志
android:name=".MainActivity"→ 入口类名- intent-filter 中同时有
MAIN+LAUNCHER→ 应用启动入口
3️⃣ 权限声明
权限必须在 AndroidManifest.xml 中声明。
<manifest ...>
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 外部存储权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application ...>...</application>
</manifest>
⚠️ 注意拼写:uses-permission(不是 user-permission)。
4️⃣ 启动页代码与布局的关联关系
流程:
- 在
AndroidManifest.xml中找到启动页(如.MainActivity)。 - 打开该 Activity 的源码(MainActivity.java / kt)。
- 找到
onCreate()方法:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_webview); } R.layout.activity_webview指向文件:res/layout/activity_webview.xml。 这就是代码与布局的对应关系。
5️⃣ Project 与 Module 的关系
- 一个 Project 可以包含多个 Module。
- Module 分为两类:
- App 类型(可运行)
apply plugin: 'com.android.application' - Library 类型(供别的模块调用)
apply plugin: 'com.android.library'
- App 类型(可运行)
6️⃣ Project 全局配置与 Gradle 版本匹配
在 项目级 build.gradle 中:
buildscript {
repositories { ... }
dependencies {
classpath 'com.android.tools.build:gradle:7.2.0'
}
}
在 gradle.properties 指定 Gradle 版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
🔗 版本对应关系文档: 👉 developer.android.google.cn/studio/rele…
7️⃣ compileSdkVersion、minSdkVersion、targetSdkVersion、buildToolsVersion
| 名称 | 含义 | 与 SDK Manager 关系 |
|---|---|---|
| compileSdkVersion | 编译时使用的 SDK 版本(必须已下载) | ✅ 必须存在于 SDK Manager |
| minSdkVersion | 最低支持的 Android 系统版本 | 🚫 无需下载 |
| targetSdkVersion | 主要优化和测试目标版本 | 🚫 无需下载 |
| buildToolsVersion | 代码构建打包工具版本 | ✅ 必须已下载 |
🔹 版本依赖关系
minSdkVersion <= targetSdkVersion <= compileSdkVersion
🔹 support library / androidx 版本需匹配 compileSdkVersion
8️⃣ 新建布局文件(layout)
步骤:
app/src/main/res/layout→ 右键 → New → XML → Layout XML File- 文件名遵守命名规则:
- 全小写
- 不能包含大写字母
- 单词间用下划线
_连接
示例:activity_main.xml、item_face_card.xml
9️⃣ View 通用属性总结
| 属性 | 功能 |
|---|---|
android:layout_width | 控件宽度 |
android:layout_height | 控件高度 |
android:id | 控件唯一 ID |
android:gravity | 控件内容相对自身位置 |
android:layout_gravity | 控件相对父容器位置 |
android:background | 背景色或背景图 |
🔟 创建布局与 View 的两种方式
- XML 静态布局 → 推荐
- Java/Kotlin 动态创建 View → 部分场景(如自定义控件)
11️⃣ 常见布局种类与特性
💠 LinearLayout(线性布局)
- 属性:
android:orientation="vertical|horizontal" - 子 View 可用
android:layout_weight设置宽高比例 - 注意:方向设置后,另一方向的对齐属性(如 vertical 时的 top/bottom)会失效。
💠 RelativeLayout(相对布局)
通过相互位置约束:
- 相对其他控件位置:
android:layout_below="@id/title" android:layout_toRightOf="@id/avatar" - 相对父容器:
android:layout_centerInParent="true" android:layout_alignParentBottom="true"
💠 FrameLayout(帧布局)
- 子元素默认 层叠显示(后面的覆盖前面)
- 可用
android:layout_gravity控制位置。
💠 ConstraintLayout(约束布局)
✳️ 基本概念
通过添加约束线确定子 View 位置,可减少嵌套、提高绘制性能。
✳️ 优点
- 减少布局嵌套,性能更高。
- 可视化编辑强。
✳️ 缺点
- 修改复杂,代码可读性略差。
✳️ 使用条件
Gradle 依赖:
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
gradle.properties
android.useAndroidX=true
android.enableJetifier=true
✳️ 常见技巧
- 相对父约束
- 边距(margin/goneMargin)
- 居中约束
- 宽高比例
- 链(chain)
- 辅助工具:Guideline、Barrier、Group、Placeholder
12️⃣ 常用控件 (Views)
📝 TextView 属性示例
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北大康复"
android:textColor="#333333"
android:textSize="16sp"
android:textStyle="bold"
android:typeface="sans"
android:maxLines="1"
android:ellipsize="end"
/>
| 属性 | 说明 |
|---|---|
android:textColor | 文本颜色 |
android:textStyle | 样式:bold / normal / italic |
android:textSize | 字号 |
android:singleLine | 单行显示(等价 maxLines=1) |
android:ellipsize | 省略号样式 (end/start/marquee) |
android:maxLength | 限制文本长度 |
\n | 换行 |
✅ 总结一览
| 分类 | 核心知识 |
|---|---|
| App 名称更改 | strings.xml + Manifest label |
| 启动页识别 | intent-filter: MAIN + LAUNCHER |
| 权限声明 | uses-permission |
| 代码与布局绑定 | setContentView(R.layout.XXX) |
| Project/Module 关系 | application vs library |
| Gradle 配置 | classpath + distributionUrl |
| SDK 版本理解 | min / target / compile / buildTools |
| 常见布局 | Linear / Relative / Frame / Constraint |
| 常见控件 | TextView 等基础属性 |
| 原则 | minSdk ≤ targetSdk ≤ compileSdk |