1. 程式人生 > >Android 第一行程式碼(第二版)學習筆記(一)

Android 第一行程式碼(第二版)學習筆記(一)

onCreate()  活動第一次被建立的時候呼叫;

onStart()   活動將要展示在前端時呼叫

onResume()  處於執行狀態,並且可以跟使用者互動

onPause()   活動即將從前臺退出

onStop()  活動完全不可見

onDestroy()   被銷燬之前

onRestart()   重新執行之前

活動的4種啟動模式:standard、singleTop、singleTask、singleInstance

可以通過android:launchMode屬性來選擇

1、standard(預設)

   每當啟動一個新的活動,它就會在返回棧中入棧,並處於棧頂的位置,系統不會在乎這個活動是否已經在返回棧中,每次啟動都會建立該活動的一個新的例項

2、singleTop

    在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直接使用它,不糊再建立新的活動例項

但是,當啟動的活動不是處於棧頂,還是會建立新的例項(也就是棧頂之下如果存在該活動,但是棧頂不是該活動的話,依然會建立新的例項)。

該模式可以很好地解決重複建立棧頂活動的問題

3、singleTask

    每次啟動該活動時系統首先會在返回棧中檢查是否存在該活動的例項,如果發現已經存在則直接使用該例項,並把在這個活動之上的所有活動統統出棧,

如果沒有發現就會建立一個新的活動例項。

4、singleInstance

    指定為singleInstance模式的活動會啟用一個新的返回棧來管理這個活動

UI的一些屬性設定

   android:gravity 文字對齊方式

   android:textAllCaps=“false" 關閉Button對所有字母都大寫的設定 

   android:hint 提示性文字

   android:maxLines 最大行數

   style="?android:attr/progressBarStyleHorizontal" 指定ProgressBar為水平進度條樣式

  inflate(int resource, ViewGroup root, boolean attachToRoot)

   inflate()方法一般接收兩個引數,第一個引數就是要載入的佈局ID,第二個引數就是指給該佈局的外部再巢狀一層父佈局,如果不需要就直接傳null。

第三個引數attachToRoot

   1. 如果root為null,attachToRoot將失去作用,設定任何值都沒有意義。

   2. 如果root不為null,attachToRoot設為true,則會給載入的佈局檔案的指定一個父佈局,即root。

   3. 如果root不為null,attachToRoot設為false,則會將佈局檔案最外層的所有layout屬性進行設定,當該view被新增到父view當中 時,這些layout屬性會自動生效。

   4. 在不設定attachToRoot引數的情況下,如果root不為null,attachToRoot引數預設為true。


   這樣就成功建立了一個佈局例項,之後再將它新增到指定的位置就可以顯示出來了。   

相關推薦

Android 第一程式碼(第二)學習筆記()

onCreate()  活動第一次被建立的時候呼叫; onStart()   活動將要展示在前端時呼叫 onResume()  處於執行狀態,並且可以跟使用者互動 onPause()   活動即將從前臺退出 onStop()  活動完全不可見 onDestroy()   被

Android 第一程式碼(第二)學習筆記

本人電腦是Mac mini 4G記憶體,真的小的可以,而且還是不能加記憶體條的那種,不過勉強還是能用。 開發工具用的Android studio 2.3  ,首先Android studio 2.3 官方建議在Mac下記憶體不低於3G,不過 我分配了2點多G用起來出來慢些

Android第一程式碼第二:5.3.2傳送有序廣播,在安卓8上無法接收廣播我個人的處理方法

希望有大佬能教我別的方法,我明前只能想到這個方法啦。多謝! 書上的原始碼是 Intent intent = new Intent("com.example.weiru.broadcasttest.MY_BROADCAST") ; sendOrderedBroadcast

第一程式碼》RecyclerView學習筆記

1、使用 RecyclerView需要一個佈局管理器和一個介面卡 RecyclerView recyclerView=(RecyclerView)findViewById(R.id.recyclerView); Linea

第一程式碼第二第五章的傳送標準廣播小節程式執行未出結果的原因

按著書上的指導把程式碼寫完之後,執行程式,再點選一下Send Broadcast按鈕,卻發現死活彈不出我們在程式碼寫的received in MyBroadcastReceiver這條提示,瞬間鬱悶了,當時想著是不是作者的程式碼沒寫對呢?結果網上各種找原因,終於找到了:一般大

第一程式碼第二ListView的使用(listView複用遇到的坑)

這個複雜又好用的控制元件,說不清是愛是恨。開始學習它吧。 首先當然是建立專案啊,然後修改一下activity_main的佈局檔案,內容如下 <?xml version="1.0" encoding="utf-8"?> <LinearLa

android 第一程式碼學習

一. 開始的 日誌列印 用的是log.v() log.d() log.i() log.w() log.e()沒有用System.out.printIn verbose(冗長的) debug(除錯 的) info (使用者行為資料) warn(告警

Android Studio 手動建立活動(Activity) 第一程式碼 第二

活動概念:是一種可以包含使用者介面的元件,主要用於和使用者進行互動 手動建立活動:新建一個Android專案,專案名為ActivityTest,包名使用預設值com.example.activitytest 1.新建Android Studio專案 點選Start a

Android第一程式碼實驗)活動的最佳實踐

活動的最佳實踐    1.知曉當前是在哪一個活動         這個技巧將教會你,如何根據程式當前的介面就能判斷出這是哪一個活動。  首先需要新建一個 BaseActivity 繼承自

FC 12 第一程式碼Material Design學習總結

Material Design簡介 我為什麼把這一章分成好幾個文章來寫? 遇到的問題及解決方法 這兩天寫的文章的目錄 Material Design 簡介 Material Design 是由Google的設計工程師們基於傳統優秀的設計原則,給豐富的創意和科學

第一代碼》學習筆記——探究活動(未完待續)

over 技術分享 android save 標題欄 toa ack cat name 《第一行代碼》學習筆記 一、探究活動 手動創建活動,不勾選 Generate Layout File 和 Launcher Activity 重寫onCreate()方法(每個活

Android-第一程式碼CoolWeather案例實戰

                                        CoolWeather仿寫 環境資訊            AndroidStudio 3.2      JDK1.8      執行與Android7.1 (專案本身不需要申請許可權)

Android第一程式碼原始碼分享

原始碼介紹:是CSDN部落格專家郭霖寫的書裡面的原始碼例子,適合新手學習,大家可以訂閱guolin大神的部落格,目錄截圖:              本人親測,例子都可以用(下為CoolWeat

Docker技術入門與實戰 第二-學習筆記-9-Docker Compose 專案-1-舉例說明

Docker Compose 是 Docker 官方編排(Orchestration)專案之一,負責快速在叢集中部署分散式應用 Compose 通過一個配置檔案來管理多個Docker容器,在配置檔案中,所有的容器通過services來定義,然後使用docker-compose

Docker技術入門與實戰 第二-學習筆記-8-網路功能network-1-單個host上的容器網路

Docker 中的網路功能介紹 Docker 允許通過外部訪問容器或容器互聯的方式來提供網路服務   1) 外部訪問容器

Docker技術入門與實戰 第二-學習筆記-8-網路功能network-2-相應配置

1) 快速配置指南(詳細使用下面會講) 其中有些命令選項只有在 Docker 服務啟動的時候才能配置,而且不能馬上生效 下面2個命令選項既可以在啟動服務時指定,也可以 Docker 容器啟動(doc

Docker技術入門與實戰 第二-學習筆記-8-網路功能network-3-容器訪問控制和自定義網橋

1)容器訪問控制 容器的訪問控制,主要通過 Linux 上的 iptables防火牆來進行管理和實現。 iptables是 Linux 上預設的防火牆軟體,在大部分發行版中都自帶。   容器訪問外部網路 容器要想訪問

Docker技術入門與實戰 第二-學習筆記-10-Docker Machine 專案-1-cli

Docker Machine 是 Docker 官方編排(Orchestration)專案之一,負責在多種平臺上快速安裝 Docker 環境 Docker Machine是一種工具,它允許你在虛擬主機上安裝Docker引擎,並使用docker-machine命令管理主機。

Python程式設計導論(第二)-學習筆記

語法和語義的差別 例子“ foo = 10 / 'abc' 用字面常量除以字串,==完全符合語法!==;但是不符合語義,因為使用數字除以字串是沒有任何意義的。 Python會進行靜態語義檢查,但是並不會報告全部語義錯誤;它們當中有些情況下會

JavaScript高階程式設計第三學習筆記()之資料型別區分詳談

  null、NaN、undefined三者的區別是什麼?   在初次接觸到JavaScript的時候,傻傻的分不清null、NaN、undefined三者到底區別何在,在實際的專案開發中也因為這個問題而困惑久矣。針對這個問題,我特意查找了多方資料,在筆記本上做了詳細的分析記錄,但是由於紙質資料不便於攜帶、