Language:EN
Pages: 14
Words: 2321
Rating : ⭐⭐⭐⭐⭐
Price: $10.99
Page 1 Preview
select listview and enable the customlistview prop

Select listview and enable the customlistview property

Language Learning Flashcards App: Develop an app that helps users to learn different languages using flash card.

Introduction:

The Language Learning Flashcards App is an Android application developed using MIT App Inventor. It aims to help users learn new words and phrases in a foreign language by using flashcards. The app will allow users to create decks of flashcards, add words and their translations to the cards, and practice with interactive quizzes. By leveraging the capabilities of App Inventor, we can create an effective and user-friendly app that facilitates language learning through spaced repetition and interactive exercises.

Here's a breakdown of the UI components:

1. Custom ListView: To display flashcard decks with their names and the number of cards in each deck.

The Language Learning Flashcards App requires data storage to manage user accounts, flashcard decks, and the content of each flashcard. For this project, we'll use Firebase as the backend to handle user authentication and database storage.

To implement data storage:

// Assuming you have TextBox components named "TextBox_Email" and "TextBox_Password"

// And a Firebase Authentication component named "FirebaseAuth"

Set password to TextBox_Password.Text

// Create a new user account using Firebase Authentication

// And a Firebase Authentication component named "FirebaseAuth"

// When the "Log In" button is clicked

// Log in with the user's credentials using Firebase Authentication

Call FirebaseAuth.SignInWithEmailAndPassword email password

1. Add a new screen to your app and name it "Screen_CreateDeck."

2. Design the "Screen_CreateDeck" to include an input field for the deck name and buttons to save and cancel the creation.

// When the "Save Deck" button is clicked

When Button_SaveDeck Click

// Append the new deck to the "FlashcardDecks" list

Add ItemsToList FlashcardDecks newDeck

To allow users to add flashcards to a deck, we'll create a separate screen where they can input the word and its translation. When the user adds a flashcard, it will be added to the corresponding deck in the "Cards" list.

To implement adding flashcards:

// Assuming you have TextBox components named "TextBox_Word" and "TextBox_Translation"

// And a global variable named "selectedDeckIndex"

Set word to TextBox_Word.Text

Set translation to TextBox_Translation.Text

// Append the new card to the "Cards" list of the selected deck

Add ItemsToList selectedDeck["Cards"] newCard

```

Step 5: Displaying Flashcards

3. Design the custom layout for each deck item in the list. Include a label to display the deck name and the number of cards in the deck.

4. In the Blocks view, use the "when FirebaseDB.GotValue" event to fetch flashcard deck data from the Firebase Realtime

// When the app starts or resumes

When Screen1.Initialize

```blocks

// Assuming you have a Custom ListView named "ListView_FlashcardDecks"

// Populate the Custom ListView with flashcard decks

For each item deck in FlashcardDecks

// Custom function to add a flashcard deck to the ListView

Define AddFlashcardDeckToListView(deck)

End

```

2. On the main screen, use the "when ListView_FlashcardDecks.AfterPicking" event to detect when the user selects a deck from the Custom ListView.

```blocks

// Get the deck data from the metadata of the selected row

Set selectedDeck to GetMetadata ListView_FlashcardDecks selectedDeckIndex

```

3. On the "Screen_FlashcardViewer," use labels to display the word and translation of the current flashcard. Use the SwipeDetector to detect swipe gestures and navigate through the flashcards.

// When the app starts or resumes on the "Screen_FlashcardViewer"

When Screen_FlashcardViewer.Initialize

End

```

Set flashcards to selectedDeck["Cards"]

Set currentFlashcard to GetListItem flashcards index

Call SwipeDetector_Flashcards.Reset

End

When SwipeDetector_Flashcards.SwipeLeft

// Increment the current card index

Call DisplayFlashcardByIndex currentCardIndex

Else

End If

End

When SwipeDetector_Flashcards.SwipeRight

// Decrement the current card index

Call DisplayFlashcardByIndex currentCardIndex

Else

End If

End

1. Add a new screen named "Screen_Quiz."

2. On the "Screen_Quiz," use labels to display a random flashcard word or translation and an input field for users to enter the correct translation or word.

// And a global variable named "quizMode" (0 for word-to-translation, 1 for translation-to-word)

// When the app starts or resumes on the "Screen_Quiz"

Call DisplayQuizFlashcard

End

// Get a random flashcard from the selected deck

Set flashcards to selectedDeck["Cards"]

// Word-to-translation quiz mode

Set Label_QuizFlashcard.Text to quizFlashcard["Word"]

If

// Clear the user's answer input field

```blocks

// Assuming you have a label named "Label_Result"

// Get the correct translation or word from the quiz flashcard

Set correctAnswer

// Translation-to-word quiz mode

Set correctAnswer Get quizFlashcard "Word"

Set Label_Result.Text to "Correct!"

Else

Wait 2 seconds

Call DisplayQuizFlashcard

You are viewing 1/3rd of the document.Purchase the document to get full access instantly

Immediately available after payment
Both online and downloadable
No strings attached
How It Works
Login account
Login Your Account
Place in cart
Add to Cart
send in the money
Make payment
Document download
Download File
img

Uploaded by : Elias Manchus

PageId: DOCB38E8AE