Template for Multi-Layered
Language Learning Resources
(Android App)*

*Currently under construction.


This is a template you can use to build your own Android app for the language you are working on. The template is open-source which means anyone can use it, and it does not cost anything. I recommend having a look at the example (jano sho:jin - Northern Pomo) app, located on the bar above, before proceeding so that you are familiar with the layout and functionality of the app.

Making Changes to the Template

This documentation details the components found in the template. In order to effectively set up the template, your team should include someone who is familiar with Android development.

Download the files in the header above. First, place the images into the drawable folder - it contains images for the quiz section, as well as the menu icons. The files are organized in the three folders: src, menu, and layout. Src contains all the .java files, menu contains .xml files.

  • AboutActivity.java: Contains code (incl. text) for the About page.
  • ContactActivity.java: Contains code (incl. text) for the Contact page.
  • CustomGridAdapter.java: Contains (1/2) code for uploading images in a grid. Do not change.
  • GridActivity.java: Contains (2/2) code for uploading images in a grid. Do not change.
  • Item.java: Contains class of word object with image, title, and string. Do not change.
  • MainActivity.java: Contains code for viewing grid of images. Do not change.
  • MenuActivity.java: Contains code for main menu.
  • QuizActivity.java: Contains code for the quiz. Do not change.
  • ResultActivity.java: Contains code for word entry view. Do not change.
  • Word.java: Contains all the data. This will be discussed more in-depth later.

  • activity_about.xml: Layout of about page.
  • activity_contact.xml: Layout of contact page.
  • activity_menu.xml: Layout of menu page. Do not change.
  • activity_result.xml: Layout of word entry page. Do not change.
  • row_grid.xml: Layout of grid of images. Do not change.
  • about_actions.xml: Menu for the about page. Do not change.
  • grid_activity_actions.xml: Menu for the grid page. Do not change.
  • main_activity_actions.xml: Menu for the ???. Do not change.
  • main.xml: Main menu. Do not change.
  • quiz_activity_actions.xml: Menu for the quiz page. Do not change.
  • result_activity_actions.xml: Menu for the word entry page. Do not change.

The first thing you may want to do is change the background. The background provided in the file is just a white background. The name of the background image should be bacground. Then, I recommend going through the .java files and making changes there, except the Word.java - this will be discussed in the next section. You may need to change the layouts in order to suit your needs, and to be compatible with the different variety of Android screen sizes that currently exist in the market. Unfortunately, I am unable to guide you through the process, and it may perhaps be best done by trial and error, or experience. Although I indicated which files shouldn't be changed, feel free to make changes - they're yours!


All the information regarding the data is kept in the Word.java file. The Word.java stores the category names, the words in the language you are working on, the translation, the name of the word image file, the name of the sound file, and the description. It also stores the name of image file for the categories, and the quiz categories. For each data type, and each method, there is a comment with a brief description. Please read through the file, and then follow the steps here to efficiently enter in your own data. Once you have done that, look at the result.txt file, and replace the pieces of code that correspond in the Word.java file. Be sure to save all images and sound files in the /drawable and /raw folders, respectively, found within the /res(ources) folder.

Frequently Asked Questions

Under construction...

Good luck!