什麼是在android中實現構造函數的正確方法?在android,application context中實現構造函數的正確方法是什麼?
看來,在活動或服務'onCreate()'是魔術發生的地方。
我問的原因是因爲我想確保我做的是正確的事情,在我的類的頂部聲明 屬性(特別是Context),然後在onCreate中設置屬性值。
// Activity launched via an Intent, with some 'extras'
public class SomeActivity extends Activity {
private Context context;
private String foo;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the object attribute for later use, good or Bad to do this?
context = getApplicationContext();
Intent fooIntent = getIntent();
foo = fooIntent.getStringExtra("foo");
}
private void someMethodThatNeedsContext() {
// For example:
Cursor c = this.context.getContentResolver().query(foo, xxx, xxx);
// Or is it better practice to:
// A) Pass the context as a local variable to this method
// B) Use getApplicationContext() locally when needed
}
}
也許這些選項中的任何一個都可以,我想過了嗎? 任何具體的閱讀和/或建議,你可能會對我很有幫助。
不要使用'getApplicationContext()',除非你知道*爲什麼*你正在使用'getApplicationContext()'。這是不常需要的。 – CommonsWare 2011-12-18 15:51:48
偉大的建議,我不能相信你們有多快速脫穎而出! – camstuart 2011-12-18 16:00:41