① android activity怎麼給fragment傳值
參數傳遞方法一
在Activity中定義一個欄位、然後添加set和get方法、代碼如下、mTitle就是要傳遞的參數、如果是傳遞對象、可以把mTitle換成一個對象即可
② 如何在Android開發中activity之間數據傳遞
android各組件之間可以使用Intent來傳遞數據, 這里以ActivityA向ActivityB傳遞數據為例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Intent intent = new Intent(context, ActivityB.class);
//如果context上下文不是Activity的話, 需要添加下面這個flag,
if (!(context instanceof Activity)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
//添加要傳遞的數據
//這里的key到時候ActivityB會用來得到value
//android要求可以傳遞的數據類型包括基本數據類型,
//基本數據類型的數組,CharSequence,以及實現了Parcelable的對象
//putExtra是重載方法, 根據value的類型會適當的打包進intent的Bundle對象里
intent.putExtra(key, value);
//或則將數據打包進Bundle data里, 然後intent.putExtras(data);
context.startActivity(intent);
在ActivityB中
1
2
3
4
5
6
public void onCreate(Bundle savedInstanceState) {
//得到傳遞過來的數據
Bundle bundle = getIntent().getExtras();
//通過getXXX方法來獲取key對應的value
bundle.getXXX(key);
}
③ android 怎麼跨activity傳參
Activity之間一般通過Intent來傳遞信息,通過intent的putExtra方法將數據放入其中,目標activity中通過getIntent方法獲取到該intent,然後從intent中獲取到數據;如果更復雜的情況可以使用Handler或者廣播的方式來通過消息傳遞數據。
④ android里 activity怎麼向service傳遞參數
android中activity中向service傳遞參數,有如下方法:
1.在Activity里注冊一個BroadcastReceiver,Service完成某個任務就可以發一個廣播,接收器收到廣播後通知activity做相應的操作。
2.使用bindService來關聯Service和Application,應用.apk里的所有組件一般情況都運行在同一個進程中,所以不需要用到IPC,bindService成功後,Service的Client可以得到Service返回的一個iBinder引用,具體的參見Service的文檔及onBind的例子,這樣Service的引用就可以通過返回的iBinder對象得到,如
public class LocalService extends Service {
// This is the object that receives interactions from clients. See
// RemoteService for a more complete example.
private final IBinder mBinder = new LocalBinder();
public class LocalBinder extends Binder {
LocalService getService() {
return LocalService.this;
}
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
}
之後Client通過這個iBinder對象得到Service對象引用之後,可以直接和Service通訊,比如讀取Service中的值或是調用Service的方法。
⑤ 如何在Android開發中activity之間數據傳遞
用intent在activity之間傳遞數據,需要注意三個方法:
1.startActivityForResult(Intent intent, int requestCode)
2.setResult(int resultCode, Intent data)
3.onActivityResult(int requestCode, int resultCode, Intent data)
需要注意的是:
1.函數1在Activity_A裡面調用,然後啟動Activity_B(由intent參數決定啟動哪個activity);然後Activity_B執行完了之後,在finish()函數裡面調用函數2;此時返回Activity_A;最後在Activity_A裡面系統自動調用已經重載的函數3,Activity_A可以從該函數的第三個參數data裡面獲得想要的數據。
2.函數1有兩個參數,第二個參數確定請求碼;
3.函數3有三個參數:第一個參數請求碼,與函數1的第二個參數意義相同,用於確定是否是從Activity_B里獲得的返回值;第二個參數是結果碼,用於確定返回的結果是否可用;第三個參數是intent變數,用於傳遞數據。
⑥ android中Activity 傳遞參數
使用Intent(),利用括弧里的內容進行傳參非常不好用,只能傳三四個參數,而且非常的慢,在運行時,activity的轉換會變的巨卡無比,如果您想傳的參數非常多,建議您用資料庫,非常方便。例如從activity01切換到activity02,在activity02中進行參數的設置,並保存到資料庫中,然後通過無參的方法轉到activity01中,如果想在activity01中使用activity02中的參數,直接通過資料庫調用就可以了。這是符合軟體工程的設計。
⑦ 如何在Android開發中activity之間數據傳遞
方法/步驟
創建Intent對象,並配置參數,有那個activity跳轉到哪個activity
⑧ 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("參數名")
就可以取到你傳過來的對象了
強轉一下類型就能用了
⑨ android兩個activity之間傳值
Activity之間是沒有辦法直接傳遞數據的。Android的設計原則是,用Intent在不同的Activity和進程之間進行通信,但是通常來講,Intent中只能存入基本數據類型和系統默認支持的比如Uri之類的。那麼對於用戶自己定義的數據結構是無法直接用Intent來傳送的,如果想要通過Intent來傳遞自定義數據,可以讓數據結構實現Parcelable介面,這樣就可以把數據放入Intent。但是Intent的傳送效率也不是很高,特別是當傳遞一些如Bitmap的大數據,用Intent傳遞超過500K的Bitmap,就會造成Framework層的Java Binder掛掉,結果就是傳遞不成功。
這點可以算成是Android的一個弊端,沒有很好的解決方案。能做到的就是盡量設計的時候注意,盡量讓Activity之間共享基本數據類型。
Android本身的應用中也深受其害,可以看到有很多應用程序的源代碼中的主要的類在三千行以上的不在少數,比如Browser中的BrowserActivity有四千多行;Mms中的ComposeMessageActivity也有四千多行,等等。為什麼一個類會如此之大,就是因為它們是程序的主頁面,是業務的核心邏輯所在,裡面也控制著很多的其他的數據結構,而又無法與另外的Activity共享,所以就只能在一個Activity裡面做所的事情。