This team annually develops a professional, scouting app for this year's game.
Team Mentor
Student Members
General:
Use Android Studio! It is by far the easiest way to create Android Apps!
Go through the android developer tutorial! It goes over everything you need from creating a GUI to saving data.
GUIs:
Do not use Android Studio's drag and drop widget feature to create a GUI because it hardcodes values instead of using ratios which is bad practice! (This would make the app appear differently on different devices based on the screen size.)
Use XML to create static layouts (layouts that will stay the same) and Java to create dynamic layouts (layouts that will or may change).
Saving Data:
Save to the external storage and not internal (Android names part of internal storage as external storage so that a device without physical external storage will always be able to store data in "external storage". Beware of this!)
When you create a new file, you have to tell the Android operating system that there is a new file. If you do not do this, it will appear as if the program is running smoothly until you try to access the files on a computer; the files do not show up on device viewer! I was able to tell Android that there was a new file created using this code:
ApplicationContextProvider.getContext().sendBroadcast(
new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
Uri.fromFile(writeFile)));
where writeFile was the file I just saved. (The full code can be seen through this Wiki here.
Use a library like GSON which makes serialization and deserialization a breeze!
Although GSON will make a JSON file, you still need to represent the code in a human readable format! For this, I use CSV which I create without the help of a library. I saved individual matches in CSV files and I created a file called SUPER_FILE which combines the CSV files into one large spreadsheet. This spreadsheet shows every team and all the teams' statistics so someone can quickly retrieve general information.
Distribution:
Instead of distributing via cable, upload the apk--which can be found in the Android Studio Project files--to google drive so scouts can download and install it on their phones. This is faster and less error-prone.