1. 程式人生 > >筆記(活動(activity)之間的通訊)

筆記(活動(activity)之間的通訊)

1.向下一個活動傳遞資料。

意思是:該Intent類是在android四大元件之間傳遞資料的信使。

(Context packageContext,Class<?> cls)
          Create an intent for a specific component.
Intent           Add extended data to the intent.


Add extended data to the intent. The name must include a package prefix, for example the app com.android.contacts would use names like "com.android.contacts.ShowAll".
String getStringExtra(String name)Retrieve extended data from the intent. 

引數:name - The name of the desired item. 返回:the value of an item that previously added with putExtra() or null if no String value was found.
例子:

@1通過Intent向下一個活動傳送資料。
String data = "nihao";                                                                      Intent intent = new Intent(activity1.this,activity2.class);
intent.putExtra("send_data",data);
startActivity(intent);
@2通過intent接收來自上一個活動的資料。
Intent intent = getIntent();
String data = intent.getStringExtra("send_data");
接著介紹一下Bundle:

A mapping from String values to various Parcelable types.


          Constructs a new, empty Bundle.


          Inserts an int value into the mapping of this Bundle, replacing any existing value for the given key.

Bundle bundle = new Bundle();

bundle.putInt("operate",1);

Intent intent = new Intent();
intent.putExtra(bundle); 這樣的程式可以根據鍵值找到數值1,從而進行其他操作。 這只是簡單的介紹一下Bundle,還有很多方法用來操作。


2.返回資料給上一個活動。

 
          Call this to set the result that your activity will return to its caller.
引數:resultCode - The result code to propagate back to the originating activity, often RESULT_CANCELED or RESULT_OKdata - The data to propagate back to the originating activity.    資料傳播回caller activity.
Call this to set the result that your activity will return to its caller.
意思是:呼叫此函式將會把結果回調回caller activity.


3.開啟當前活動的onActivityResult(int requestCode, int resultCode, Intent data)方法。


          Launch an activity for which you would like a result when it finished.
引數:
     intent - The intent to start.
     requestCode - If >= 0, this code will be returned in onActivityResult() when the activity exits. 
Launch an activity for which you would like a result when it finished. When this activity exits, your onActivityResult() method will be called with the given requestCode. Using a negative requestCode is the same as callingstartActivity(android.content.Intent) (the activity is not launched as a sub-activity). 
意思是:需要一個活動結束時返回結果。當前活動退出,onActivityResult()方法將會被呼叫,如果requestCode < 0 時,startActivityForResult()與startActivity()效果是一樣的。

相關推薦

筆記活動activity之間通訊

1.向下一個活動傳遞資料。 意思是:該Intent類是在android四大元件之間傳遞資料的信使。 (Context packageContext,Class<?> cls)      

《第一行程式碼》學習筆記——探究活動未完待續

《第一行程式碼》學習筆記 一、探究活動 手動建立活動,不勾選 Generate Layout File 和 Launcher Activity 重寫onCreate()方法(每個活動都應該重寫) protected void onCreate(Bundle savedInsta

《第一行代碼》學習筆記——探究活動未完待續

over 技術分享 android save 標題欄 toa ack cat name 《第一行代碼》學習筆記 一、探究活動 手動創建活動,不勾選 Generate Layout File 和 Launcher Activity 重寫onCreate()方法(每個活

vue元件之間通訊非父子之間通訊

檢視如下: 單擊點選後: 下列為實現程式碼: html: <dvi id="app"> <brother></brother> <hr> <sbrother></sbrother&g

作業系統程序間共享儲存區的通訊):建立一個共享儲存區,大小4個位元組int大小。建立一個子程序,然後子父程序獨自執行。父程序寫入一個數字到共享儲存區,子程序在共享儲存區把該數字讀出

題目:建立一個共享儲存區,大小4個位元組(int大小)。建立一個子程序,然後子父程序獨自執行。父程序寫入一個數字到共享儲存區,子程序在共享儲存區把該數字讀出。 程式碼量很少,純屬應付作業 筆者在telnet上寫這些程式碼,由於知識技術及英語太菜,不知道怎樣在telnet上覆製出來這些程式碼,

【車載人體健康檢測器專案】Android藍芽例項和微控制器藍芽模組通訊

1、Android藍芽程式設計   藍芽3.0及以下版本程式設計需要使用UUID,UUID是通用唯一識別碼(Universally Unique Identifier),這是一個軟體構建的標準,也是被開源基金會組織應用在分散式計算環境領域的一部分。在藍芽3.0及下一版本中,UUID被用於唯一

Fragment監聽返回鍵Fragment響應Activity的onKeyDown事件Kotlin版

在Fragment不僅僅只可以監聽返回鍵哦,所有你見過的按鍵都可以監聽,什麼A~Z,0~9,F1~F12等等我就不舉例子了。至於為什麼寫這篇部落格,因為我的專案是一個Activity+多個Fragment架構的,下面進入正題。。。。直接上程式碼(原創轉載請標明) overrid

android: startActivityForResult用法啟動其他Activity並返回結果

startActivityForResult:該方法用於啟動指定Activity,而且期望獲取指定Activity返回的結果。 例如應用程式第一個介面需要使用者進行選擇,但是這種選擇的列表資料很複雜,需要啟動另一個Activity讓使用者選擇。當用戶在第二個Activity

HBase遷移資料方案兩個叢集不能通訊

兩個可以直接通訊的叢集之間很容易拷貝資料從而遷移HBase資料。 但是如果兩個叢集在不同的網路,沒法通訊呢? 今天測試了一個方案: 把某個表(table1)從叢集1遷移到叢集2(兩個叢集互相看不見),步驟如下 1、拷貝叢集1的表文件到本地磁碟 : /app/cloud/Ha

UNP卷2:程序間通訊—— 第5章:Posix訊息佇列

Posix訊息佇列 和 System V 訊息佇列的主要差別: 對POSIX訊息佇列的讀總是返回最高優先順序的最早訊息,對System V訊息佇列的讀則可以返回任意指定優先順序的訊息。當往一個空佇列放置一個訊息時,Posix訊息佇列允許產生一個訊號或啟動一個執行緒,Sys

Android 四大元件 —— 活動活動的隱式跳轉

      上一篇我們討論了活動的顯示跳轉,現在來學習活動的隱式跳轉       相比於顯式Intent,隱式Intent 則含蓄了許多,它並不明確指出我們想要啟動哪一個活動,而是指定了一系列更為抽象的action 和category 等資訊,然後交由系統去分析這個Inte

隨想錄windows和linux進行socket通訊

【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】     在公司裡面,我們平時使用的機器一般都是windows系統,但是開發、編譯的機器往往是linux伺服器。通過ping、ftp、samba、telnet、ssh,人們

快速入門android AIDL開啟多程序並進行通訊

為何要開啟多程序?主要有兩種情況:一、一個應用由於自身需要採用多程序模式來實現。比如播放器之類,如果僅僅在service中執行會影響主執行緒的響應速度,很可能會造成ANR,一般情況下不會這麼寫;如果僅僅在子執行緒中執行,一旦開啟該執行緒的Activity被殺死後,執行緒也被殺

Vue+ElementUI從零開始搭建自己的網站三、元件間的通訊

前面討論了環境的搭建和導航頁面以及路由的配置,今天我們討論下如何開發一個擁有表單和表格功能的頁面。先上開發完的效果圖:  可以看出頁面非常的簡單,其中上半部分是表單搜尋和查詢,下半部分是用於展示資料的表格。如果按照傳統的開發思路,其實非常簡單,只要用兩個div,第一個d

HBase遷移資料方案1兩個叢集不能通訊

  前一篇文章裡面介紹了 兩個可以直接通訊的叢集之間很容易拷貝資料從而遷移HBase資料。 但是如果兩個叢集在不同的網路,沒法通訊呢? 今天測試了一個方案: 把某個表(table1)從叢集1遷移到叢集2(兩個叢集互相看不見),步驟如下 1、拷貝叢集1的表文件到本地

JUC二、執行緒間通訊

兩個執行緒,一個執行緒列印1-52,另一個列印字母A-Z列印順序為12A34B...5152Z, 要求用執行緒間通訊 1.syn

程序筆記2:程序之間通訊UNIX域套接字socket

socket的地址資料結構根據不同的系統以及網路環境有不同形式。為了使不同格式地址能夠被傳入套接字函式,必須強制將地址結構轉換為: struct sockaddr{ sa_family_t sa_family; /* address family*/ char

Android筆記--簡單的Fragment和Activity之間的資料互動傳值

通過點選MainActivity裡的按鈕傳一個字串給MainActivity2的fragment裡的textview,並顯示出來。 1、在MainActivity下:通過intent先把字串傳給Mai

在AndroidManifest清單文件中註冊activity活動及配置主活動、更改App圖標、App名稱、修改隱藏標題欄

雙擊 建議 nba cat ima manager ram spa src 打開app/src/main/AndroidManifest。 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xm

C# 兩個進程之間通訊管道通信

click 失敗 != else iss nbsp obj c# cal #region 客戶端 NamedPipeClientStream pipeClient = new NamedPipeClientStream("localhost