Java 如何将数据从一次打开的活动传输到下一次打开的活动

Java 如何将数据从一次打开的活动传输到下一次打开的活动,java,android,sharedpreferences,Java,Android,Sharedpreferences,我是android新手!。 我在活动1(一次性打开活动)中制作了微调器,并希望用户将所选值从微调器传输到活动2。我已使用SharedReference进行了一次性打开活动。它仅第一次工作,但第二次无法传输数据。我被困在这里,请帮助我 SharedPreferences Preferences=getSharedPreferences("PREFERENCE",MODE_PRIVATE); String FirstTime=Preferences.getString("FirstT

我是android新手!。 我在活动1(一次性打开活动)中制作了微调器,并希望用户将所选值从微调器传输到活动2。我已使用SharedReference进行了一次性打开活动。它仅第一次工作,但第二次无法传输数据。我被困在这里,请帮助我

    SharedPreferences Preferences=getSharedPreferences("PREFERENCE",MODE_PRIVATE);
    String FirstTime=Preferences.getString("FirstTimeInstall","");


       button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String parent=sp_parent.getSelectedItem().toString();
            String child=sp_child.getSelectedItem().toString();
            String college=sp_college.getSelectedItem().toString();

            Intent intent=new Intent(getApplicationContext(),Dashboard.class);
            intent.putExtra("parent",parent);
            intent.putExtra("child",child);
            intent.putExtra("college",college);
            startActivity(intent);
            finish();


        }
    });


            if (FirstTime.equals("Yes")){
            String parent=sp_parent.getSelectedItem().toString();
            String child=sp_child.getSelectedItem().toString();
            String college=sp_college.getSelectedItem().toString();

        Intent intent=new Intent(getApplicationContext(),Dashboard.class);
            intent.putExtra("parent",parent);
            intent.putExtra("child",child);
            intent.putExtra("college",college);
        startActivity(intent);
        finish();


    }else {
        SharedPreferences.Editor editor=Preferences.edit();
        editor.putString("FirstTimeInstall","Yes");
        editor.apply();
    }

启动新活动时,您可以通过intent发送数据

Intent intent = new Intent( this, Activity2.class );
intent.putExtra( "key", "value" );
startActivity(intent)
在第二个活动中,您可以这样做:

getIntent().getStringExtra( "key" );
或者,如果您正在发送int,例如

getIntent().getIntExtra( "key", 0 );

看看这个。我知道intent方法,但在一次活动中,数据仅传输第二次活动中SharedReferences的第一次获取值,如果是defaultValue,则从第一次活动中接收的intent获取。有什么问题吗?有多种方法,您可以创建数据持有者类。并从不同的活动中引用共享数据。看看这里,共享首选项中使用的多个方法的意图不是从activity1中获取价值,而是直接跳到Activity2