App Inventor 中的變數和清單

  • 瞭解如何使用變數在應用中存儲數據
  • 瞭解如何將數據組織到清單中
  • 在應用中使用變數和清單

以下是本課的活動:

存儲數據

當您編寫應用程式時,通常需要在應用程式中存儲、更新和訪問一些資訊或數據。

執行應用程式可能需要 3 種類型的資料:

變數

在應用程式運行時存儲資訊。

例如,使用者名或遊戲分數。

本地存儲

在行動裝置上儲存資訊,以便在每次執行應用程式時檢索。

例如,用戶位址或高遊戲分數。

雲存儲

將資訊存儲在 Web(雲)上,以便所有應用程式使用者都可以訪問資訊。

例如,遊戲排行榜或聊天消息。

在本課中,我們將重點介紹如何使用變數在應用中存儲數據。

變數

編碼中最重要的概念之一是變數變數 是一段可以更改的數據的名稱。一個容易記住的方法是,變數的值可能會 變化或變化。

每天都有很多對你來說很重要的信息,這些資訊會改變價值。以下是一些範例:

生日蛋糕和蠟燭
你的年齡
雲與雨滴
天氣
月曆
今天的日期

變數 就像一個盒子,你可以在裡面存儲資訊。

  1. 您可以 給盒子貼上標籤或命名 ,以記住裡面的內容。
  2. 當您需要資訊時,您可以打開盒子並 獲取裡面的東西。 
  3. 您也可以更改盒子 內的內容 ,但保留外面的相同名稱。

 

變數存儲在盒子中的動畫

APP INVENTOR 變數

變數 用於在應用程式運行時儲存資訊。  

所有變數塊都可以在變數抽屜中找到。 

App Inventor 變數抽屜

變數有三個基本塊。在下面的標籤中了解它們。

initialize 塊在您的應用程式中為您的變數留出存儲空間。給它起一個有用的名字。

 

初始化變數塊 App Inventor

在這裡,變數 numberOfLessons 被初始化為 0,可能是為了跟蹤在教育應用程式中已完成的課程數量。

set 塊允許您設定或更新變數的值。

 

在這裡,獲取當前值並將變數設置為當前值 + 1。因此,如果 numberOfLessons 為 2,則新值將為 3。

get 塊允許您獲取變數的當前值。

在這裡,get 塊用於將課程數插入到句子中,以便在 Label1 中顯示。
獲取 Join 塊中使用的變數塊
 
這裡它用於獲取當前課程數,以在條件塊中測試它是否為零。
if 阻止 App Inventor
 
 
 

清單

在構建應用時,您可能會發現需要在應用內訪問多個數據。

例如,您的應用可能需要訪問該應用的所有使用者名,而不是一個使用者名。或者,也許您的應用程式都是關於動物的,因此必須存儲多個動物名稱和圖像。

在 App Inventor 中,您可以使用稱為清單 的東西來組織程式中的多個數據項。其他程式設計語言稱它們為陣列,但它們本質上是一回事。 

你以前可能做過一個待辦事項清單或購物清單,程式設計中的清單非常相似。

購物清單在紙上,上面有筆
App Inventor 中的清單選項板

清單可通過 Blocks Editor 中的 Built-in blocks palette 訪問。有幾個塊允許您在清單中創建、存儲、檢索和更新專案。

您可以將清單儲存在變數中,因此可以為清單命名。

在 App Inventor 中初始化清單

每當您有多個相關的資訊時,您都應該使用清單。

例如,如果您想顯示遊戲的前 10 個高分,您可以創建 10 個變數,其名稱類似於 HighScore1、HighScore2HighScore3 等,直到您到達 HighScore10

首選操作是創建一個名為 HighScores 的清單,以保存所有 10 個高分。使用單個清單可以更輕鬆地訂購、更新和添加高分。

App Inventor 中的變數與清單

清單中的每個專案都有一個索引,該 索引是其在清單中的位置,允許您從清單中檢索該專案。

例如,在下面的塊中,索引 2 指向「水果」清單中的第 2 項。因此,Label1 將顯示「香蕉」。

在 App Inventor 中初始化清單
從清單中選擇

您還可以添加、刪除和取代清單中的內容。 

如果你拿的是 [Apples, Bananas, Oranges] 的原始 Fruits 清單,你能猜出在你運行下面的塊后,按照它們的順序,Fruits 清單將包含什麼嗎?

在 App Inventor 中初始化清單

最佳實踐 變數這個詞是學生較難學習的主題之一。盒子類比真的很有説明,所以如果你必須做一些現實生活中的盒子標籤來說明事情,這可能是一個好主意!

要向學生提出的指導性問題:

你認為除了清單或變數之外,還有其他方法可以存儲數據嗎?如果您想將兩個值放在一起怎麼辦?就像我想要一個清單,列出我有多少個柳丁和多少個蘋果,像這樣:
柳丁: 3
蘋果: 5

我想以某種方式存儲它。這是一個更複雜的清單。它幾乎就像一個清單,其中的值像這樣連結在一起:
柳丁 -> 3
蘋果 -> 5

箭頭有一個方向,所以我們稱之為地圖!還有很多其他數據結構!你能找到其他的嗎?

為表現出色的學生提供高級知識:如果您的一名學生對進行更多非塊編碼的編碼感興趣(例如:繼續使用 Python 或 Javascript 編碼),您可以向他們解釋編碼語言更關心盒子里的內容。例如,數字的處理方式與單詞中的字元不同。像 Python 和 Javascript 這樣的語言對於如何儲存數位和字元非常挑剔,因為它們是您可以在變數中存儲的不同“類型”。你可以打個比方,你使用不同類型的盒子來存放東西:你的剩菜剩飯必須放在一個專門的剩菜盒子(特百惠)里,然後當你移動時,你的東西必須放在一個移動的盒子里(紙板箱)。python 也是如此。數位進入數位框,字元進入字元框。

導師提示由 AmeriCorps 提供支援。

程式化的 A,海軍藍的 AmeriCorps 標誌

活動:完成測驗應用程式

預計時間:45 分鐘

使用變數和清單完成代碼

按照工作表中的說明製作一個測驗應用程式,以測試使用者對您選擇的主題的知識。
打開工作表

反射

 

在本課中,您學習了如何在應用中存儲資訊,以及如何在清單中使用大量資訊。請考慮以下問題:

用數據位進行反射
您需要在應用中儲存哪些資料?
如何在應用中包含清單?

關鍵術語的審查

變數– 一種在應用程式中命名和訪問資訊的方法

清單  – 一種在 App Inventor 中組織多個數據的方法

索引  – 一個數字,告訴您一段資料在清單中的位置

Array – 除 App Inventor 和 Thunkable 之外的程式設計語言中清單的通用名稱

其他資源

ListView 元件允許:

  • 在應用中顯示清單元素
  • 用戶在清單中選擇一個專案。
  • 對使用者選擇專案時要執行的操作進行編碼

觀看此視頻,快速演示其使用方式: