日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java activity_java中的Activity

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java activity_java中的Activity 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Activity

首先,Activity是Android系統中的四大組件之一,可以用于顯示View。Activity是一個與用記交互的系統模塊,幾乎所有的Activity都是和用戶進行交互的,但是如果這樣就能說Activity主要是用來顯示View就不太正確了。

在深入了解Activity之前,我們先要知道一下MVC設計模式,在JAVAEE 中MVC設計模式已經很經典了,而且分的也比較清晰了,但是在Android中,好多人對MVC在Android開發中的應用不是很清楚,下面我就先來介紹一下MVC在Android開發中的應用:

M(Model 模型):Model是應用程序的主體部分,所有的業務邏輯都應該寫在這里,在Android中Model層與JavaEE中的變化不大,如:對數據庫的操作,對網絡等的操作都放在該層(但不是說它們都放在同一個包中,可以分開放,但它們統稱為Model層)。

V(View 視圖):是應用程序中負責生成用戶界面的部分,也是在整個MVC架構中用戶唯一可以看到的一層,接收用戶輸入,顯示處理結果;在Android應用中一般采用XML文件里德界面的描述,使用的時候可以非常方便的引入,當然也可以使用JavaScript+Html等方式作為View。

C(Controller控制層)android的控制層的重任就要落在眾多的activity的肩上了,所以在這里就要建議大家不要在activity中寫太多的代碼,盡量能過activity交割Model業務邏輯層處理。

好了,在介紹過Android應用開發中的MVC架構后,我們就可以很明確的知道,在Android中Activity主要是用來做控制的,它可以選擇要顯示的View,也可以從View中獲取數據然后把數據傳給Model層進行處理,最后再來顯示出處理結果。

介紹過Activity的主要作用后,那么我們就要詳細說一下Activity了。

Activity生命周期圖

Activity 的生命周期是被以下的函數控制的。

public class Activity extends ApplicationContext {

protected void onCreate(Bundle icicle);

protected void onStart();

protected void onRestart();

protected void onResume();

protected void onFreeze(Bundle outIcicle);

protected void onPause();

protected void onStop();

protected void onDestroy();

}

onCreate(Bundle) 函數是你進行初始化的地方,這個也是執行

setContentView(View)函數的地方,setContentView(View)函數可以傳入一個由XML

編制的UI界面,可以使UI和具體實現完全分離。

onPause()函數是處理用戶離開當前 Activity 的地方。更重要的是,任何在當前

Activity中的任何改變都要在這個函數中提交。

Activity有四種狀態:

活動狀態,當Activity處于Stack(棧)頂時,就是手機當前的現實屏幕,這是 Activity就

處于activity或者運行狀態。

運行但是失去焦點,當Activity還處于運行狀態時,但是屏幕是有另外一個Activity

處于文檔處于焦點狀態,當前的Activity就處于pause。

停止,當Activity被另一個Activity完全覆蓋的時候,就被停止了,其實就是雖然在

運行,但是用戶卻看不見。

結束,當Activity處于pause或者stop時,系統可以結束 Activity,回收資源,這

是Activity就是處于結束狀態了。

處于結束狀態的是Activity,如果要使用戶可見,只要重啟才可以。

Activity的響應時間

當前Activity所在的線程為主線程,它的響應時間為5秒,如果在當前運行的Activity中進行耗時的操作且響應時間起過5秒,那么程序就會報ANR錯誤。所以,這也是不建議在Activity中寫太多復雜代碼的原因之一。

當然,有些代碼只能寫在Activity中,不然就運行不了(它們不是生命周期方法),比如你想要獲得android系統或者硬件一的些信息,就必須在Activity中寫出來,如果單獨寫一個工具類獲得不了。

1.Activity的主要作用

Activity是Android一個非常重要的用戶接口,是可見的,用戶和應用程序之間進行交互的接口。在每個Activity中都可以放很多控件,所以也可以把Activity看作控件的容器。

2.創建Activity的要點

1)一個Activity就是一個類,并且這個類要繼承Activity,而這個被繼承的Activity來源于android.jar包

2)需要復寫onCreate方法,當一個Activity第一次運行時Android操作系統就會調用onCreate方法

3)因為Activity是應用程序的組件,所以每一個Activity都必須在AndroidManifest.xml里面注冊,manifest相當于應用程序清單。

4) 為Activity添加必要的控件

3.在AndroidManifest.xml文件中注冊應用Activity的方法

1) 注冊Activity的時候name的時候前面加點,因為和包名合起來就剛好是這個類(或者說Activity)的路徑。

2) label,就是在頁面上方白色的部分顯示的文字

3)intent-filter,暫時不用管,意思就是你在哪個activity配置這個東西,哪個activity就在應用打開的時候第一個運行

4.在Activity中添加控件,就是在layout文件夾中創建布局文件(嚴格意義上來說并不是每一個Activity都要創建一個相應的xml布局文件,比如:TextView textview = new TextView(this);

//以前我一直以為每創建一個Activity必須相應地也要創建一個layout文件,現在發現不是這樣,也可以按照這個方法,創建一個簡單的TextView,把Context設置為this,設置一個文本值,然后再將這個TextView設置為ContentView.這種個人覺得更加方便測試吧。

textview.setText("This is the Artists tab");

setContentView(textview);

}

}

這樣的方法同樣工作,但是總的來說還是建議為每一個Activity定義一個布局文件。

1) 程序中的setContentView就是設置這個Activity所使用的布局文件。

比如:setContentView(R.layout.my_text); //說到這里,注意一個問題,布局文件的名稱不允許有大寫

2) 在xml文件中設置的控件id會在R.java中生成id

3)在應用程序中使用findViewById來取得布局文件中的控件(前提是布局文件中的控件必須設置相應的id),因為它的返回類型為View,所以要強制類型轉換為控件類型

舉個例子就是 Button button =(Button)findViewById(R.id.button);

————————————————

版權聲明:本文為CSDN博主「lidandan2016」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/lidandan2016/article/details/78030688

總結

以上是生活随笔為你收集整理的java activity_java中的Activity的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。