1. android里 activity怎麼向service傳遞參數
android中activity中向service傳遞參數,有如下方法:x0dx0ax0dx0a1.在Activity里注冊一個BroadcastReceiver,Service完成某個任務就可以發一個廣播,接岩型收器收銷山到廣播後通知activity做相應的操作。x0dx0a2.使用bindService來關聯Service和Application,應用.apk里的所有組件一般情況都運行在粗斗猜同一個進程中,所以不需要用到IPC,bindService成功後,Service的Client可以得到Service返回的一個iBinder引用,具體的參見Service的文檔及onBind的例子,這樣Service的引用就可以通過返回的iBinder對象得到,如x0dx0apublic class LocalService extends Service {x0dx0a // This is the object that receives interactions from clients. Seex0dx0a // RemoteService for a more complete example.x0dx0a private final IBinder mBinder = new LocalBinder();x0dx0ax0dx0a public class LocalBinder extends Binder {x0dx0a LocalService getService() {x0dx0a return LocalService.this;x0dx0a }x0dx0a }x0dx0ax0dx0a @Overridex0dx0a public IBinder onBind(Intent intent) {x0dx0a return mBinder;x0dx0a }x0dx0a}x0dx0ax0dx0a之後Client通過這個iBinder對象得到Service對象引用之後,可以直接和Service通訊,比如讀取Service中的值或是調用Service的方法。
2. 如何實現android跳轉頁面並傳遞參數
activity間的傳值
1.值由A.class傳遞到B.class
A.class中:
B.class中:
Intent intent = getIntent();
//獲取數據
String username = intent.getStringExtra("username1");
String userpwd = intent.getStringExtra("userpwd1");
/* Bundle data = intent.getExtras();
String username = intent.getString("username1");
String userpwd = intent.getString("userpwd1"); */
2.除了A.class可以向B.class傳值外,B.class也可以返回值
A.class中
this.startActivity(intent);
改為this.startActivityFroResult(intent,1);//1為請求碼
B.class中
對傳過來的intent對象賦新值
intent.putExtra("username2",username2);
intent.putExtra("userpwd2",userpwd2);
this.setResult(1,intent);
this.finish();//結束焦點
A.class中重寫
@Override protected void onActivityResult(int requestCode,int resultCode,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(resultCode==1)
{
//可從data中取出值
}
}
A.class中取出B.class中intent傳過來的值
3.intent.setClass(A.this,B.class)的另一種寫法
在manifest.xml中B的Activity中加入
<intent-filter>
<action android:name="com.showB">//這里可以隨便寫
<category android:name = "android.intent.category.DEFAULT">
</intent-filter>
那麼A中就可以直接寫
intent.setAction("com.showB");
來代替
intent.setClass(A.this,B.class);
這也就提示了我們利用intent-filter可以實現其他很多功能
3. android activity之間怎麼傳對象數據
StartActivity的時候將數據攜帶到Intent的bundle里,如果要攜帶自定義的對象,你自定義的對象要實現Serializable介面,就是在類里加一個implement Serializable。
然後
Intent intent = new Intent(this, Activity2);
Bundle bundle = new Bundle();
bundle.putSerializable("參數名", 自定義對象);
intent.putExtras(bundle);
startActivity(intent);
就可以把參數帶過去了,
取的時候用
getIntent().getSerializableExtra("參數名")
就可以取到你傳過來的對象了
強轉一下類型就能用了
4. android如何為自定義的類傳遞參數
由CourseActivity跳轉到MainActivity?
通過intent.putExtras(xxx,yyy)來傳遞參數,在MainActivity裡面通過getIntent().getExtras().get(xxx)來獲取參數。你要給自定義類設置參數,只要在類裡面添加一個屬性,用來接收就好了。