Initial commit - ReadMe.md …

Provides a brief description of the app, the purpose of the repository, suggestions on forking, and some information on the Myth board game and MegaCon's website.
Initial commits - MythTrack Content Provider classes

MythTrackDatabase contains methods for creating, reading, updating, and removing data from the hero and item tables. It contains a subclass that manages the creation and updating of entire tables in the SQLite 3 database.
MythTrackContract is a contract class that defines table and column names, content provider URIs, common projections and selection, and enumeration values for the database.
MythTrackBackup implements the Google Backup API to save and restore the database file.
 Initial commits - strings.xml/styles.xml

Standard Android files. strings.xml defines text strings used in the interface. This is the default English (en-us) locale. styles.xml defines the theme. The base theme is the standard Android "Holo" (dark) theme. The initial version also modifies the appearance of text in the HeroTracker.
Initial commit - AndroidManifest.xml

The standard Android manifest file. Enables Google Backup API. To use this API in a fork you would need to obtain your own private API key and replace "@string/google_backup_api_key". This file also defines the content provider and set attributes for the activities. I use Android Studio and the Gradle build system so the API levels are not defined in this file. For those using Eclipse/ANT or another build system you may need to define minimum and target API levels in this file. I recommend a minimum of 11, but this could be lowered through the use of the support libraries. Currently I am target level 19, again you can choose what works best for what you want to support and can test on. also modifies the appearance of text in the HeroTracker.
Initial commit - dimens.xml

Standard Android dimension XML files.
Initial commits - MainActivity Files

The main activity acts as a starting point for the app. Its interface consists of a list of existing heroes in the database with said list being defined in the HeroList class. It serves as the parent activity to the hero creation and deletion dialogs and passes events between them and the hero list. It also contains menu actions to trigger the item import process.
Initial commits - HeroList Files

The hero list displays and list of existing heroes. It adds an action bar item for creating new heroes as well as contextual action bar when a hero is long-clicked to allow deleting that hero. Both actions are trigger separate dialogs that communicate through the main activity. As heroes are added or removed the list is updated to reflect the changes.
Initial commits - CreateHeroDialog Files

The hero creation dialog is used to add a new hero to the database. The actual database transactions are handle by helper classes. The dialog is tasked with validating user input and triggering the transactions.
Initial commit - DeleteHeroDialog

The hero deletion dialog confirms a user's choice to delete a hero and if accepted, triggers another class to delete the hero from the database.
Initial commits - Hero Files

Hero is the Java object equivalent of one entry in the hero database table. This allows for the data to be used without the performance penalty of database reads and writes. It primarily consists of get and set functions, but does include some supplemental functionality as well. The HeroHelper class is used to move data back and forth between Hero objects and the hero table in the database. It is also used to create and delete entries in the hero table.
 Initial commits - HeroTracker Files

The hero tracker displays information and statistics for a single hero. It allow for changing values which are not fixed by triggering separate dialogs. It will also allow displaying more detailed stat/item information and changing equipment in future revisions.
 Initial commits - Stat Dialog Files

StatPicker is used by the hero tracker to change the value of numerical stats. It presents a number picker with a range based on normal/possible values for the stat.

StatInfoDialog is used to display more detailed information for stats.
Initial commits - Item Files

The Item class is a Java object representation of a single entry in the Item database table, similar to the Hero class/table. Likewise the ItemHelper class is used to fill the item database table, and to retrieve information from it. A major difference from the HeroHelper is that items are fairly static. Once they are created their attributes do not change. The ItemHelper has the ability to add items to the database table from information in a JSON file. The JSON is chosen by another app handling the implicit intent.