欧美色视频免费_2018亚洲男人天堂_好骚综合在线_久久久久久久久国产_日韩精品久久久久久久九岛_国产成年人视频

推廣 熱搜: 廣場  Java  app  Word  營業  微信公眾號  北京代理記賬  商城  代理記賬  商標交易 

安卓系統中intent的定義和用途 為什么要實現序列化接口?

   2023-05-06 企業服務招財貓140
核心提示:為什么要實現序列化接口?首先你要明確parcelable接口是干什么用的!為什么安卓上提供這個界面!只有知道這個道理,你才能知道它是否合適!這個界面在Android中的常用是在aidl中!目的是夸進程

為什么要實現序列化接口?

首先你要明確parcelable接口是干什么用的!

為什么安卓上提供這個界面!只有知道這個道理,你才能知道它是否合適!

這個界面在Android中的常用是在aidl中!目的是夸進程傳輸數據!再進一步,就是內存共享!比如在intent中傳遞自定義對象的時候,也有實現這個接口的方法!當然,intent也提供了一種交付可序列化接口的方法!這是一個java序列化接口!和parcelable比,性能還不如parcelable!而且可序列化接口更適合持久化序列化保存在本地!所以持久存儲推薦使用serializable,objectinputstream和objectOutputSTr

initent組件有哪些屬性?

答:意圖組件主要有以下四個重要屬性:

Action屬性的值是一個字符串,表示系統中已經定義的一系列常用動作。通過setAction()方法或在清單文件AndroidManif://.。

Category屬性用于指定執行當前操作的環境。通過addCategory()方法或在清單文件AndroidManifest.xml中設置。默認值為CAT

安卓關鍵組件或特點有哪些?

對于一個Android應用程序,它由四個關鍵的構件組成:活動、意圖接收者、服務和內容提供者。

但是,并不是每個Android應用都需要這四個構建模塊,這不是必須的。有時,我們只需要將這四個構件中的幾個組合到我們的應用程序中。

當我們知道我們的應用需要哪些構建模塊時,我們需要在AndroidManifest.xml中注冊這些構建模塊的列表,這是一個xml配置文件,用來定義我們的應用的組件、功能和必要條件。每個Android應用程序都需要這個配置文件。為了機器人生活在st.xml的模式中,我們將解釋四種構造塊:

1、活動

活動是安卓最基本的積木。在應用程序中,一個活動通常是一個單獨的屏幕。每個活動都作為一個獨立的類實現,并從基類Activity繼承。這個活動類將顯示一個由幾個視圖控件組成的用戶界面,并響應事件。大多數應用程序將包含多個屏幕。例如,短消息應用程序將具有用于顯示聯系人列表的屏幕、用于編寫短消息的第二屏幕以及用于瀏覽舊短消息和設置系統的屏幕。每個這樣的屏幕都是一個活動。從一個屏幕導航到另一個屏幕非常簡單。在某些應用程序中,一個屏幕甚至會返回一個值給前一個屏幕。

當新屏幕打開時,前一個屏幕將暫停并保存在歷史堆棧中。用戶可以返回到歷史堆棧中的上一個屏幕。當不再使用該屏幕時,也可以將其從歷史堆棧中刪除。默認情況下,Android會將運行屏幕從主屏幕保留到每個應用程序。

Android使用特殊的類意圖在屏幕之間移動。Intent類用于描述應用程序將做什么。在意圖的描述結構中,有兩個最重要的部分:動作和動作對應的數據。典型的動作類型有:main(活動的門戶)、VIEW、PICK、EDIT等。對應于該動作的數據以URI的形式表示。例如,查看一個人的聯系信息,您需要創建一個具有活動類型視圖的意向和一個代表此人的URI。

與之相關的一個類叫做IntentFilter。與意圖是做某事的有效請求相比,意圖過濾器用于描述活動(或意圖接收者)可以操作哪些意圖。如果一個活動想展示一個人聯系信息,它需要聲明一個IntentFilter,需要知道如何處理視圖動作和代表一個人的URI。IntentFilter需要在AndroidManifest.xml中定義

通過解析各種意圖,從一個屏幕導航到另一個屏幕非常簡單。向前導航時,活動將調用startActivity(IntentmyIntent)方法。然后,系統將在所有安裝的應用程序中定義IntentFilter。找到與我的意圖最匹配的意圖對應的活動。在收到來自myIntent的通知后,新的活動開始運行。當調用startActivity方法時,它將觸發解析myIntent的操作。這種機制提供了兩個主要好處:

◆活動可以重用從其他組件以意圖形式生成的請求;

◆活動可以隨時被具有相同IntentFilter的新活動替換。

2、意向接受者

當您希望您的應用程序響應外部事件時(例如當有打進來時,當數據網絡可用時,或者在晚上),您可以使用意向接收器。盡管意向接收方將使用NotificationManager在感興趣的事件發生時通知用戶,但它不能生成UI。IntentReceiver在AndroidManifest.xml中注冊,但也可以用()在代碼中注冊。當觸發了意圖接收器時,您的應用程序不需要為請求調用意圖接收器,系統將在必要時啟動您的應用程序。各種應用程序也可以通過使用()向其他應用程序廣播它們自己的意圖接收器。

3、服務

服務是一個生命周期很長的程序,沒有用戶界面。一個很好的例子是媒體播放器播放播放列表中的歌曲。在媒體播放器的應用程序中,應該有多個活動,以便用戶可以選擇歌曲并播放它們。而音樂播放的功能卻沒有相應的活動,因為用戶在導航到其他屏幕時肯定會認為音樂應該還在播放。在這個例子中,媒體播放器的活動將使用()來啟動一個服務,這樣音樂就可以在后臺繼續播放。同時,系統將保持該服務運行,直到該服務結束。此外,我們可以使用()方法連接到一個服務(如果服務沒有運行,它將被啟動)。連接到一個服務后,我們還可以通過服務提供的接口與它進行通信。以媒體播放器為例,我們也可以暫停和重放。

4、內容提供商

應用程序可以將其數據保存到文件、SQL數據庫甚至任何有效的設備中。中等。當您希望與其他應用程序共享您的應用程序數據時,ContentProvider將非常有用。內容提供者類實現一組標準方法,以便其他應用程序可以保存或讀取由該內容提供者處理的各種數據類型。

 
反對 0舉報 0 收藏 0 打賞 0評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點擊排行
合作伙伴
網站首頁  |  關于我們  |  聯系方式  |  使用協議  |  版權隱私  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報  |  冀ICP備2023006999號-8
 
主站蜘蛛池模板: 可以在线观看的av网站 | 日韩精品在线观看视频 | 欧美一区二区三区视频在线观看 | 国产一区二区黄 | 久久久久久久久一区二区 | 国产精品一区二区久久久 | 久久手机视频 | 日韩成人影片 | 欧美一区二区日韩 | 视频免费1区二区三区 | 欧美日韩高清 | 国产在线视频一区二区 | 久久宅男 | 蜜乳视频 | 中文字幕91| 成人深夜视频 | 国产二区精品 | 三级福利视频 | 62久久久成人精品电影 | 国产精品久久久久久久久久久久久 | 日韩99| 国产伦精品一区二区三区视频黑人 | 最近中文字幕大全 | 午夜免费 | 欧美一级二级三级 | 亚洲最大毛片 | 日韩一区二区三区av | 久久久久久久网 | 中文字幕av一区二区三区 | av麻豆 | 91一区二区在线观看 | www国产亚洲精品久久麻豆 | 久久之久久 | 久久久久国产 | 尤物福利视频 | 日韩视频在线一区二区 | www.日韩视频 | 中文字幕日韩视频 | 成人午夜精品 | 日韩一区二区三区在线 | 亚州av乱码久久精品蜜桃 |