<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Android 教程:關鍵概念 > 原文: [https://howtodoinjava.com/android/android-tutorial-key-concepts/](https://howtodoinjava.com/android/android-tutorial-key-concepts/) 讓我們從我們中有些人可能已經知道的大多數**基本 android 概念**開始。 ![Android](https://img.kancloud.cn/d8/da/d8da7ddcf778e38e970221fcdd109edc_800x200.png) ## Android 應用 用戶可以從 [Google Play 商店](https://play.google.com/store)安裝 Android 應用,也可以從互聯網上的任何遠程位置(甚至也可以從本地系統)將其下載到設備上。 該應用**應該具有一些用戶界面**,并且可能還有一些其他代碼旨在在該應用的后臺工作。 在這里,我假設您對 Android 設備有一定的動手經驗,因此您熟悉諸如 HOME 和 BACK 之類的按鈕,內置設置,主屏幕和啟動器的概念,等等。 如果您從未使用過 Android 設備,我強烈建議您購買一臺并使用該設備和已安裝在設備上的應用/或從應用商店下載的應用。 這將幫助您了解經過如此艱苦工作后將要構建的內容。 ## 允許的編程語言 絕大多數 Android 應用都是用 Java 編寫的。 但是,還有其他選擇: * 您可以使用 C/C++ 編寫應用的各個部分。 通常這樣做是為了提高性能或移植到現有應用的代碼庫等上。 * 您可以使用 C/C++ 編寫整個應用。 這主要是針對使用 OpenGL 進行 3D 動畫的游戲完成的。 * 您還可以使用 HTML,CSS 和 JavaScript 編寫 android 應用的一部分。 有些工具會將它們打包到 Android 應用中。 但事實仍然是,Java 是構建 Android 應用最常用和流行的語言。 如果您想深入研究 android 應用開發,那么沒有學習 Java 的任何借口。 ## 主要 Android 組件 請記住,當您開始學習 Java 時,您的第一個程序是“*HelloWorld*”應用。 您編寫了`main()`方法和一些打印語句; 然后發生了一些魔術,并且輸出是在控制臺中編寫的。 同樣,當您進入 Web 編程區域時,通常您將首先學習/編寫 http servlet。 您擴展一個類并在其中編寫一些代碼; 然后某些東西將控制權傳遞給您的 servlet,然后它開始執行。 Android 采用第二種方法,即,您擴展了一些特定的類,并在一些 XML 文件中定義了配置,因此很好地啟動了第一個 android 應用。 通過擴展 Android 提供的基類而創建的子類稱為組件。 以下是您應該事先了解的 4 個主要組成部分: #### 1)活動 **用戶界面的主要構建塊稱為活動**。 您可以將活動視為在經典 Windows 應用中看到的用戶界面。 就像在窗口中,應用將大部分屏幕從工具欄上移開一樣,活動也會在移動設備屏幕上留下區域,僅用于頂部的條上包含設備時鐘,信號強度指示器等。請記住此術語,您將在每個步驟中使用它 您的應用開發。 ![Android Activities](https://img.kancloud.cn/37/dd/37dde00836ab80607fa8494f025ee24a_400x308.png) Android 活動 #### 2)服務 活動是短暫的,可以隨時關閉,例如當用戶按下 BACK 按鈕或 HOME 按鈕時。 另一方面,服務的設計目的是,**在需要時與應用內部的任何活動無關地在短時間內保持運行**。 即使控制活動(即媒體播放器)不再在前屏幕上運行,您也可以使用一項服務來檢查 RSS Feed 的更新或播放音樂。 #### 3)內容供應器 內容供應器為“多個”應用可訪問的設備中存儲的任何數據提供**抽象級別**。 Android 開發模型鼓勵您將自己的數據提供給其他應用。 建立內容供應器可以使您做到這一點,同時可以控制同一設備上其他應用如何訪問您的數據。 #### 4)廣播接收器 該系統和/或其他應用將不時發送廣播/通知,用于所有相關的內容,例如,當電池電量不足時,屏幕將關閉,或者連接性將從 WiFi 更改為移動數據等。您應用中的廣播接收器將能夠**收聽這些廣播/通知,并以所需的方式做出相應的**響應 。 ## Android 開發中使用的關鍵術語 #### a)小部件 用 Android 術語來說,小部件是用戶界面的“微型”單元。 字段,按鈕,標簽,列表等都是小部件。 因此,您活動的用戶界面由這些小部件中的一個或多個組成。 您可以想到普通網頁中的所有文本框,下拉菜單和其他 HTML UI 元素。 在 Android 中,它們稱為小部件。 很容易記住。 #### b)容器/布局管理器 如果您有多個小部件(這很典型),則需要告訴 Android 這些小部件在屏幕上的組織方式。 為此,您將使用各種稱為“布局管理器”的容器類。 這些將使您**根據需要以行,列或更復雜的方式放置內容**。 為了描述容器和小部件的連接方式,通常將創建一個布局資源文件,并將其放入項目的資源文件夾中,Android 將從中直接將其拾取并自動為您呈現整個 UI。 用更熟悉的術語來說,它們等效于 HTML 中的`DIV`,`SPAN`或`Table`標簽。 #### c)資源 android 中的資源指的是**圖像,字符串以及應用在運行時**使用的其他類似內容。 在 android 編程中,您將創建大量此類資源文件,以在應用運行時提供數據; 更像是普通 Java 應用中的屬性文件。 #### d)片段 通常,您將以以下方式設計應用: **UI 可以在各種設備**上運行:手機,平板電腦,電視等。例如,平板電腦上的 Gmail 應用將顯示標簽列表, 平板電腦中的一個活動(屏幕)中所有選定標簽中的對話列表以及選定對話中的消息列表。 但是,電話上的同一個 Gmail 應用無法執行此操作,因為屏幕空間不足,因此會在單獨的活動(屏幕)中顯示每個(標簽,對話,消息)。 Android 提供了一個稱為片段的構造,以幫助您更輕松地實現這些效果。 我們將在以后的文章中詳細學習它們。 #### e)應用和包 給定一堆源代碼和一攬子資源,Android 構建工具將為您提供一個應用。 該應用以 APK 文件的形式出現。 它是 APK 文件,您將上傳到 Play 商店或通過其他方式分發。 要了解的重要一點是,每個 android 應用都有一個唯一的包名稱,并且必須滿足三個要求: 1. 它必須是有效的 Java 包名稱,因為此包中的 android 構建工具將生成一些 Java 源代碼。 2. 使用同一包的設備上不能同時存在兩個應用。 3. 具有相同包的兩個應用都不能上傳到 Play 商店。 因此,您將遵循“[反向域名](https://en.wikipedia.org/wiki/Reverse_domain_name_notation "Reverse_domain_name_notation")”約定選擇一個包名稱(例如`com.howtodoinjava.android.app`)。 這樣,域名系統將確保您的程序包名稱前綴(`com.howtodoinjava`)是唯一的,并且由您來確保其余程序包名稱將您的應用與其他應用區分開。 ## Android 設備類型 Android 設備具有各種形狀,大小和顏色。 但是,存在三個主要的“形式因素”: * 電話 * 平板 * 電視 但是,重要的是要了解 android 沒有***內置的概念,即設備是“電話”,“平板電腦”或“電視”***。 而是,Android 根據功能和特征來區分設備。 因此,盡管您可以詢問 android,但您不會在任何地方看到`isPhone()`方法: * 屏幕尺寸是多少? * 設備是否具有電話功能? 等等 同樣,在構建應用時,無需考慮這三個形狀因素,而是將重點放在所需的功能上。 這不僅可以幫助您更好地與 android 希望您構建應用的方式保持一致,而且還可以使您更輕松地適應即將出現的其他形狀因素,例如: * 手表和其他類型的可穿戴設備 * 飛機靠背娛樂中心 * 車載導航和娛樂設備等 ## Android 版本和 API 級別 自 2007 年下半年發布早期 Beta 版以來,Android 已經走了很長一段路。每個新的 Android OS 版本都為該平臺增加了更多功能,開發人員可以利用這些功能做更多的事情。 而且,核心的 Android 開發團隊會盡力確保向前和向后的兼容性。 您今天編寫的應用在將來的 Android 版本(向前兼容)上應該可以保持不變,盡管它可能會丟失某些功能或以某種“兼容模式”運行。 為了幫助我們跟蹤與開發人員相關的所有不同操作系統版本,Android 具有 API 級別。 當 Android 版本包含影響開發人員的更改時,會定義一個新的 API 級別。 創建仿真器 AVD(某種 VM)以測試您的應用時,您將指出仿真器應仿真的 API 級別。 分發應用時,您將指出應用支持的最舊 API 級別,因此該應用未安裝在較舊的設備上。 以下是 [**android 版本**](https://en.wikipedia.org/wiki/Android_version_history "Android_version_history")和 API 級別的列表。 當您想要在至少具有某些功能的設備上安裝應用時,將需要此信息。 * API 級別 3(Android 1.5) * API 級別 4(Android 1.6) * API 級別 7(Android 2.1) * API 級別 8(Android 2.2) * API 級別 9(Android 2.3) * API 級別 11(Android 3.0) * API 級別 15(Android 4.0.3) * API 級別 16(Android 4.1) * API 級別 17(Android 4.2) * API 級別 18(Android 4.3) * API 級別 19(Android 4.4) ## Dalvik 虛擬機 虛擬機被許多編程語言使用,例如 Java,Perl 和 Smalltalk。 [**Dalvik VM**](https://en.wikipedia.org/wiki/Dalvik_%28software%29 "Dalvik") 的工作原理類似于 Java VM,但針對嵌入式 Linux 環境進行了優化。 在開發環境中,您將使用此 VM 來測試您的代碼,以查看其在實際 android 設備上的外觀。 現在讓我們看一下,當有人編寫并運行一個 android 應用時真正發生了什么: 1. 開發人員利用 Android 項目和第三方發布的類庫編寫 Java 語法源代碼。 2. 構建工具使用 Java SDK 隨附的 javac 編譯器將源代碼編譯為 Java VM 字節碼。 3. 生成工具將 Java VM 字節碼轉換為 Dalvik VM 字節碼,該 Dalvik VM 字節碼與其他文件一起打包成擴展名為`.apk`的 ZIP 存檔(APK 文件)。 4. Android 設備或模擬器運行 APK 文件,您將以實時應用的形式獲取構建的內容。 從開發人員的角度來看,大多數構建工具都將其隱藏了。 您只需從頂部倒入 Java 源代碼,APK 文件就會出現在漏斗的底部。 這是簡短的 **Android 入門教程**的全部內容。 我將在以后的文章中再次回顧上述所有術語,以對整個圖片和幕后事物有更深入的了解。 學習愉快!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看