Android studio2024的第一个安卓项目

目录

一、创建项目

1、创建Empty Views Activity类型项目

2、Android项目结构解析

manifests 目录:

Gradle Scripts目录

3、创建安卓应用

二、测试

1、模拟器测试效果

2、连接真机,然后直接选择真机运行即可(点击Run或Shift + F10运行)

三、项目过程的问题解决

1、问题:启动后,显示默认界面,不是自定义布局界面


一、创建项目

1、创建Empty Views Activity类型项目

2、Android项目结构解析

manifests 目录:
  • AndroidManifest.xml 是 Android 应用的配置中心,定义了应用的结构、行为和权限,是 Android 系统理解和管理应用的基础。每个 Android 应用都必须包含此文件。

java 目录:

  • MainActivity是一个 Activity 类的子类,负责管理用户界面和用户交互。开发者可以定义应用的 UI 控件的各种响应函数,以及其他函数。(主代码

  • ExampleInstrumentedTest 是用于在真实设备或模拟器上进行的仪器测试,主要测试 UI 和应用功能。它可以模拟用户的操作,例如点击按钮、输入文本等。(测试代码
  • ExampleUnitTest 是一个单元测试类,单元测试主要用于验证代码的逻辑和算法是否正确。在本地 JVM 上运行的单元测试,主要测试应用的逻辑部分(测试代码

res 目录:

  • drawable目录用于存放图形资源,ic_launcher_background.xml 、 ic_launcher_foreground.xml两个文件通常用于定义应用的启动图标的背景和前景部分

  • layout 目录用于存放应用的布局文件,定义了 UI 组件的结构和排列方式。activity_main.xml是应用主活动的布局文件,通常包含按钮、文本框等 UI 元素的定义。

  • mipmap 目录用于存放应用的启动图标,通常包含不同分辨率的图标,以适应不同设备的屏幕密度。使用 mipmap 目录可以确保图标在不同设备上显示清晰。
  • values 目录用于存放各种资源的 XML 文件,通常包括颜色、字符串、样等。          colors.xml定义应用中使用的颜色资源,strings.xml定义应用中使用的字符串资源。
  • xml 目录用于存放其他自定义 XML 文件(如动画配置、自定义视图布局等)

Gradle Scripts目录
  • 与项目构建相关的 Gradle 脚本目录,包含构建配置文件(如 build.gradle),配置项目构建参数。

 Android项目结构解析参考:

Android Studio 项目结构分析-优快云博客https://blog.youkuaiyun.com/m0_73972962/article/details/146318933Android项目结构讲解【超详细】-优快云博客https://blog.youkuaiyun.com/qq_40926887/article/details/136168717

3、创建安卓应用

应用主要包括两个部分:

  •         UI界面设计:在res/layout/activity_main.xml中设计控件
  •         控件响应函数及其他函数:在java/com/example/myapplication22222/MainActivity.java设计响应函数

示例:

activity_main.xml

设计了一个文本控件TextView和一个Button按钮(响应函数为android:onClick="Welcome")

采用LinearLayout设计垂直布局(android:orientation="vertical")

TextView和Button的text属性通过在中进行定义

               android:text="@string/welcome_message" 

               android:text="@string/button_text"

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/welcome_message"  
    android:id="@+id/tv_android"/>  <!-- text属性在res/values/strings.xml定义 -->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_text"
        android:id="@+id/bt_android"
        android:onClick="Welcome"
        android:layout_gravity="center"/>  <!-- text属性在res/values/strings.xml定义 -->


</LinearLayout>

strings.xml定义了activity_main.xml中两个控件的text属性

<resources>
    <string name="app_name">My Application22222</string>
    <string name="welcome_message">学习安卓,你准备好了吗?</string>
    <string name="button_text">准备好了</string>
</resources>

MainActivity.java中添加了Button响应函数Welcome

package com.example.myapplication22222;

import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.util.Log;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_main);
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
    }
    public void Welcome(View view)  //添加控件函数-SHI
    {
        Toast.makeText(this, "欢迎来到安卓世界", Toast.LENGTH_SHORT).show();
    }
}

注意:手动构建项目,不然启动后可能显示默认布局,不是自定义布局activity_main.xml

其他问题:由于我安装的Java\jdk-23版本,所以我启动应用进行构建项目时存在问题,导致在模拟

                  器运行时,一直显示的默认界面,而不是我自定义的布局。具体见第三点

解决方法:在build.gradle.kts文件中修改java版本为11

    compileOptions {
//        sourceCompatibility = JavaVersion.VERSION_1_8
//        targetCompatibility = JavaVersion.VERSION_1_8
        sourceCompatibility = JavaVersion.VERSION_11 // 修改为 11 或 17
        targetCompatibility = JavaVersion.VERSION_11
    }

二、测试

1、模拟器测试效果

创建模拟器,然后运行

测试效果:

2、连接真机,然后直接选择真机运行即可(点击Run或Shift + F10运行)

三、项目过程的问题解决

1、问题:启动后,显示默认界面,不是自定义布局界面

解决方法:

首先adb devices查看连接的设备

adb shell dumpsys activity top 查看是否使用了自定义布局

adb shell pm list packages 查看安装的包

使用./gradlew assembleDebug 构建 Android 应用调试版本的命令

我是用./gradlew assembleDebug构建时发现了问题:Java compiler version 23 has deprecated support for compiling with source/target version 8.(即java版本为23,不适用于目标版本8)


Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details


> Task :app:compileDebugJavaWithJavac
Java compiler version 23 has deprecated support for compiling with source/target version 8.
Try one of the following options:
    1. [Recommended] Use Java toolchain with a lower language version
    2. Set a higher source/target version
    3. Use a lower version of the JDK running the build (if you're not using Java toolchain)
For more details on how to configure these settings, see https://developer.android.com/build/jdks.
To suppress this warning, set android.javaCompile.suppressSourceTargetDeprecationWarning=true in gradle.properties.
璀﹀憡: [options] 婧愬€?8 宸茶繃鏃讹紝灏嗗湪鏈潵鍙戣鐗堜腑鍒犻櫎
璀﹀憡: [options] 鐩爣鍊?8 宸茶繃鏃讹紝灏嗗湪鏈潵鍙戣鐗堜腑鍒犻櫎
璀﹀憡: [options] 瑕侀殣钘忔湁鍏冲凡杩囨椂閫夐」鐨勮鍛? 璇蜂娇鐢?-Xlint:-options銆?
<3 涓鍛?[0K--> 85% EXECUTING [1m 35s]
<
BUILD SUCCESSFUL in 1m 50s

解决方法:我询问了AI,让我在build.gradle.kts文件中修改java版本为11或者17.

    compileOptions {
//        sourceCompatibility = JavaVersion.VERSION_1_8
//        targetCompatibility = JavaVersion.VERSION_1_8
        sourceCompatibility = JavaVersion.VERSION_11 // 修改为 11 或 17
        targetCompatibility = JavaVersion.VERSION_11
    }

修改后,先同步构建项目,然后再用./gradlew assembleDebug重新构建成功。

最后重新创建一个新的模拟器,就运行成功啦,运行效果在"二、测试"中有展示。

### 创建和运行 Android Studio 2024 版本中的第一个项目 #### 打开 Android Studio 并创建新项目 当启动 Android Studio 后,会进入初始界面。为了开始新的应用程序开发旅程,应当点击 "New Project" 来初始化一个新的工程实例[^1]。 #### 输入项目详情 随后,在弹出的窗口中需指定项目的名称;例如可将其设为 `HelloWorld` 。接着选择保存位置,并决定编程语言——对于初学者来说通常会选择 Java 或 Kotlin ,此处以 Java 为例说明流程。 #### 等待环境准备完毕 初次构建可能会耗费较长时间来下载必要的依赖库和其他组件,请耐心等候直至进度条显示完成。期间建议保持良好的互联网连接状态以便加速这一过程。 #### 设置虚拟设备 (AVD) 一旦项目建立成功,则需要设置至少一台用于测试应用功能的模拟器。通过 AVD Manager 可挑选合适的配置选项,比如屏幕尺寸、API Level 等参数,确保其满足当前练习的需求[^2]。 #### 编写简单代码实现 Hello World 功能 编辑位于 `res/layout/activity_main.xml` 文件内的布局定义,以及对应的逻辑处理部分即 `MainActivity.java` 中的内容。下面给出了一段基础示例: ```xml <!-- res/layout/activity_main.xml --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView" android:text="Hello, world!" android:textSize="24sp" android:gravity="center_horizontal" android:layout_gravity="center_vertical|center_horizontal"/> </LinearLayout> ``` ```java // MainActivity.java package com.example.helloworld; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 加载上面定义好的XML布局文件 } } ``` #### 测试与验证 最后一步便是执行程序了。确认已选定好目标仿真器后,只需按下工具栏上的绿色播放按钮即可触发编译打包并部署至所选环境中去。稍作片刻便能在屏幕上目睹到预期的结果呈现出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值