編輯:Android開發教程
使用Intent 啟動一個Activity,Service等時,可以通過putExtra 傳送數據 ,被觸發的Activity,Service可以使用getIntent()的getExtras 取的Extra的 Bundle ,然後再根據Extra的鍵值(Key)取的對應的參數值。
RoboGuice提 供了一個簡潔的方法來取得 這些Extra 值,通過@InjectExtra 標記。
本 例使用兩個Activity,InjectExtraDemo 用來觸發InjectExtraReceiver,在 InjectExtraDemo中創建Intent時,通過putExtra 放置兩個參數 Extra1,Extra2.
public class InjectExtraDemo extends RoboActivity { @InjectView (R.id.button) Button button; @Inject Context context; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.injectextra); button.setOnClickListener(mGoListener); } private OnClickListener mGoListener = new OnClickListener() { public void onClick(View v) { Intent di = new Intent(); di.setClass(context, InjectExtraReceiver.class) ; di.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); di.putExtra("Extra1","Message1"); di.putExtra("Extra2","Message2"); context.startActivity(di); } }; }
在InjectExtraReceiver 通過@InjectExtra 標記 ,Roboguice自動為 這些變量注入由Intent傳入的值,Optional=true表示該Extra為可選,如果傳入 的Intent不含這個Extra時,值為null.
public class InjectExtraReceiver extends RoboActivity{ @InjectView (R.id.textview) TextView textView; @InjectExtra ("Extra1" ) String extra1; @InjectExtra ("Extra2" ) String extra2; @InjectExtra (value="Extra3" , optional=true) String extra3; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.injectextrareceiver); textView.setText("Extra1:"+extra1 +"\r\nExtra2:"+extra2 +"\r\nExtra3:"+extra3); } }
本例下載: http://www.imobilebbs.com/download/android/roboguice/InjectExtraDemo.zi p
查看全套文章:http://www.bianceng.cn/OS/extra/201301/34950.htm
有的時候當我們調試android程序時,往往因為installfailedinsufficientstorage這個問題而不能將工程文件讀入調試機,看似是由於內存空間不足
需要的功能很簡單,就是一個帶checkbox的列表,提交時需要知道用戶選擇了那些項目,如下圖:使用SimpleAdapter作為數據適配器,重寫SimpleAdapter
版本: Android Studio 0.5.1因為Android的一些特定功能需要高版本的支持, 當最小SDK版本(minSdkVersion)過低時, 會出現報錯,
TableLayout可以把視圖views組織成“行”或“列”。可以使用<TableRow>元素指定表格中的一
創建好ApiDemo項目後,就可以逐個示例的來分析代碼,這裡假定讀者已對