android中全域性變數的表示 多個activity的資料共享
阿新 • • 發佈:2019-02-06
具體是怎麼實現的 我也不是很懂 我剛學android不到1個月 沒有java基礎 在這方面遇到了這個問題 並解決了 我希望他對初學者有幫助 大神不喜勿噴
直接建一個activity 來放你需要的全域性變數的方法和成員 如下 我這裡給了初值是因為 我工程需要 要不有錯誤
public class MyData extends Application { private static String current="0.00"; private static String power="0.00"; private static String temp接著是 我在mainactivity中的Cur的值實時變化 我想讓secondactivity中的Cur跟著變化="0.00"; private static int mode=0; public String getCur() { /////getCur()自己定義的 沒有什麼特別意思 return current; } public void setCur(String s) { this.current = s; } public String getPower() { return power; } public void setPower(String s) { this.power = s; } public String getTemp() { return temp; } public void setTemp(String s) { this.temp = s; } public int getMode() { return mode; } public void setMode(int a) { this.mode = a; } public void onCreate() { super.onCreate(); }
在mainactivity中
public class MainActivity extends Activity {MyData mydata;
String Cur=“123”;
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mydata = (MyData)getApplicationContext();mydata.setCur(Cur);
}
}
在secondactivity中 看好
public class secondActivity extends Activity {MyData mydata;
String Cur;
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); mydata = (MyData)getApplicationContext();Cur=mydata.getCur();
}
}
在許可權裡面
<applicationandroid:name=".MyData"一定要加 不知道為什麼 好像是你所設定的類(我上面的兩個類)
所屬於哪個application的
你在上面的看到雖說Cur是一個字串並沒有在變 固定“123” 我就說這個意思 你可以弄個執行緒 讓他一直變化 你在secondactivity裡 在getCur你會發現他確實會跟著
mainactivity中的值變 具體怎麼操作 看你了 我也不大明白 我就知道這樣寫確實可以 實現資料的共享 還是動態共享
好了 我會的就這些