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

娱乐公司网站建站背景介绍河南专业网站建设公司排名

娱乐公司网站建站背景介绍,河南专业网站建设公司排名,wordpress 栏目列表页,如何加强旅游电子商务网站的建设1,返回栈 android中使用任务task来管理activity,一个任务就是一组存放在栈里的活动的集合,这个栈被称为返回栈。栈是一种先进先出的数据结构。当我们启动一个新的活动,他会在返回栈中人栈,并处以栈顶的位置&#xff0…

1,返回栈

android中使用任务task来管理activity,一个任务就是一组存放在栈里的活动的集合,这个栈被称为返回栈。栈是一种先进先出的数据结构。当我们启动一个新的活动,他会在返回栈中人栈,并处以栈顶的位置,而当我们按下back键或者finish去销毁一个活动时,处于栈顶的活动会出栈,这是前一个入栈的活动就会重新处于栈顶的位置。
在这里插入图片描述

2,活动状态
在Android中,Activity的活动状态可以根据其生命周期中的状态进行区分。

活动状态:当Activity处于活动状态时,它位于Activity栈的顶部,是用户当前正在查看的界面,与用户可以进行交互。

暂停状态:当Activity失去焦点时,或者被一个新的非全屏的Activity,或者被一个透明的Activity放置在栈顶时,Activity就转化为暂停状态。此时,系统在杀死或者结束之前会调用onSaveInstance()方法来保存信息,同时,当Activity被移动到前台时,重新启动该Activity并调用onRestoreInstance()方法加载保留的信息,以保持原有的状态。

停止状态:当Activity被另一个Activity完全覆盖的时候,就被停止了。虽然此时它在运行,但用户却看不见。

结束状态:当Activity处于暂停或者停止状态时,系统可以结束Activity,回收资源。处于结束状态的Activity如果要使用户可见,只要重启才可以。

3,活动的生命周期

在Android中,Activity的生命周期是由一系列的方法组成的,这些方法在Activity的不同状态下被系统自动回调。这个生命周期可以被大致划分为三个阶段:活动生命周期、暂停生命周期和停止生命周期。

活动生命周期:
onCreate():当Activity正在被创建时调用。
onStart():Activity已经可见,但还没出现在前台,用户无法与其进行交互。
onResume():Activity已经可见并且出现在前台工作,用户可以与它进行交互。

暂停生命周期:
onPause():表示Activity正在暂停,但Activity依然可见,可以执行一些轻量级操作,但一般不会进行太多操作,因为这样会影响用户体验。

停止生命周期:
onStop():表示Activity即将暂停,此时Activity工作在后台,已经不可见了,可以与onPause方法一样做一些轻量级操作,但依然不能太耗时。
onDestroy():表示活动即将被销毁。

这些方法都按照一定的顺序被调用,且每个方法在其后继方法之前被调用。然而,这些方法是否被回调并不完全依赖于Activity的状态,还取决于是否需要系统资源来运行其他组件或进行其他操作。例如,如果系统内存不足,那么系统可能会销毁一些正在运行的Activity以释放资源。
在这里插入图片描述

4,activity运行的生命周期的例子
以下是一个简单的Android应用程序,演示了Activity生命周期的运行情况:

1,创建一个新的Android项目,并在布局文件activity_main中添加一个按钮。

2,在MainActivity中,覆盖以下生命周期方法:

public class MainActivity extends AppCompatActivity {  private static final String TAG = "MainActivity";  private TextView textView;  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  textView = findViewById(R.id.text_view);  Button button = findViewById(R.id.button);  button.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  startActivity(new Intent(MainActivity.this, SecondActivity.class));  }  });  }  @Override  protected void onStart() {  super.onStart();  Log.d(TAG, "onStart");  }  @Override  protected void onResume() {  super.onResume();  Log.d(TAG, "onResume");  }  @Override  protected void onPause() {  super.onPause();  Log.d(TAG, "onPause");  }  @Override  protected void onStop() {  super.onStop();  Log.d(TAG, "onStop");  }  @Override  protected void onDestroy() {  super.onDestroy();  Log.d(TAG, "onDestroy");  }  
}

3,创建一个名为SecondActivity的新Activity,并在布局文件activity_second中添加一个文本视图。
4,在SecondActivity中,覆盖以下生命周期方法:

public class SecondActivity extends AppCompatActivity {  private static final String TAG = "SecondActivity";  private TextView textView;  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_second);  textView = findViewById(R.id.text_view);  }  @Override  protected void onStart() {  super.onStart();  Log.d(TAG, "onStart");  }  @Override  protected void onResume() {  super.onResume();  Log.d(TAG, "onResume");  }

运行程序的log信息
在这里插入图片描述
点击按钮,启动SecondActivity
在这里插入图片描述
由于第二个activity已经把main activity完全挡住,因此onPause和onStop得到执行。
然后按back键返回main activity
在这里插入图片描述
之前main activity已经进入停止状态,所以onReStart,onStart,onResume依次执行,最后在main activity现在执行back键退出程序
在这里插入图片描述
依次执行onPause,onStop,onDestroy销毁程序。

5,activity中保存和恢复数据
在Android中,Activity可以使用Bundle对象保存和恢复数据。下面是一个示例,展示了如何在Activity之间保存和恢复数据:

首先,创建一个新的Activity类,例如FirstActivity:

public class FirstActivity extends AppCompatActivity {  private static final String KEY_NAME = "name";  private static final String KEY_EMAIL = "email";  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_first);  if (savedInstanceState == null) {  Intent intent = new Intent(this, SecondActivity.class);  intent.putExtra(KEY_NAME, "John Doe");  intent.putExtra(KEY_EMAIL, "johndoe@example.com");  startActivity(intent);  } else {  String name = savedInstanceState.getString(KEY_NAME);  String email = savedInstanceState.getString(KEY_EMAIL);  //恢复数据到界面上  TextView nameTextView = findViewById(R.id.name_text_view);  TextView emailTextView = findViewById(R.id.email_text_view);  nameTextView.setText(name);  emailTextView.setText(email);  }  }  
}

在这个示例中,我们使用Bundle对象保存数据,并使用putExtra()方法将数据传递给下一个Activity。在恢复数据时,我们使用getString()方法从Bundle对象中获取数据,并将其设置到界面上。

接下来,创建一个名为SecondActivity的新Activity类:

public class SecondActivity extends AppCompatActivity {  private static final String KEY_NAME = "name";  private static final String KEY_EMAIL = "email";  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_second);  if (savedInstanceState == null) {  Intent intent = getIntent();  String name = intent.getStringExtra(KEY_NAME);  String email = intent.getStringExtra(KEY_EMAIL);  //将数据保存到Bundle对象中  Bundle bundle = new Bundle();  bundle.putString(KEY_NAME, name);  bundle.putString(KEY_EMAIL, email);  setResult(RESULT_OK, new Intent().putExtras(bundle));  } else {  //从Bundle对象中获取数据并显示在界面上  String name = savedInstanceState.getString(KEY_NAME);  String email = savedInstanceState.getString(KEY_EMAIL);  TextView nameTextView = findViewById(R.id.name_text_view);  TextView emailTextView = findViewById(R.id.email_text_view);  nameTextView.setText(name);  emailTextView.setText(email);  }  }  
}

在这个示例中,我们使用getIntent()方法获取传递的数据,并将其保存到Bundle对象中。然后,我们使用setResult()方法将Bundle对象传递回上一个Activity。在恢复数据时,我们使用getStringExtra()方法从Bundle对象中获取数据,并将其设置到界面上。

http://www.yayakq.cn/news/980112/

相关文章:

  • 重庆网站建设公司是什么专门做婚庆的网站有哪些
  • 百度推广广告收费标准惠州seo外包费用
  • 3.建设营销型网站流程企业年报信息查询
  • 一条专访是哪个网站做的wordpress 新年插件
  • 东台市住房和城乡建设局网站公司黄页什么意思
  • 仿我喜欢网站源码免费如何做一个自己的网站呢
  • 企业网站和信息化建设外贸网站设计设计注意事项
  • 网站建设与管理计划书g3云推广是什么
  • 网站建设一龙条加速乐wordpress插件
  • fireworks学习网站网页结构有哪几种
  • 网站建设公司 销量河南住房与城乡建设部网站
  • 表格做网站新网站开发费用
  • 自建的电子网站如何做推广美食网站 怎么做
  • 兰州微网站怎么简单制作一个网页
  • 什么企业需要做网站手机网站头部图片怎么做
  • 深圳医疗网站建设报价做国外网站 国外人能看到吗
  • 月嫂服务公司网站建设方案如何自定义wordpress登录
  • 建设银行云南分行招聘网站做导购网站赚钱
  • 深圳市宝安区网站建设专门做影评的网站
  • 北京网站建设在哪里天珠海网站建设 amp 超凡科技
  • 网站开发 公司 深圳线上推广有哪些渠道
  • 网站建设文化价格seo网站优化方案案例
  • 云建站的正确步骤微信如何创建自己的公众号
  • wordpress类似网站模板顺德网站建设7starry
  • 做公司网站多少钱用手机制作图片的app
  • 赤坎网站开发公司广州知名网站设计
  • 俄罗斯搜索引擎yandex推广windows优化大师官方
  • 网站备案后 还是需要再备案吗广州市新闻发布会
  • 网站关键词密这么稀释学校网站方案
  • 公司网站建设济南出口退税备案在哪个网站做