欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android開發(fā)-1-創(chuàng)新互聯

Android開發(fā)基本知識-活動篇
  • 基本項目結構
  • 活動
  • 返回棧
  • 活動生命周期
    • 活動狀態(tài)
    • 生命周期
    • 生存期
  • 活動創(chuàng)建
  • 活動切換
    • 創(chuàng)建Intent
    • 跳轉至新活動
    • 結束當前活動,返回上一級
  • Fragment

在做網站、網站設計過程中,需要針對客戶的行業(yè)特點、產品特性、目標受眾和市場情況進行定位分析,以確定網站的風格、色彩、版式、交互等方面的設計方向。成都創(chuàng)新互聯公司還需要根據客戶的需求進行功能模塊的開發(fā)和設計,包括內容管理、前臺展示、用戶權限管理、數據統(tǒng)計和安全保護等功能。基本項目結構
--app
  --manifests
     --AndroidManifest.xml(項目啟動文件,包括項目基本信息及所有活動注冊信息)
  --java
     --.../XXXActivity.java(活動實體類)
  --res(資源文件夾)
     --layout
        --activityXXX.xml(活動布局文件)
--gradle scripts
  --build.gradle(project)(部署文件,包括SDK版本及依賴等)
活動

通俗來講,一個頁面(不一定全屏)相當于一個活動,每個活動具有活動周期,頁面切換即是活動切換;活動中有各種控件,每個控件可以提供不同的功能(如按鈕、文本框)。
每個活動對應一個實體類和一個布局文件,在實體類的onCreate方法中需要加載布局文件,在布局文件中添加的控件可通過id等方式被實體類調用,從而實現頁面的交互。

返回棧

安卓基本的管理單位是活動,當一個活動被啟動時,將會被入棧;當活動被銷毀時,會被出棧。即:當前頁面所顯示的活動為當前棧頂的活動。
返回棧不一定只有一個,但頁面激活順序只與當前返回棧相關,如:

  1. 活動1啟動,入棧1
  2. 通過活動1啟動活動2,活動2入棧2,當前頁面顯示棧2的棧頂活動2
  3. 通過活動2啟動活動3,活動3入棧1,當前頁面顯示棧1的棧頂活動3

在這種情況下,棧1從底到頂為活動1、活動3,棧2只有活動2,那么從活動3選擇返回,棧1將會彈出活動3,當前頁面顯示棧1的棧頂活動1;而從活動1選擇返回,棧1將會彈出活動1,此時棧1已空,頁面將切換到棧2的棧頂活動2。

活動生命周期

(此部分參考博客Android開發(fā) 入門篇(一))

活動狀態(tài)

每個活動具有四種狀態(tài):運行狀態(tài)、暫停狀態(tài)、停止狀態(tài)、銷毀狀態(tài)。

  1. 運行狀態(tài):處于返回棧棧頂的活動處于運行狀態(tài)
  2. 暫停狀態(tài):活動不處于棧頂但是仍然可見的時候,處于暫停狀態(tài)(不是所有活動都必須占滿全部屏幕,比如彈出的對話框就只占據部分屏幕)
  3. 停止狀態(tài):活動不處于棧頂且完全不可見的時候就處于停止狀態(tài),系統(tǒng)會保留相應狀態(tài)和成員變量,但是不可靠,如果內存不夠用的時候,這部分將被回收
  4. 銷毀狀態(tài):當一個活動從棧頂移除后變成銷毀狀態(tài),系統(tǒng)會優(yōu)先回收這種狀態(tài)的活動(通過返回鍵或finish()方法銷毀)
生命周期

Activity類中定義了七個回調方法,覆蓋了生命周期中的每一個環(huán)節(jié)

  • onCreate():在活動第一次被創(chuàng)建的時候調用,實現布局的加載、事件綁定等
  • onStart():在活動由不可見變?yōu)榭梢姷臅r候調用
  • onResume():在活動準備好和用戶進行交互的時候調用,此時活動一定處于棧頂,且處于運行狀態(tài)
  • onPause():在系統(tǒng)準備啟動或恢復另一個活動時調用。一般在這里需要釋放一些消耗cpu的資源,保存一些關鍵數據,要快,否則可能會影響新活動
  • onStop():在活動完全不可見的時候調用。若啟動的新活動是不會使舊活動不可見的活動(類似對話框的活動),則會使用onPause(),onStop()不會執(zhí)行
  • onDestroy():在活動被銷毀之前調用,之后活動會變?yōu)殇N毀狀態(tài)
  • onRestart():活動由停止狀態(tài)變?yōu)檫\行狀態(tài)的時候調用該方法,即活動被重新啟動
生存期
  • 完整生存期:即onCreate()和onDestroy()之間所經歷的是完整生命期,在onCreate()中進行初始化操作,在onDestroy()中進行內存的釋放
  • 可見生存期:在onStart()和onStop()之間所經歷的是可見生命期。在這個期間活動都是可見的,即便某些無法交互的時候也是可見的。應在onStart()中完成資源的加載,onStop()中進行資源的釋放
  • 前臺生存期:在onResume()和onPause()之間所經歷的是前臺生存期。在這個期間活動總是處于運行狀態(tài),可以和用戶進行交互

活動生命周期

活動創(chuàng)建
  • 創(chuàng)建活動實體并加載頁面布局
public class MainActivity extends AppCompatActivity {@Override
   protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main); 
   }
}

其中,頁面布局引用方法為:R.res目錄下頁面布局文件夾.頁面布局文件名,如例子中R.layout.activity_main對應:
在這里插入圖片描述

  • 在AndroidManifest中注冊活動:

其中:android.name應為活動實體類的路徑,因為外部有package,可以簡寫;android.exported為Android12添加的必寫標簽,之前版本可以不寫;intent-filter標簽中用于進行活動切換,后文再說。
activity標簽位置:

...
活動切換

活動切換分為兩種:創(chuàng)建新活動、返回上一活動。
活動切換通過intent進行。

  • 創(chuàng)建新活動的intent
    例如我要從FirstActivity切換到SecondActivity,SecondActivity的注冊信息如下:
創(chuàng)建Intent

有幾種方式創(chuàng)建指向SecondActivity的intent:

  • 根據類獲取:new Intent(當前類的content,目標類的class)
    例:new Intent(FirstActivity.this, SecondActivity.class)
  • 根據action和category獲取:new Intent(目標類的action)
    注:Intent僅能跳轉到category=android.intent.category.DEFAULT的活動,即,如果兩個活動action相同,category不同,則會直接跳轉到DEFAULT活動;若兩個活動action和category都相同,則會彈出跳轉選擇框。
跳轉至新活動

通過startActivity(intent)跳轉至新活動
通過startActivity(intent, requestCode)跳轉至新活動,并要求新活動銷毀時返回結果,結果以requestCode接收(方法已過期)

Intent intent = new Intent("intentNameTest");
startActivity(intent);
//startActivityForResult(intent, 1)
結束當前活動,返回上一級

銷毀當前活動通過finish()方法
如果需要返回結果,則要通過一個空intent進行傳遞,返回數據通過putExtra方法傳輸:

Intent emptyIntent = new Intent();
emptyIntent.putExtra("data_return", "返回數據");
setResult(1, emptyIntent);
finish();

上級活動通過重寫onActivityResult接收,數據通過get相關方法接收:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);
    String str = data.getStringExtra("data_return");
}
Fragment

fragment是依托于活動運行的,相當于一個小模塊,每個活動中可以有多個fragment,同一個fragment也可以被多個活動引用。
fragment的生命周期不同于活動,單獨計算,但受活動影響(活動啟動不代表fragment啟動,活動銷毀fragment一定銷毀)。
有一些控件是專屬于fragment的。

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

新聞名稱:Android開發(fā)-1-創(chuàng)新互聯
本文URL:http://www.chinadenli.net/article30/gscpo.html

成都網站建設公司_創(chuàng)新互聯,為您提供外貿網站建設網站設計公司用戶體驗企業(yè)建站網站建設微信小程序

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

h5響應式網站建設