欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Android之路 - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

Android之路

發(fā)表時(shí)間:2020-11-21

發(fā)布人:葵宇科技

瀏覽次數(shù):41

前言


  由于接近放假,公司在趕項(xiàng)目所以前段LP比較忙,沒(méi)什么時(shí)間總結(jié)和寫(xiě)博客,只是準(zhǔn)備睡覺(jué)的時(shí)候看看書(shū),每天看的不算多,大概10多頁(yè)左右吧,不過(guò)每天堅(jiān)持如此的話(huà)那也是一個(gè)龐大的數(shù)字。
  今天LP的任務(wù)完成了,在領(lǐng)導(dǎo)還沒(méi)分配任務(wù)之前再發(fā)布一篇關(guān)于A(yíng)ctivity的博文..........
  上一篇跟大家分享了Android的發(fā)展史、系統(tǒng)框架、還有Android的四大組件,下面LP就為大家介紹下四大組件之一的Activity。
  知道了Android的歷史之后,有沒(méi)有讓Android那種打不死的精神打動(dòng)了,如果有的話(huà)就趕緊動(dòng)身來(lái)學(xué)Android吧..
  行了,廢話(huà)不多說(shuō) Let's go

目錄

  • 活動(dòng)(Activity)
  • activity誰(shuí)來(lái)管?
  • 它是怎么個(gè)生老病死的?
  • 啟動(dòng)模式
  • 如何去使用它?
  • 兄弟間該如何進(jìn)行交互?

Android四大組件之一【Activity】


  說(shuō)到活動(dòng)相信就算沒(méi)有android基礎(chǔ)的人都知道活動(dòng)是個(gè)什么東西,因?yàn)樗鼤?huì)經(jīng)常出現(xiàn)在我們的身邊,但是說(shuō)到Activity,那就不一定了,不過(guò)懂一點(diǎn)英語(yǔ)的人直接翻譯過(guò)來(lái)也知道是活動(dòng)的意思,其實(shí)Android的活動(dòng)和現(xiàn)實(shí)生活中的活動(dòng)很相似,也可以理解為現(xiàn)實(shí)生活中的活動(dòng),我們正式開(kāi)始吧。
  說(shuō)到Android的Activity,它到底是個(gè)什么東西呢? 它就是Android系統(tǒng)中的一個(gè)組件,專(zhuān)門(mén)負(fù)責(zé)與用戶(hù)交互的,用戶(hù)看到的每一個(gè)界面就是一個(gè)活動(dòng)。
  在A(yíng)ndroid中,Activity有基本的四種狀態(tài)
    1.運(yùn)行狀態(tài)  active/running
        處于屏幕的最前端或者正在和用戶(hù)交互著,稱(chēng)為運(yùn)行狀態(tài)/激活狀態(tài)
    2.暫停狀態(tài)  Paused
        當(dāng)前activity失去焦點(diǎn),被一個(gè)窗口或者非全屏的東西遮住一點(diǎn)點(diǎn)和被另一個(gè)透明的activity覆蓋的時(shí)候,稱(chēng)為暫停狀態(tài)
    3.停止?fàn)顟B(tài)  Stoped
        當(dāng)前activity完全看不到了,稱(chēng)為停止?fàn)顟B(tài)
    4.殺死狀態(tài)  Killed
        當(dāng)activity處于“暫停狀態(tài)” Or “停止?fàn)顟B(tài)”,這時(shí)候系統(tǒng)就可以對(duì)當(dāng)前的activity從內(nèi)存中刪除或者終止它的進(jìn)程,還有就是當(dāng)系統(tǒng)內(nèi)存不足的時(shí)候也會(huì)執(zhí)行前者動(dòng)作。

看電影


如果看完上面的還不能理解,那么你就可以理解為看電影,那部電影就是當(dāng)前的activity.
    1.電影正在播放的時(shí)候,稱(chēng)為運(yùn)行狀態(tài)
    2.當(dāng)我們點(diǎn)擊暫停按鈕的時(shí)候,屏幕不是變暗了嗎?或者出現(xiàn)一個(gè)小廣告,這個(gè)就可以理解為被另一個(gè)全屏透明的東西遮住和非全屏的小廣告,這個(gè)就是暫停狀態(tài)了
    3.看港劇看多了,不想看了,就換部日本動(dòng)作片來(lái)看,這時(shí)港劇不是看不到了嗎?或者電腦直接黑屏了,反正看不到港劇,也就是當(dāng)前的activity。這些都可以稱(chēng)為 停止?fàn)顟B(tài)
    4.就是不想看電影了,直接手動(dòng)把播放器關(guān)掉,處于暫?;蛘咄V?fàn)顟B(tài),內(nèi)存不足的時(shí)候系統(tǒng)會(huì)自動(dòng)關(guān)掉播放器
還不明白話(huà),先不用鉆牛角尖,先往下看,往后會(huì)慢慢的明白的.........

Activity該誰(shuí)來(lái)管?


activity是由棧來(lái)管理的,先進(jìn)后出,后進(jìn)先出。每一個(gè)用戶(hù)能看到的activity都是處于棧頂?shù)?,?dāng)內(nèi)存不足的時(shí)候,棧里面最底下的那個(gè)activity就會(huì)被回收,直接上圖最明了
[img]http://images.cnitblog.com/blog/549384/201501/061610452652070.png

它又是怎么個(gè)生老病死的呢?(生命周期)


  這個(gè)我就不多說(shuō)了,直接開(kāi)始..
  官方生命周期圖,LP動(dòng)了點(diǎn)手腳:
  [img]http://images.cnitblog.com/blog/549384/201501/061647315313944.png
圖看完了,緊接著是代碼:
[img]http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif[img]http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif
 1 package com.leo.writeblog;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.util.Log;
 6 
 7 public class MainActivity extends Activity {
 8     private final String TAG = "MainActivity";
 9     @Override
10     protected void onCreate(Bundle savedInstanceState) {
11         super.onCreate(savedInstanceState);
12         setContentView(R.layout.activity_main);
13     }
14     @Override
15     protected void onStart() {
16         super.onStart();
17         Log.i(TAG, "onStart");
18     }
19     @Override
20     protected void onResume() {
21         super.onResume();
22         Log.i(TAG, "onResume");
23     }
24     @Override
25     protected void onRestart() {
26         super.onRestart();
27         Log.i(TAG, "onRestart");
28     }
29     @Override
30     protected void onPause() {
31         super.onPause();
32         Log.i(TAG, "onPause");
33     }
34     @Override
35     protected void onStop() {
36         super.onStop();
37         Log.i(TAG, "onStop");
38     }
39     @Override
40     protected void onDestroy() {
41         super.onDestroy();
42         Log.i(TAG, "onDestroy");
43     }
44 }

View Code
首次運(yùn)行的日志如下:
[img]http://images.cnitblog.com/blog/549384/201501/061703147503584.png
按返回鍵退出的時(shí)候日志如下:
[img]http://images.cnitblog.com/blog/549384/201501/061704408127992.png
按小房子鍵的時(shí)候日志如下:
[img]http://images.cnitblog.com/blog/549384/201501/061708174539972.png
從新返回應(yīng)用程序的時(shí)候日志如下:
[img]http://images.cnitblog.com/blog/549384/201501/061709321711846.png
還有就是當(dāng)activity還可見(jiàn)的時(shí)候,也就是彈出小窗口,或者透明的activity的時(shí)候,只會(huì)執(zhí)行 onPause方法,當(dāng)activity再次獲得焦點(diǎn)后就執(zhí)行onResume
onCreate:activity第一次運(yùn)行的時(shí)候才調(diào)用,而且只調(diào)用一次
onRestart:activity不可見(jiàn)后恢復(fù)可見(jiàn)時(shí)調(diào)用
onStart:activity可見(jiàn)的時(shí)候調(diào)用
onStop:activity不可見(jiàn)的時(shí)候調(diào)用
onResume:activity獲取焦點(diǎn)時(shí)調(diào)用
onPause:activitiy失去焦點(diǎn)時(shí)調(diào)用
onDestroy:activity銷(xiāo)毀時(shí)調(diào)用

啟動(dòng)模式


說(shuō)到啟動(dòng)模式,它一共有四種,分別是standard、singleTop、singleTask、singleInstance,可以在A(yíng)ndroidManifest.xml文件中通過(guò)<activity>標(biāo)簽中的android:launchMode屬性來(lái)選擇啟動(dòng)模式。
standard:
    這種模式是標(biāo)準(zhǔn)啟動(dòng)模式,也是默認(rèn)的啟動(dòng)模式,在不進(jìn)行顯式指定的情況下,所有活動(dòng)都會(huì)自動(dòng)使用這種模式
singleTop
    當(dāng)啟動(dòng)模式為singleTop時(shí),在啟動(dòng)活動(dòng)的時(shí)候如果發(fā)現(xiàn)返回棧的站定已經(jīng)是該活動(dòng),那么就直接使用,不必再創(chuàng)建
singleTask
    當(dāng)啟動(dòng)模式為singleTask的時(shí)候,每次啟動(dòng)活動(dòng)都會(huì)在返回棧中檢查是否存在該活動(dòng),如果存在,并發(fā)活動(dòng)之上的活動(dòng)統(tǒng)統(tǒng)出棧,否則就創(chuàng)建一個(gè)
singleInstance
    啟動(dòng)模式 為singleInstance,這時(shí)會(huì)單獨(dú)創(chuàng)建一個(gè)返回棧來(lái)管理這個(gè)活動(dòng),這樣可以達(dá)到程序與程序之間共享活動(dòng)

該如何去使用它?


我們?cè)趧?chuàng)建activity的時(shí)候必須繼承Android自帶的Activity,在使用時(shí)必須要在A(yíng)ndroidManifest.xml文件中注冊(cè),如下:
[img]http://images.cnitblog.com/blog/549384/201501/061720281255915.png

它們兄弟之間是怎么交流的呢?


是通過(guò)意圖(Intent)進(jìn)行通訊,數(shù)據(jù)傳輸,開(kāi)啟活動(dòng)
什么是意圖呢?
其實(shí)它就像我們生活中的快遞員,負(fù)責(zé)幫我們送東西,Android系統(tǒng)里的意圖就是上演著這個(gè)角色...
它可以與不同程序的活動(dòng)交流,也可以啟動(dòng)不在同一個(gè)程序中的活動(dòng)......等等一些,這里我就不做多介紹了,需要往下了解的可以到網(wǎng)上查下資料
其他精彩文章文章

jQuery教程(10)-DOM樹(shù)操作之內(nèi)容setter和getter方法

android學(xué)習(xí)筆記(37)使用 DatePickerDialog、TimePickerDialog


android學(xué)習(xí)筆記(36)使用AlertDialog創(chuàng)建自定義對(duì)話(huà)框


jQuery教程(1)-操作DOM之操作屬性

Spring mvc新手入門(mén)(11)-返回json 字符串的其他方式


更多關(guān)于android開(kāi)發(fā)文章


相關(guān)案例查看更多