首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过点击activity 'b‘中的按钮将项目添加到activity 'a’中的字符串数组中,并在退出应用程序后保存项目?

要实现将项目添加到Activity 'a'中的字符串数组中,并在退出应用程序后保存项目,可以按照以下步骤进行操作:

  1. 在Activity 'a'中创建一个字符串数组,用于存储项目。可以在Activity的类中定义一个私有的字符串数组变量,例如:private String[] projectArray;
  2. 在Activity 'a'中创建一个公共的方法,用于接收从Activity 'b'传递过来的项目。该方法应该将传递过来的项目添加到字符串数组中,并更新界面显示。例如:
代码语言:txt
复制
public void addProject(String project) {
    // 将传递过来的项目添加到字符串数组中
    String[] newArray = new String[projectArray.length + 1];
    System.arraycopy(projectArray, 0, newArray, 0, projectArray.length);
    newArray[projectArray.length] = project;
    projectArray = newArray;

    // 更新界面显示
    // ...
}
  1. 在Activity 'b'中,通过点击按钮触发添加项目的操作。在按钮的点击事件中,获取项目的内容,并通过Intent将项目传递给Activity 'a'。例如:
代码语言:txt
复制
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String project = "项目内容"; // 获取项目的内容
        Intent intent = new Intent(ActivityB.this, ActivityA.class);
        intent.putExtra("project", project);
        startActivity(intent);
    }
});
  1. 在Activity 'a'的onCreate()方法中,获取从Activity 'b'传递过来的项目,并调用添加项目的方法。例如:
代码语言:txt
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a);

    // 获取从Activity 'b'传递过来的项目
    Intent intent = getIntent();
    if (intent != null) {
        String project = intent.getStringExtra("project");
        if (project != null) {
            addProject(project); // 调用添加项目的方法
        }
    }

    // 其他初始化操作
    // ...
}
  1. 为了在退出应用程序后保存项目,可以使用SharedPreferences或将项目存储到本地文件中。这里以SharedPreferences为例进行说明。在Activity 'a'的onPause()方法中,将项目保存到SharedPreferences中。例如:
代码语言:txt
复制
@Override
protected void onPause() {
    super.onPause();

    // 将项目保存到SharedPreferences中
    SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putInt("projectCount", projectArray.length);
    for (int i = 0; i < projectArray.length; i++) {
        editor.putString("project" + i, projectArray[i]);
    }
    editor.apply();
}
  1. 在Activity 'a'的onResume()方法中,从SharedPreferences中恢复保存的项目。例如:
代码语言:txt
复制
@Override
protected void onResume() {
    super.onResume();

    // 从SharedPreferences中恢复保存的项目
    SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
    int projectCount = sharedPreferences.getInt("projectCount", 0);
    projectArray = new String[projectCount];
    for (int i = 0; i < projectCount; i++) {
        projectArray[i] = sharedPreferences.getString("project" + i, "");
    }

    // 更新界面显示
    // ...
}

通过以上步骤,就可以实现通过点击Activity 'b'中的按钮将项目添加到Activity 'a'中的字符串数组中,并在退出应用程序后保存项目。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android SDK上手指南:知识测试

res layout src values 问题二 我们不会在项目清单文件执行以下哪项内容? 在应用程序当中声明activity。 设定最低API支持级别。 定义按钮点击执行何种事件。...保存原始数据项键值对。 在表当中以行和列方式保存结构化数据。 检索互联网数据。 数据保存在用户设备上外部文件。 问题十一 应用程序在读取并写入文件时,我们需要如何处理I/O错误?...使用一个单独进程、而不要利用用户界面进程进行数据获取。 在主activity一个方法内获取数据。 检索数据保存在SQLite数据库当中。 问题十四 以下哪种说法存在错误?...即使是在启动某serviceactivity停止运行之后、该service仍将继续处于运行状态。 除非用户利用后退按钮进行退出操作,否则activity始终处于运行状态。...某个绑定service在任何与之相绑定组件停止运行、也一同停止运行。 当某个activity指向发生变化时、其在默认情况下进行重新创建。

87120

【谷歌官方文档】1.1 建立第一个APP

在本小节里,我们学习如何用 XML 创建一个带有文本输入框和按钮界面。...下一节课学会使 APP 对按钮做出响应——按钮被按下时,文本框里内容被发送到另外一个 Activity。...点击这个面板标签,可利用 WYSIWYG(所见即所得)工具在 Design 面板看到对应图形化效果。但在本节,我们学习如何直接修改 XML 文件。 删除 [] 标签。...在下一节教程学会如何定义字符串资源,到时候就不会报错了。 资源对象 资源对象是与 APP 资源(如:位图、布局文件、字符串)关联唯一整数。...在这节课,我们添加一些新代码到MyActivity,当用户点击发送(Send)按钮时启动一个新activity

2.4K20

Activity16问

2.不同场景下 Activity 生命周期变化过程 3.如何处理异常退出 您可通过使用 ViewModel 对象来减轻重新初始化 Activity 负担。...搞懂这个生命周期执行就可以回答了,首先要知道面试官意思:是要重新启动并恢复这个 Activity 还是说直接退出整个 app 如果要恢复则要在 onSaveInstanceState() 中进行保存数据并在...系统不知道你按下 HOME 要运行多少其他程序,自然也不知道 activity A 是否会被销毁 因此系统都会调用 onSaveInstanceState() ,让用户有机会保存某些非永久性数据...通过它我们可以获取应用程序资源和类, 也包括一些应用级别操作, 例如:启动一个 Activity ,发送广播,接受 Intent ,信息,等。...一个在后台任务栈 Activity A,当有其他任务进入前台,并且 taskAffinity 与 A 相同,则会自动 A 添加到当前启动任务栈

36110

《Android应用开发揭秘》连载3

这里每一个屏幕就是一个活动,很容易实现从一个屏幕到一个新屏幕,并且完成新活动。当一个新屏幕打开,前一个屏幕将会暂停,并保存在历史栈。...下面通过一个例子来学习Service使用,该例子通过Service来播放一首MP3,如图3-6所示。当用户点击“开始”按钮,音乐开始播放;点击“停止”按钮,停止音乐播放。...再点击Activity01”按钮,返回Activity01界面,最后点击“Exit”按钮退出整个应用程序。...图3-11 进入Activity02界面 图3-12 返回Activity01界面 最后,当我们点击“Exit”按钮退出应用程序时,打印出Log信息如图...图3-13 退出应用程序 通过上面的例子,我们得出Android应用程序生命周期如图3-14所示。

87020

安卓入门-第二章-探究活动

具体按钮属性既可以再XML文本文件读出,也可以通过可视化布局编辑器中选中按钮点击Attributes来进行属性查看: ? ?  ...得到按钮实例之后,我们通过调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器onClick()方法。...然后通过Uri.parse()方法,一个网址字符串解析成一个Uri 对象,再调用IntentsetData()方法这个Uri 对象传递进去。  ...接下来我们在SecondActivity按钮注册点击事件,并在点击事件添加返回数据逻辑,代码如下所示: public class SecondActivity extends AppCompatActivity...系统仍然会为这种活动保存相应状态和成员变量,但是这并不是完全可靠,当其他地方需要内存时,处于停止状态活动有可能会被系统回收。 销毁状态 当一个活动从返回栈移除就变成了销毁状态。

2.9K20

Android训练课程(Android Training) - 构建你第一个应用

更多信息请阅读 Supporting Different Platform Versions. src/   你应用程序主要源代码文件存放在这里,默认情况下,包含了一个Activity类,在通过点击图标应用启动时它将被启动...在Eclipse,点击工具栏Android Virtual Device Manager b....6.在模拟器启动,解锁模拟器屏幕。 在Eclipse启动这个应用 1.打开一个你项目文件,并且点击工具栏 Run。...说明了 在布局,ViewGroup对象形式如何分支,和包含其他视图对象。 在这节课,你创建一个XML布局,它包含了一个文本区和一个按钮。...在后面的课程,在按钮被按下你将作出反应,并发送文本区内容到其他activity

2.1K00

Android 四大组件之Activity

前言 Hi,大家好,又见面啦,上一期我们讲了如何安装AS,是不是已经有小伙伴迫不及待创建了自己项目并开始尝试了呢?那么这一期我们主要为大家介绍Activity。...Android创建与启动 以一个简单Activity创建与使用示说明: 创建 在Androd Studio 新建项目完成,会自动创建一个 Java 文件,这个文件就是 Activity,因为它继承系统...在应用程序退出时,必须把所有任务栈 Activity 清除栈时,任务栈才会被销毁。当然任务栈可以移动到后台,并且保存每个 Activity 状态。...Activity 实例对象并添加到任务栈,而且 Activity 数据和信息状态都将会被保留 。...我们可以在 MainActivity 添加一个按钮点击按钮跳转到 SecondActivity,然后在 SecondActivity 添加两个按钮点击一个按钮跳转到 MainActvity,在另一个按钮点击事件添加如下代码

80500

《Android编程权威指南》之Activity生命周期篇

(发生在点击了后腿按钮) Stopped 表示 activity 在内存具有实例,但其视图在屏幕上不可见。...(发生在启动了另外全屏 activity,或者点击了手机主页按钮) Paused 表示 activity 在前台不能与用户交互但视图可见或部分可见。...【 Bundle 是存储字符串键与限定类型值之间映射关系(键-值对)一种结构】 所以,可通过覆盖 onSaveInstanceState(Bundle) 方法,一些数据保存在 bundle ,然后在...在 Bundle 中保存定制类对象不是个好主意,因为你取回对象可能已经没用了。比较好做法是,通过其他方式保存定制类对象,而在Bundle中保存标识对象基本类型数据。...这里还介绍了使用Android手机开发者设置,启用 Don’t keep activities 单击后退键,系统总是会销毁当前activity,相当于告诉系统“用户不再需要使用当前activity

58410

Mono for Android 实现高效导航

准备 Android 4.0 ICS 项目 新建 Android ICS 项目 打开 MonoDevelop , 新建一个 Mono for Android 项目并在项目的属性页 Target Framework... ActionBar 设置为下拉列表导航时, 一般不显示 Activity 自身标题, 因此需要将 Activity Label 标记为空字符串, 并且 Activity 需要实现接口 ActionBar.IOnNavigationListener...点击图标返回应用程序上一级 Activity , 注意是上一级 Activity , 不是上一个 Activity , 关于向上与返回区别, 可以看看 Android SDK Providing...要显示向上导航按钮, 需要在 OnCreate 方法对 ActionBar 做如下设置: // 设置 ActionBar var actionBar = this.ActionBar; // Home...按钮显示为向上, 提示用户点击这个按钮可以返回应用程序上一级。

72811

Android四大组件之Activity

前言 Hi,大家好,又见面啦,上一期我们讲了如何安装AS,是不是已经有小伙伴迫不及待创建了自己项目并开始尝试了呢?那么这一期我们主要为大家介绍Activity。...启动 Activity通过Intent用来在应用程序Activity间启动、停止和传输。...在应用程序退出时,必须把所有任务栈 Activity 清除栈时,任务栈才会被销毁。当然任务栈可以移动到后台,并且保存每个 Activity 状态。...Activity 实例对象并添加到任务栈,而且 Activity 数据和信息状态都将会被保留 。...我们可以在 MainActivity 添加一个按钮点击按钮跳转到 SecondActivity,然后在 SecondActivity 添加两个按钮点击一个按钮跳转到 MainActvity,在另一个按钮点击事件添加如下代码

73620

Android基础面试题

C 当Activity启动点击"返回"按钮,这时Activity会被终止而重新回到系统桌面,它执行顺序为:onPause() -> onStop() -> onDestroy()。...D 重新启动一个应用,在它被启动,先点击"拨打电话"按钮,之后再点击"返回"按钮,这时Activity执行顺序是:onPause() -> onStop() -> onRestart() -> onResume...activity_lifecycle.png 2、以下退出Activity方法错误是( c) A、finish() B、抛异常强制退出 C、System.exit() D、onStop()...C、当Activity启动点击“返回”按钮,这时Activity会被终止而重新回到系统桌面,它执行顺序为:onPause() -> onStop() -> onDestroy()。...D、重新启动一个应用,在它被启动,先点击“拨打电话”按钮,之后再点击“返回”按钮,这时Activity执行顺序是:onPause() -> onStop() -> onRestart() -> onResume

1.3K20

【Android开发基础系列】Android开发学习专题

Activity完全退出情景:当使用回退(Back)按钮退出Activity时,onDestroy()方法将被调用,Activity关闭。...Android应用程序编译过程如图所示: Android应用程序编译过程         在运行时,APK 包首先进行“安装”,也就是将其中dex 文件进行优化,优化文件被保存到缓存区域...这样既可实现点击时候实现相应功能,在点击函数通过Text句柄对其进行控制。         在Android控件使用方面,这两个编程方面要点是:     1....: 通过点击屏幕上不同按钮(第4个按钮除外)将会启动不同对话框。...,但是可以设置其显示字符和点击行为函数。

30320

Android Service完全解析,关于服务你所需知道一切(下)

点击一下Start Service按钮或Bind Service按钮,程序就会阻塞住并无法进行任何其它操作,过一段时间就会弹出ANR提示框,如下图所示。...这是由于,使用了远程Service,MyService已经在另外一个进程当中运行了,所以只会阻塞该进程主线程,并不会影响到当前应用程序。...; String toUpperCase(String str); } 点击保存之后,gen目录下就会生成一个对应Java文件,如下图所示: ?...那么下面我们自然要学习一下,如何才能在其它应用程序调用到MyService里方法。...这样的话,ClientTest代码也就全部完成了,现在运行一下这个项目,然后点击Bind Service按钮,此时就会去和远程MyService建立关联,观察LogCat打印信息如下所示: ?

768100

Android Service完全解析,关于服务你所需知道一切(下)

点击一下Start Service按钮或Bind Service按钮,程序就会阻塞住并无法进行任何其它操作,过一段时间就会弹出ANR提示框,如下图所示。...这是由于,使用了远程Service,MyService已经在另外一个进程当中运行了,所以只会阻塞该进程主线程,并不会影响到当前应用程序。...; String toUpperCase(String str); } 点击保存之后,gen目录下就会生成一个对应Java文件,如下图所示: ?...那么下面我们自然要学习一下,如何才能在其它应用程序调用到MyService里方法。...这样的话,ClientTest代码也就全部完成了,现在运行一下这个项目,然后点击Bind Service按钮,此时就会去和远程MyService建立关联,观察LogCat打印信息如下所示: ?

54540

Android拾萃- Activity生命周期和启动模式

异常情况下生命周期 在有些情况下,您 Activity 会因正常应用行为而销毁,比如当用户按 返回按钮或您 Activity 通过调用 finish()示意自己销毁。...当用户要离开 Activity 并在 Activity 意外销毁时向其传递保存 Bundle 对象时,系统会调用此方法。...我们每次打开一个新Activity或者退出当前Activity都会在一个称为任务栈结构添加或者减少一个Activity组件,因此一个任务栈包含了一个activity集合, android系统可以通过...比如一个应用Activity A,B,C,其中A clearTaskOnLaunch设置为true,C为默认值,我们依次启动A,B,C,点击HOME,再在桌面点击图标。...singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出,在此启动,首先打开B

1.5K50

Android入门教程 | Fragment 基础概念

当执行此类片段事务时,也可将其添加到Activity 管理返回栈 — Activity 每个返回栈条目都是一条已发生片段事务记录。借助返回栈,用户可以通过按返回按钮撤消片段事务(后退)。...Java代码加载Fragment 或者,通过编程方式片段添加到某个现有 ViewGroup。 在 Activity 运行期间,您可以随时片段添加到 Activity 布局。...不过,在调用 commit() 之前,可能希望调用 addToBackStack(),以事务添加到片段事务返回栈。该返回栈由 Activity 管理,允许用户通过按返回按钮返回上一片段状态。...通过调用 addToBackStack(),可以替换事务保存到返回栈,以便用户能够通过按返回按钮撤消事务并回退到上一片段。...Fragment,然后当我们点击 back 按钮时候会自动帮我们实现退栈操作。

3.5K40
领券