### Install Debian package Source: https://appinventor.mit.edu/explore/ai2/linux Install the App Inventor setup package using dpkg. ```bash sudo dpkg --install appinventor2-setup_2.3_all.deb ``` -------------------------------- ### Install 32-bit libraries on 64-bit Linux Source: https://appinventor.mit.edu/explore/ai2/linux Required for running 32-bit setup programs on 64-bit systems. ```bash sudo apt-get install lib32z1 ``` -------------------------------- ### Remove App Inventor Classic setup package Source: https://appinventor.mit.edu/explore/ai2/linux Uninstall legacy setup packages to prevent installation conflicts. ```bash sudo apt-get remove appinventor-setup ``` -------------------------------- ### Start aiStarter service Source: https://appinventor.mit.edu/explore/ai2/linux Launch the aiStarter program to enable communication between the browser and the Android device. ```bash /usr/google/appinventor/commands-for-Appinventor/aiStarter & ``` -------------------------------- ### Check for adb.exe Source: https://appinventor.mit.edu/explore/content/windows-drivers Navigate to the App Inventor installation directory and check for the presence of 'adb.exe' using the 'dir' command. This verifies the software installation. ```bash dir ``` -------------------------------- ### Initialize App State and Load Addresses Source: https://appinventor.mit.edu/explore/displaying-maps This procedure sets up the initial state of components and checks the database for stored addresses, defaulting to an empty list if none are found. ```App Inventor Blocks when Screen1.Initialize do set global tagAddress to "Address" if TinyDB1.HasTag(tagAddress) then set global listLocations to TinyDB1.GetValue(tagAddress) else set global listLocations to make a list set ListPicker1.Elements to global listLocations ``` -------------------------------- ### Remove previous App Inventor installations Source: https://appinventor.mit.edu/explore/ai2/linux Clean up existing files before performing a new installation. ```bash sudo rm -rf /usr/google/appinventor ``` ```bash sudo rm -rf ~/.appinventor ``` -------------------------------- ### Initialize Global Lists for Questions and Answers Source: https://appinventor.mit.edu/explore/ai2/quizme Define global variables to store the quiz questions and their corresponding answers. Use 'make a list' blocks to populate these lists with text items. ```App Inventor Blocks initialize global QuestionList to make a list initialize global AnswerList to make a list ``` -------------------------------- ### MIT App Inventor Blocks: App Start Logic Source: https://appinventor.mit.edu/explore/blogs/karen/2016/08/heart Configures the initial state of the app when it starts. It disables the disconnect button and timer, then enables the scan button to initiate the Bluetooth device discovery process. ```blocks when Screen1.Initialize do set btnDisconnect.Enabled to false set Timer1.Enabled to false set btnScan.Enabled to true ```