Hello all….
In a previous post I showed a method to share global variables across your android application.
Those were done using a static class.
Now today I will show you another way of sharing global variables across the application
Check these posts for sharing data across the application.
1. http://coderzheaven.com/2011/05/global-variables-in-android/
2. http://coderzheaven.com/2011/05/global-variables-in-android%e2%80%a6/
3. http://coderzheaven.com/2011/03/passing-data-between-intents-in-android/
Now in this method. first create a class named “GlobalClass” and extends the “Applictation” class.
This is how it will look like.
package com.coderzheaven.pack; import android.app.Application; class GlobalClass extends Application { public static String myVal; }
Inside which I have a variable named “myVal” which is a string. This is the global string variable that I am using to pass values across the application.
Now the main java class
Here I am using two activities just to demonstrate the sharing of global variables across the application.
Here is the first activity.
package com.coderzheaven.pack; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class GlobalVariablesDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Assigning some value to the global variable // GlobalClass.myVal = "Hello from CoderzHeaven"; Button b = (Button)findViewById(R.id.Button01); b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(GlobalVariablesDemo.this, SecondClass.class)); } }); } }
This line shows how to assign value to a global variable.
GlobalClass.myVal = “Hello from CoderzHeaven”;
Now the second activtiy.
package com.coderzheaven.pack; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class SecondClass extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); System.out.println("Accessing the global string : " + GlobalClass.myVal); TextView tv = (TextView)findViewById(R.id.tv); tv.setText("Global String : " + GlobalClass.myVal); } }
This is how you access the global variable.
GlobalClass.myVal
That’s all done.
Now go on and run the application.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Please leave your comments if you like this post.