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

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

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

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

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

返回棧

安卓基本的管理單位是活動(dòng),當(dāng)一個(gè)活動(dòng)被啟動(dòng)時(shí),將會(huì)被入棧;當(dāng)活動(dòng)被銷毀時(shí),會(huì)被出棧。即:當(dāng)前頁(yè)面所顯示的活動(dòng)為當(dāng)前棧頂?shù)幕顒?dòng)。
返回棧不一定只有一個(gè),但頁(yè)面激活順序只與當(dāng)前返回棧相關(guān),如:

  1. 活動(dòng)1啟動(dòng),入棧1
  2. 通過活動(dòng)1啟動(dòng)活動(dòng)2,活動(dòng)2入棧2,當(dāng)前頁(yè)面顯示棧2的棧頂活動(dòng)2
  3. 通過活動(dòng)2啟動(dòng)活動(dòng)3,活動(dòng)3入棧1,當(dāng)前頁(yè)面顯示棧1的棧頂活動(dòng)3

在這種情況下,棧1從底到頂為活動(dòng)1、活動(dòng)3,棧2只有活動(dòng)2,那么從活動(dòng)3選擇返回,棧1將會(huì)彈出活動(dòng)3,當(dāng)前頁(yè)面顯示棧1的棧頂活動(dòng)1;而從活動(dòng)1選擇返回,棧1將會(huì)彈出活動(dòng)1,此時(shí)棧1已空,頁(yè)面將切換到棧2的棧頂活動(dòng)2。

活動(dòng)生命周期

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

活動(dòng)狀態(tài)

每個(gè)活動(dòng)具有四種狀態(tài):運(yùn)行狀態(tài)、暫停狀態(tài)、停止?fàn)顟B(tài)、銷毀狀態(tài)。

  1. 運(yùn)行狀態(tài):處于返回棧棧頂?shù)幕顒?dòng)處于運(yùn)行狀態(tài)
  2. 暫停狀態(tài):活動(dòng)不處于棧頂?shù)侨匀豢梢姷臅r(shí)候,處于暫停狀態(tài)(不是所有活動(dòng)都必須占滿全部屏幕,比如彈出的對(duì)話框就只占據(jù)部分屏幕)
  3. 停止?fàn)顟B(tài):活動(dòng)不處于棧頂且完全不可見的時(shí)候就處于停止?fàn)顟B(tài),系統(tǒng)會(huì)保留相應(yīng)狀態(tài)和成員變量,但是不可靠,如果內(nèi)存不夠用的時(shí)候,這部分將被回收
  4. 銷毀狀態(tài):當(dāng)一個(gè)活動(dòng)從棧頂移除后變成銷毀狀態(tài),系統(tǒng)會(huì)優(yōu)先回收這種狀態(tài)的活動(dòng)(通過返回鍵或finish()方法銷毀)
生命周期

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

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

活動(dòng)生命周期

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

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

  • 在AndroidManifest中注冊(cè)活動(dòng):

其中:android.name應(yīng)為活動(dòng)實(shí)體類的路徑,因?yàn)橥獠坑衟ackage,可以簡(jiǎn)寫;android.exported為Android12添加的必寫標(biāo)簽,之前版本可以不寫;intent-filter標(biāo)簽中用于進(jìn)行活動(dòng)切換,后文再說。
activity標(biāo)簽位置:

...
活動(dòng)切換

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

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

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

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

通過startActivity(intent)跳轉(zhuǎn)至新活動(dòng)
通過startActivity(intent, requestCode)跳轉(zhuǎn)至新活動(dòng),并要求新活動(dòng)銷毀時(shí)返回結(jié)果,結(jié)果以requestCode接收(方法已過期)

Intent intent = new Intent("intentNameTest");
startActivity(intent);
//startActivityForResult(intent, 1)
結(jié)束當(dāng)前活動(dòng),返回上一級(jí)

銷毀當(dāng)前活動(dòng)通過finish()方法
如果需要返回結(jié)果,則要通過一個(gè)空intent進(jìn)行傳遞,返回?cái)?shù)據(jù)通過putExtra方法傳輸:

Intent emptyIntent = new Intent();
emptyIntent.putExtra("data_return", "返回?cái)?shù)據(jù)");
setResult(1, emptyIntent);
finish();

上級(jí)活動(dòng)通過重寫onActivityResult接收,數(shù)據(jù)通過get相關(guān)方法接收:

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

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

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

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

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司用戶體驗(yàn)企業(yè)建站網(wǎng)站建設(shè)微信小程序

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)