Android-Activity的基本介绍和页面之间数据传递

Activities 是一个程序的组件之一。它的主要功能是提供界面。


1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:
再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

2.实现页面的传递数据

2.1写两个xml文件:

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.zking.administrator.g160628_android12_activity.MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名:"
        android:id="@+id/et_main_uname"
        />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="确认"
        android:onClick="writeThink"
        />
</LinearLayout>

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.zking.administrator.g160628_android12_activity.ThinkActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv_think_showName"
        />
</LinearLayout>


package com.zking.administrator.g160628_android12_activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.zking.entity.Person;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private EditText et_main_uname;
    private TextView tv_main_showThink;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_main_uname = (EditText) findViewById(R.id.et_main_uname);
        tv_main_showThink = (TextView) findViewById(R.id.tv_main_showThink);
    }

    public void writeThink(View view){
         String uname=et_main_uname.getText().toString();
         Intent intent=new Intent(this,ThinkActivity.class);
        //传递基本数据类型,把值加入到intent中
         intent.putExtra("uname",uname);
        intent.putExtra("uage",19);
         startActivity(intent);
  
    }

}
2.2在另为一个界面获取他存进去的值。
package com.zking.administrator.g160628_android12_activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.zking.entity.Person;

import java.util.List;

public class ThinkActivity extends AppCompatActivity {

    private TextView tv_think_showName;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_think);

        tv_think_showName = (TextView) findViewById(R.id.tv_think_showName);

        //获取第一个页面传递过来的数据
        String uname=getIntent().getStringExtra("uname");
        int uage=getIntent().getIntExtra("uage",0);
	//设置到TextVIew文本中
	tv_think_showName .setText("姓名:"+uname+"年龄:"+uage);
    }
}



03-11
### PyQt 教程与文档资源 对于希望深入了解PyQt的技术人员来说,有多个高质量的教程和官方文档可以作为学习资料。 #### 中文教程 一份详尽的PyQt6中文教程提供了全面的学习材料[^1]。这份教程不仅涵盖了基础概念,还深入探讨了高级主题,适合不同层次的学习者。通过实际案例分析,帮助读者快速掌握PyQt的应用技巧。 #### 新手指南 针对初学者,《PyQt5新手教程》是一本不可多得的好书,全书超过七万的内容覆盖了从入门到精通所需的知识点[^2]。书中详细介绍了如何利用Python编写图形界面程序,并且特别强调了Qt框架下的信号与槽机制的重要性及其应用方法。 #### 官方开发文档 为了更进一步提高技能水平,可以直接查阅《PyQt5中文开发文档》,该文档包含了丰富的API说明以及实例演示,能够有效指导开发者解决具体问题并优化代码性能[^3]。 #### 实际项目实践 除了理论知识外,在实践中运用所学同样重要。例如,下面这段简单的Python脚本展示了怎样加载`.ui`文件中的设计元素并将其集成至应用程序中: ```python import sys from PySide6.QtWidgets import QApplication, QMainWindow from PySide6.QtCore import QFile from ui_mainwindow import Ui_MainWindow class MainWindow(QMainWindow): def __init__(self): super().__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec()) ``` 上述例子来源于Pyside6的相关介绍,但其核心逻辑同样适用于PyQt环境[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值