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

网站上登录系统制作亚马逊雨林的危险之处

网站上登录系统制作,亚马逊雨林的危险之处,wordpress 去掉作者信息,网页设计实训目的一、什么是 Activity?Activity 可以理解为一个单一的、用户可交互的屏幕。它负责管理用户界面(UI)的显示和用户交互。一个应用通常由多个 Activity 组成(如:登录页、主页面、设置页、详情页)。Activity 通过…

一、什么是 Activity?

Activity 可以理解为一个单一的、用户可交互的屏幕。它负责管理用户界面(UI)的显示和用户交互。

  • 一个应用通常由多个 Activity 组成(如:登录页、主页面、设置页、详情页)。
  • Activity 通过 setContentView() 方法加载一个布局文件(XML),从而定义其 UI。
  • Activity 本身是一个 Java 类,继承自 AppCompatActivity(或 Activity)。

💡 类比:如果把应用比作一本书,那么每个 Activity 就是书中的一页。

二、创建第一个 Activity

1. 在 Android Studio 中创建 Activity

  1. 在 Project 面板中,右键点击你的包名(如 com.example.myapp)。
  2. 选择 【New】 -> 【Activity】 -> 【Empty Activity】
  3. 在弹出的对话框中:
    • Activity Name: 输入 SecondActivity
    • Language: 确保选择 【Java】
    • Layout Name: 通常会自动生成 activity_second.xml
    • 勾选 【Generate Layout File】
  4. 点击 【Finish】

Android Studio 会自动完成以下操作:

  • 创建 SecondActivity.java 文件。
  • 创建 activity_second.xml 布局文件。
  • 在 AndroidManifest.xml 中注册这个 Activity

2. 查看自动生成的代码(Java)

SecondActivity.java
package com.example.myapp;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;public class SecondActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second); // 绑定布局文件}
}
AndroidManifest.xml(新增条目)
<activityandroid:name=".SecondActivity"android:exported="false"><!-- 如果你想让 SecondActivity 作为启动页,可以添加 intent-filter --><!-- 否则,只保留 name 和 exported 属性 -->
</activity>

注意exported="false" 表示该 Activity 只能被本应用内部启动,提高安全性。

三、Activity 生命周期

Activity 在其存在期间会经历一系列状态变化,系统会调用相应的生命周期回调方法。理解这些方法是开发健壮应用的关键。

1. 生命周期图谱(同 Kotlin 版)

         +-----------------+|   onCreate()    |  ← 首次创建+--------+--------+|v+--------+--------+|   onStart()     |  ← 可见+--------+--------+|v+--------+--------+|   onResume()    |  ← 运行中,可交互+--------+--------+|| (跳转/Home)v+--------+--------+|   onPause()     |  ← 失去焦点+--------+--------+|v+--------+--------+|   onStop()      |  ← 不可见+--------+--------+|| (销毁)v+--------+--------+|   onDestroy()   |  ← 销毁+-----------------+| (重新启动)v+--------+--------+|   onRestart()   |  ← 重启+-----------------+

2. 在 Java 中重写生命周期方法

public class SecondActivity extends AppCompatActivity {private static final String TAG = "SecondActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Log.d(TAG, "onCreate: Activity 创建");// 初始化操作:绑定视图、恢复数据等}@Overrideprotected void onStart() {super.onStart();Log.d(TAG, "onStart: Activity 变为可见");}@Overrideprotected void onResume() {super.onResume();Log.d(TAG, "onResume: Activity 开始运行,可交互");// 启动动画、传感器等}@Overrideprotected void onPause() {super.onPause();Log.d(TAG, "onPause: Activity 失去焦点");// 保存数据、停止动画(必须快速完成)}@Overrideprotected void onStop() {super.onStop();Log.d(TAG, "onStop: Activity 不可见");// 释放资源}@Overrideprotected void onDestroy() {super.onDestroy();Log.d(TAG, "onDestroy: Activity 被销毁");// 清理工作}@Overrideprotected void onRestart() {super.onRestart();Log.d(TAG, "onRestart: Activity 重新启动");}
}

💡 黄金法则:在 onPause() 中保存关键数据!

四、页面跳转与数据传递

1. 使用 Intent 跳转

Intent 是启动 Activity 和传递数据的核心。

从 MainActivity 跳转到 SecondActivity
// 在 MainActivity.java 中
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);

2. 传递数据

发送数据
// 在 MainActivity.java 中
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("user_name", "李四");       // 传递字符串
intent.putExtra("user_age", 30);           // 传递整数
intent.putExtra("is_active", true);        // 传递布尔值
startActivity(intent);
接收数据
// 在 SecondActivity.java 的 onCreate() 中
String userName = getIntent().getStringExtra("user_name");
int userAge = getIntent().getIntExtra("user_age", 0); // 0 是默认值
boolean isActive = getIntent().getBooleanExtra("is_active", false);// 使用数据
Log.d(TAG, "用户:" + userName + ", 年龄:" + userAge + ", 活跃:" + isActive);

3. 返回数据

启动并期待返回
// 在 MainActivity.java 中
static final int REQUEST_CODE = 1001; // 请求码// 某个按钮点击事件
public void openSecondActivity(View view) {Intent intent = new Intent(this, SecondActivity.class);startActivityForResult(intent, REQUEST_CODE);
}
在 SecondActivity 中返回数据
// 在 SecondActivity.java 中,例如点击“完成”按钮
public void onDoneClick(View view) {Intent resultIntent = new Intent();resultIntent.putExtra("result_message", "操作已完成");setResult(RESULT_OK, resultIntent);finish(); // 关闭当前 Activity
}
在 MainActivity 中接收返回
// 在 MainActivity.java 中重写 onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == REQUEST_CODE) {if (resultCode == RESULT_OK) {String result = data.getStringExtra("result_message");Toast.makeText(this, result, Toast.LENGTH_SHORT).show();} else if (resultCode == RESULT_CANCELED) {Toast.makeText(this, "操作已取消", Toast.LENGTH_SHORT).show();}}
}

⚠️ 注意:虽然 startActivityForResult 在 Java 项目中仍广泛使用,但 Google 推荐使用更现代的 Activity Result API(基于 ActivityResultLauncher),它在 Java 中也可用,能提供更好的类型安全和生命周期感知。

五、总结

核心概念Java 实现要点
类定义public class MyActivity extends AppCompatActivity
生命周期使用 @Override 注解重写方法
Intentnew Intent(Context, Class)
传值intent.putExtra(key, value) / getIntent().get...Extra(key)
回传startActivityForResult(intent, code) / setResult(code, data) / onActivityResult()

六、结语

感谢您的阅读!如果你有任何疑问或想要分享的经验,请在评论区留言交流!

http://www.dtcms.com/a/591710.html

相关文章:

  • 网站路径301重定向怎么做做精美ppt网站
  • 网站数据库建设计划书通过骗子网站能找到其服务器吗
  • 网站开发违法有手机版本wordpress
  • 上海网站推广提供商十堰今天刚刚发生新闻
  • 网站建设推广运营自媒体平台注册流程
  • 北仑静态网站建设微信公众号文章怎么转wordpress
  • 商水县建设局网站网站建设技术网站
  • 服务推广网站重庆建设施工安全管理网站
  • 企业网站建设网站专业服务网站制作案例 立邦
  • 青羊区城乡建设网站广西建设教育协会网站
  • 滁州市城市建设投资有限公司网站厦门网站建设2
  • 上海好的高端网站建设旺店通erp企业版下载app
  • 做网站的不足 心得东莞建站
  • 实测openGauss 6.0 LTS向量版:国产数据库的 RAG 实践之路
  • 青岛建手机网站公司wordpress直接读取数据库
  • 深圳网站建设哪个公司好河南省建设厅网站查询
  • 做网站如何被收录wordpress安装云
  • 高端工作网站什么网站是用html做的
  • 郑州网站建设技术精粹东莞网站建设营销网站
  • 免费做网站哪里有企业网页制作哪个公司好
  • 网站建设及维护干什么的网站代码素材建设
  • 绵阳市 网站建设05网伴你学
  • 个人淘客网站备案抖音信息流广告代理商
  • 深圳建设信息网站做360网站快速排名软件
  • 珠海响应式网站建设推广公司我做网站
  • 深圳市宝安区西乡街道邮政编码正规seo一般多少钱
  • 汕尾网站网站建设wordpress主题开发
  • 网站编辑器是怎么做的百度小说风云榜排名完结
  • 开发建设信息的网站ajax+jsp网站开发从入门到精通
  • 宝安网站建设网站做301根目录在哪里