Android Studio 项目模板完全指南

本文将详细介绍 Android Studio 中创建项目时的各种模板选项,帮助你快速选择最适合的项目起点。一个小白的自学成长之路

一、设备类型分类

首先,左侧列表显示了不同的设备平台:

  • Phone and Tablet:手机和平板应用(最常用)

  • Wear OS:智能手表应用

  • Android TV:电视应用

  • Automotive:车载应用

二、Phone and Tablet 模板详解

1. No Activity

  • 含义:创建一个没有任何活动(Activity)的空项目

  • 特点:只包含基本的项目结构和配置文件,无任何 UI 组件

  • 适用场景

  • 需要完全自定义项目结构

  • 仅开发库模块

  • 构建纯后端服务

  • 技术点
  • 最小化项目结构

  • 无默认 UI 组件

  • 仅包含基本的 Gradle 配置

  • 目录结构

```

project/

├── app/

│ ├── src/main/

│ │ ├── java/

│ │ └── res/

│ └── build.gradle

└── settings.gradle

```

2. Basic Activity

  • 含义:基础活动模板

  • 特点:包含一个带工具栏(Toolbar)和浮动操作按钮(FAB)的简单界面

  • 适用场景

  • 快速开始一个新应用

  • 需要基本导航结构

  • 学习 Android 基础开发

  • 技术点
  • 使用传统 View 系统

  • 包含基本的布局文件

  • 集成 AppBarLayout 和 FloatingActionButton

  • 主要文件
  • MainActivity.java / MainActivity.kt

  • activity_main.xml

  • content_main.xml

3. Basic Activity (Material3)

  • 含义:基于 Material Design 3 的基础活动模板

  • 特点:使用最新的 Material 3 设计规范,界面更现代

  • 适用场景

  • 需要符合现代 Android 设计风格的应用

  • 追求最新视觉体验

  • 技术点
  • 集成 Material 3 组件库

  • 支持动态颜色

  • 使用 Material 3 主题

  • 依赖项

```gradle

implementation 'com.google.android.material:material:1.9.0'

```

  • 含义:底部导航栏活动模板

  • 特点:包含底部导航栏,可切换多个页面

  • 适用场景

  • 需要多个主要功能模块的应用

  • 社交媒体、新闻、工具类应用

  • 技术点
  • 集成 BottomNavigationView

  • 支持 fragment 切换

  • 实现底部导航逻辑

  • 主要组件
  • BottomNavigationView

  • 多个 Fragment

  • NavController

5. Empty Compose Activity

  • 含义:空的 Jetpack Compose 活动模板

  • 特点:使用现代的 Compose 声明式 UI 框架

  • 适用场景

  • 使用 Compose 开发现代 Android 应用

  • 追求简洁、响应式的 UI 开发

  • 技术点
  • 基于 Kotlin 和 Compose

  • 无传统 XML 布局

  • 使用 @Composable 函数构建 UI

  • 依赖项

```gradle

implementation "androidx.compose.ui:ui"

implementation "androidx.compose.material:material"

implementation "androidx.compose.ui:ui-tooling-preview"

```

6. Empty Compose Activity (Material3)

  • 含义:基于 Material 3 的空 Compose 活动模板

  • 特点:结合 Compose 和 Material 3 设计规范

  • 适用场景

  • 需要现代 UI 设计且使用 Compose 开发的应用

  • 追求最新设计语言

  • 技术点
  • 集成 Compose Material 3 组件

  • 使用 Material 3 主题和颜色系统

  • 支持动态颜色

  • 依赖项

```gradle

implementation "androidx.compose.material3:material3"

```

7. Empty Activity

  • 含义:空活动模板

  • 特点:只包含一个基本的活动,无额外 UI 组件

  • 适用场景

  • 需要从头构建界面的简单应用

  • 学习 Activity 生命周期

  • 技术点
  • 最小化的活动结构

  • 仅包含基本生命周期方法

  • 简单的布局文件

  • 主要文件
  • MainActivity.java / MainActivity.kt

  • activity_main.xml

8. Fullscreen Activity

  • 含义:全屏活动模板

  • 特点:隐藏状态栏和导航栏,实现全屏显示

  • 适用场景

  • 游戏、媒体播放器

  • 阅读应用

  • 需要沉浸式体验的场景

  • 技术点
  • 设置全屏标志

  • 处理系统 UI 可见性

  • 实现沉浸式模式

  • 核心代码

```kotlin

private fun hideSystemUI() {

window.decorView.systemUiVisibility = (

View.SYSTEM_UI_FLAG_IMMERSIVE

or View.SYSTEM_UI_FLAG_LAYOUT_STABLE

or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

or View.SYSTEM_UI_FLAG_FULLSCREEN

)

}

```

9. Google AdMob Ads Activity

  • 含义:集成 Google AdMob 广告的活动模板

  • 特点:包含横幅广告和插页式广告的示例代码

  • 适用场景

  • 需要 monetization(变现)的应用

  • 免费应用增加收入

  • 技术点
  • 集成 AdMob SDK

  • 实现广告展示逻辑

  • 处理广告加载和展示事件

  • 依赖项

```gradle

implementation 'com.google.android.gms:play-services-ads:21.0.0'

```

10. Google Maps Activity

  • 含义:集成 Google Maps 的活动模板

  • 特点:显示地图界面,包含基本的地图交互功能

  • 适用场景

  • 需要地图功能的应用

  • 导航、位置服务

  • 基于位置的应用

  • 技术点
  • 集成 Google Maps SDK

  • 处理地图初始化和权限

  • 实现地图标记和交互

  • 依赖项

```gradle

implementation 'com.google.android.gms:play-services-maps:18.0.2'

```

11. Google Pay Activity

  • 含义:集成 Google Pay 支付功能的活动模板

  • 特点:包含支付流程的示例代码

  • 适用场景

  • 需要实现移动支付的应用

  • 电子商务、订阅服务

  • 技术点
  • 集成 Google Pay API

  • 处理支付请求和响应

  • 实现支付流程

  • 依赖项

```gradle

implementation 'com.google.android.gms:play-services-wallet:19.1.0'

```

12. Login Activity

  • 含义:登录界面活动模板

  • 特点:包含用户名/密码输入框、登录按钮和忘记密码链接

  • 适用场景

  • 需要用户认证的应用

  • 会员系统、个人中心

  • 技术点
  • 基本的表单验证

  • 登录逻辑示例

  • 处理用户输入

  • 主要组件
  • EditText(用户名、密码)

  • Button(登录)

  • TextView(忘记密码)

13. Primary/Detail Flow

  • 含义:主详情流活动模板

  • 特点:在平板上显示主列表和详情,在手机上分开显示

  • 适用场景

  • 需要展示列表和详情的应用

  • 邮件、新闻、产品目录

  • 技术点
  • 响应式布局

  • 根据屏幕尺寸调整 UI

  • 实现主-详情模式

  • 布局文件
  • activity_item_detail.xml

  • item_list.xml

  • item_detail.xml

  • 含义:侧边导航抽屉活动模板

  • 特点:包含左侧滑动抽屉,用于应用导航

  • 适用场景

  • 功能模块较多的应用

  • 需要统一导航入口

  • 技术点
  • 集成 DrawerLayout

  • 支持抽屉展开/收起

  • 实现导航菜单

  • 主要组件
  • DrawerLayout

  • NavigationView

  • Menu 资源

15. Responsive Activity

  • 含义:响应式活动模板

  • 特点:根据屏幕尺寸自动调整布局

  • 适用场景

  • 需要在不同设备上自适应显示的应用

  • 跨设备兼容的应用

  • 技术点
  • 使用 ConstraintLayout

  • 响应式布局设计

  • 适配不同屏幕尺寸

  • 布局技术
  • ConstraintLayout 约束布局

  • 百分比布局

  • 自适应控件大小

16. Settings Activity

  • 含义:设置界面活动模板

  • 特点:包含设置项列表,支持偏好设置存储

  • 适用场景

  • 需要用户配置选项的应用

  • 应用偏好设置

  • 技术点
  • 集成 PreferenceFragment

  • 处理设置项存储

  • 实现设置项交互

  • 主要文件
  • SettingsActivity.java / SettingsActivity.kt

  • preferences.xml

17. Scrolling Activity

  • 含义:滚动活动模板

  • 特点:包含可滚动的内容区域,支持协调布局

  • 适用场景

  • 内容较长的页面

  • 文章、产品详情

  • 个人资料页面

  • 技术点
  • 使用 CoordinatorLayout

  • 支持滚动行为

  • 实现折叠工具栏

  • 主要组件
  • CoordinatorLayout

  • AppBarLayout

  • NestedScrollView

18. Tabbed Activity

  • 含义:标签页活动模板

  • 特点:包含顶部或底部标签栏,可切换不同内容

  • 适用场景

  • 需要分类展示内容的应用

  • 社交媒体、工具应用

  • 技术点
  • 集成 TabLayout 和 ViewPager

  • 支持标签切换

  • 实现页面滑动

  • 主要组件
  • TabLayout

  • ViewPager2

  • FragmentStateAdapter

19. Fragment + ViewModel

  • 含义:基于 Fragment 和 ViewModel 的活动模板

  • 特点:实现了 MVVM 架构,包含 Fragment 和 ViewModel

  • 适用场景

  • 需要模块化开发和数据持久化的应用

  • 复杂业务逻辑的应用

  • 技术点
  • 使用 ViewModel 存储 UI 相关数据

  • Fragment 处理 UI 显示

  • 实现 MVVM 架构

  • 主要文件
  • MainActivity.java / MainActivity.kt

  • PlaceholderFragment.java / PlaceholderFragment.kt

  • PageViewModel.java / PageViewModel.kt

20. Game Activity (C++)

  • 含义:C++ 游戏活动模板

  • 特点:使用 C++ 开发游戏,集成 NativeActivity

  • 适用场景

  • 高性能游戏开发

  • 需要直接访问硬件的应用

  • 技术点
  • 使用 NDK

  • C++ 代码实现游戏逻辑

  • 集成 NativeActivity

  • 主要文件
  • main.cpp

  • Android.mk / CMakeLists.txt

20. Native C++

  • 含义:原生 C++ 项目模板

  • 特点:使用 C++ 语言开发 Android 应用,直接编译为原生代码

  • 适用场景

    • 需要高性能的应用(如图形处理、游戏、计算密集型任务)
    • 已有 C++ 代码库需要移植到 Android
    • 需要直接访问硬件或系统底层功能
    • 对应用性能有严格要求的场景
  • 技术点

    • 集成 Android NDK(Native Development Kit)
    • 使用 C++ 编写核心逻辑
    • 通过 JNI(Java Native Interface)实现 Java 与 C++ 交互
    • 支持 CMake 或 ndk-build 构建系统
  • 主要文件

    • cpp/native-lib.cpp:C++ 核心代码文件
    • CMakeLists.txtAndroid.mk:原生代码构建配置
    • MainActivity.java / MainActivity.kt:Java/Kotlin 入口
  • 依赖项

    gradle 复制代码
    externalNativeBuild {
        cmake {
            path "src/main/cpp/CMakeLists.txt"
        }
    }
  • 核心代码示例

    cpp 复制代码
    #include <jni.h>
    #include <string>
    
    extern "C" JNIEXPORT jstring JNICALL
    Java_com_example_nativecpp_MainActivity_stringFromJNI(
            JNIEnv* env,
            jobject /* this */) {
        std::string hello = "Hello from C++";
        return env->NewStringUTF(hello.c_str());
    }

与 Game Activity (C++) 的区别

  • Native C++:通用原生 C++ 模板,适用于各种需要 C++ 性能的应用
  • Game Activity (C++):专门针对游戏开发优化的模板,集成了游戏循环、输入处理等游戏特定功能

使用建议

  • 性能敏感场景:优先选择 Native C++ 模板
  • 游戏开发:选择 Game Activity (C++) 模板
  • 混合开发:可以在 Java/Kotlin 中调用 C++ 代码,实现性能与开发效率的平衡
  • 跨平台代码:利用 C++ 的跨平台特性,共享代码到其他平台

Native C++ 模板为开发者提供了直接使用 C++ 开发 Android 应用的能力,特别适合对性能有高要求的场景,是连接原生代码与 Android 平台的重要桥梁。

三、如何选择模板

初学者选择指南

  • 入门学习 :推荐使用 Basic ActivityEmpty Compose Activity

  • 快速原型 :选择 Bottom Navigation ActivityTabbed Activity

  • 特定功能:直接选择对应的功能模板(如 Google Maps、Login Activity)

按技术栈选择

  • 现代 UI :优先选择带有 ** (Material3) ** 或 Compose 的模板

  • 传统开发:选择基于 View 系统的模板

  • 性能要求 :游戏或图形应用选择 **Game Activity (C++) **

  • 自定义需求 :选择 No ActivityEmpty Activity

按应用类型选择

  • 社交媒体Bottom Navigation ActivityTabbed Activity

  • 内容阅读Scrolling ActivityFullscreen Activity

  • 工具应用Basic ActivityEmpty Activity

  • 游戏应用 :**Game Activity (C++) **

四、模板使用技巧

1. 模板自定义

  • 创建项目后,可以根据需要修改模板代码

  • 保留有用的结构,删除不需要的部分

  • 调整布局和样式以符合应用需求

2. 多模块项目

  • 对于大型应用,考虑使用多模块结构

  • 主应用模块使用合适的模板

  • 功能模块可以使用 No Activity 模板

3. 版本控制

  • 创建项目后立即初始化 Git 仓库

  • 添加 .gitignore 文件

  • 定期提交代码,保持版本历史

4. 依赖管理

  • 检查模板生成的依赖项

  • 根据需要添加或移除依赖

  • 保持依赖版本更新

五、总结

Android Studio 提供的模板旨在帮助开发者快速启动项目,减少重复代码工作。选择合适的模板可以大大提高开发效率,特别是对于常见的应用场景。

根据你的具体需求、技术栈和应用类型,选择最适合的模板作为起点,然后根据实际需要进行定制和扩展。无论选择哪种模板,都可以通过 Android Studio 强大的工具和功能,快速构建出高质量的 Android 应用。

希望本文对你理解 Android Studio 项目模板有所帮助!

相关推荐
summerkissyou19872 小时前
Android-SurfaceView-投屏-常见问题
android·surfaceview
明天就是Friday2 小时前
Android实战项目④ OkHttp WebSocket开发即时通讯App 完整源码详解
android·websocket·okhttp
吉哥机顶盒刷机3 小时前
好物分享:DNA-Android-4.0.5安卓固件解包、打包工具
android·好物分享
三棱球3 小时前
App逆向学习笔记(三)——Android开发入门课
android·笔记
安卓机器4 小时前
rom定制系列------魅族16x 解锁bl root与Flyme9安卓10线刷固件 传感器修复
android·魅族16x玩机
wellc6 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
CYY956 小时前
Android 打印 SO 库的异常日志
android
找藉口是失败者的习惯8 小时前
深入理解 Android 无障碍服务
android