首页
学习
活动
专区
工具
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数据库当中。 问题十四 以下哪种说法存在错误?...即使是在启动某service的activity停止运行之后、该service仍将继续处于运行状态。 除非用户利用后退按钮进行退出操作,否则activity将始终处于运行状态。...某个绑定service在任何与之相绑定的组件停止运行后、也将一同停止运行。 当某个activity的指向发生变化时、其在默认情况下将进行重新创建。

90120

【谷歌官方文档】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 添加到当前启动的任务栈中。

    37610

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

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

    89220

    【愚公系列】《AIGC辅助软件开发》012-AI辅助客户端编程:AI辅助 Android 应用开发

    例如,如果您提问“如何在 Android 应用中创建注册界面”,可能会得到关于如何开启 Android 项目和建立 XML 组件的回答,但这样的答案往往过于宽泛且模糊。...- 选择一个模板(例如 "Empty Activity")。 - 配置项目名称、包名、保存位置等。 - 点击 "Finish"。 ### 步骤 2:设计 UI 界面 1....**按钮**: - 清除按钮点击后,会将所有输入框的内容重置为空字符串。 - 提交按钮点击后,你可以在 `onClick` 回调中添加处理逻辑。 5....`replace("b>", "")`:将字符串中的 `b>` 标签替换为空字符串,从而移除它们。 2....`replace("b>", "")`:将字符串中的 `b>` 标签替换为空字符串,从而移除它们。

    12800

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

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

    3K20

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

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

    2.2K00

    Android 四大组件之Activity

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

    86700

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

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

    64510

    Android四大组件之Activity

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

    97221

    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...按钮显示为向上, 提示用户点击这个按钮可以返回应用程序的上一级。

    75611

    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个按钮除外)将会启动不同的对话框。...,但是可以设置其显示的字符和点击后的行为函数。

    33320

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

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

    56840

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

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

    803100

    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.6K50

    Android入门教程 | Fragment 基础概念

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

    3.5K40
    领券