当前位置: 首页 > news >正文

AndroidStudio实验报告——实验一、二

目录

实验一:    AS安装与安卓环境搭建     

一、实验目标

二、实验内容

(一)Android Studio安装

(二)JDK安装与配置

(三)Android SDK安装与配置

三、实验结果:(实验小结与结果截图) 

实验小结:

结果截图:

实验二:    Activity     

实验目标和实验内容:

实验结果:(实验小结与结果截图) 

实验方案:

核心代码

跳转核心代码:

跳转时生命周期方法核心代码:

结果截图

实验小结


实验    AS安装与安卓环境搭建     

实验目标和实验内容:

一、实验目标

掌握Android Studio的安装过程

搭建安卓开发环境

安装和配置Java Development Kit (JDK),理解JDK版本与Android Studio的兼容性。

安装Android SDK(Software Development Kit)。

配置环境变量,使得系统能够正确识别Android Studio、JDK和Android SDK的路径。

二、实验内容

(一)Android Studio安装

下载Android Studio

访问Android官方开发者网站(https://developer.android.com/studio)。

安装过程

双击下载的.exe安装文件,启动安装向导。

(二)JDK安装与配置

下载JDK

访问Oracle官方网站(https://www.oracle.com/java/technologies/javase - downloads.html)或者OpenJDK官方网站(https://openjdk.java.net/),根据操作系统选择合适的JDK版本进行下载。

安装JDK

配置环境变量

(三)Android SDK安装与配置

安装Android SDK

三、实验结果:(实验小结与结果截图) 

实验小结:

通过本次实验,我成功完成了以下任务:

顺利安装了Android Studio,并确保其能够正常启动。

配置了Android开发环境,安装了必要的SDK组件。

创建并运行了一个基本的应用程序。

验证了应用程序能够在模拟器上正常运行,表明环境搭建成功。

结果截图:

实验    Activity     

实验目标和实验内容:

  1. Activity是安卓系统中负责用户可视化界面交互的关键组件,需要掌握其原理;
  2. 掌握Activity的注册;
  3. 掌握Activity的生命周期;
  4. 掌握Intent,实现Activity之间的跳转;
  5. 请设计实验验证Activity的生命周期;
  6. 请设计实验验证跳转时Activity生命周期的状态变化。

实验结果:(实验小结与结果截图) 

  1. 实验方案设计说明

实验方案:

1.创建一个新的Android项目

在Android Studio中,选择“File”->“New”->“New Project”,按照向导创建一个基本的Android应用项目。

2.创建第二个Activity

在上述项目中,再创建一个新的Activity,例如MainActivity2.java,同样重写其生命周期方法(类似MainActivity中的重写方式)。

3.在MainActivity中添加跳转逻辑.

4.在Activity中重写生命周期方法

打开项目中的主Activity,重写生命周期方法。

5.运行应用并观察日志

在Android设备或模拟器上运行应用。

  1. 核心代码

跳转核心代码:
import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;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;});// 在这个位置创建显式Intent,以跳转到另一个ActivityButton jumpButton = findViewById(R.id.jumpButton);jumpButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, MainActivity2.class);startActivity(intent);}});
}}

跳转时生命周期方法核心代码:
import android.os.Bundle;import android.util.Log;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Log.d(TAG, "onCreate: Activity is created");}@Overrideprotected void onStart() {super.onStart();Log.d(TAG, "onStart: Activity is starting");}@Overrideprotected void onResume() {super.onResume();Log.d(TAG, "onResume: Activity is resuming");}@Overrideprotected void onPause() {super.onPause();Log.d(TAG, "onPause: Activity is pausing");}@Overrideprotected void onStop() {super.onStop();Log.d(TAG, "onStop: Activity is stopping");}@Overrideprotected void onDestroy() {super.onDestroy();Log.d(TAG, "onDestroy: Activity is being destroyed");}@Overrideprotected void onRestart() {super.onRestart();Log.d(TAG, "onRestart: Activity is restarting");}}

  1. 结果截图

  1. 实验小结

通过本次实验,我验证了Activity的生命周期以及跳转时Activity生命周期的状态变化。在实验中,我创建了两个Activity:MainActivity和MainActivity2,并在这两个Activity中分别重写了onCreate、onStart、onResume、onPause、onStop、onDestroy方法,以打印相应的日志信息。

通过点击按钮实现跳转,我观察到以下日志输出情况:

当MainActivity启动时,依次调用了onCreate、onStart、onResume方法。

当我点击按钮跳转到MainActivity2时,MainActivity的onPause、onStop方法被调用,然后MainActivity2的onCreate、onStart、onResume方法被调用。

当我返回MainActivity时,MainActivity2的onPause、onStop、onDestroy方法被调用,然后MainActivity的onRestart、onStart、onResume方法被调用。

这些观察结果验证了Activity的生命周期以及跳转时Activity生命周期的状态变化。


http://www.mrgr.cn/news/54453.html

相关文章:

  • 聚铭网络入选工信部《工业互联网与电力行业融合应用参考指南》推荐企业
  • 【Flutter】状态管理:高级状态管理 (Riverpod, BLoC)
  • 【Linux】【命令】查找(grep/find)与统计(wc)
  • 查找与排序-选择排序
  • 学习eNSP对提升就业竞争力有多大帮助?
  • 数据结构与集合源码
  • 【Java】泛型
  • Linux 累加计算递归算法汇编实现
  • 【Linux】Linux进程地址空间
  • java集合进阶篇-《泛型》
  • Spring aop讲解+动态代理思想+事务注解原理
  • Unity3D VisionPro 环境扫描 空间理解 网格扫描 AR Mesh
  • YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
  • VASCO:增减材混合制造的体积和表面共分解
  • String类的基本用法
  • Vue学习
  • MongoDB安装配置及配置和启动服务
  • <Project-11 Calculator> 计算器 0.2 工时计算器 WorkHours Calculator HTTP + JS
  • aws(学习笔记第七课) 私有子网使用NAT服务器
  • C++数据结构-红黑树全面解读(进阶篇)
  • 【洛谷】P6319
  • 【华为HCIP实战课程十五】OSPF的环路避免及虚链路,网络工程师
  • 图像捕捉---Base On NCC
  • neo4j 中日期时间 时间戳处理
  • 正确使用内部类
  • 是什么决定了我们毕业后的能力增长?