Here is an Android example of how to share variables through out your activities and your project. There is many ways including preferences, extending from a base activity or using a database to share variables. I like this one because it can be accessed through the whole project and it is easy to implement. The down side is that the variables are only available through a session. For example if the user restarts the application then all the variable will also be cleared. So they can be viewed as session variables.
GlobalState Class:
-Note this extends Application
import android.app.Application; public class GlobalState extends Application{ public File sd = null; boolean refresh = true; pictureData [] picturemarkers = null; public File getFilePath(){ return sd; } public void setFilePath(File sd){ this.sd = sd; } public pictureData[] getPictureData(){ return picturemarkers; } public void setPictureData(pictureData [] picData){ picturemarkers = picData; } public void setRefresh(boolean refresh){ this.refresh = refresh; } public boolean getRefresh(){ return refresh; } }
ExampleActivity Class:
public class ExampleActivity extends Activity { GlobalState gs; public void onCreate(Bundle savedInstanceState) { gs = (GlobalState) getApplication(); } public void examples(){ File temp = gs.getFilePath(); if(gs.refresh()){ gs.setRefresh(false); } } }
Manifest
-I do not fully understand why but it is needed for it to work. Set the ‘name’ of your application to the path where the file is located.
<application android:name="your.package.name.GlobalState"