-2

I want to get data from 2 activities( Activity and fragmentActivity) and I want to use this data in another class. Is there any way to share data among activities without using intent?

Noor
  • 1
  • 1

2 Answers2

1

There is multiple ways to achieve that :

Method 1:

Use static class setter and getter method:

create static class and set values from first activity and get value from second activity

Method 2:

Post your values through the intent

Method 3:

Use database to store data from one activity and get data from other activity

Method 4:

Use Shared preference

Amsheer
  • 7,046
  • 8
  • 47
  • 81
0

Use SharedPreferences like this:

//in the first activity where you want to save some values
SharedPreferences prefs = this.getSharedPreferences("com.myPackage.myApp", Context.MODE_PRIVATE);
prefs.edit().putString("name", "value").apply(); //the first parameter is the name with which you will fetch the value later, the cond one is the actual value

....
//fetch your data from another activity:
SharedPreferences prefs = this.getSharedPreferences("com.myPackage.myApp", Context.MODE_PRIVATE);
String myVariable = prefs.getString("name", ""); //second parameter is a default value; you could use all primitive variable types like getString, getBoolean, getLong etc

P.S. if you use the Sharedpreferences in a Fragment, change the this with getActivity() and everything else is the same, just because the this doesn't mean the same in a Fragment as in an Activity

Gabriella Angelova
  • 2,985
  • 1
  • 17
  • 30