Videos
Tools & Code
- Android Studio: Free tool based on IntelliJ for developing Android applications. Works under most PC OS's.
- Running Plain Old Java code in Android Studio
- Suggested Java code style guide.
- Intro Java chapter if you want a brief guide to Java for programmers.
- IntelliJ: Optional tool: Free IDE for developing Java applications; get Community Edition. Works under most PC OS's.
Android Tutorials
Basic Android Videos
- Creating a button: Create simple project and add a button calling Log and Toast.
- Using EditText and TextView, shows button with lambda-function
- TextView and strings.xml: Move text to strings.xml, use Java to access string and display on TextView.
- Debugging in Android Studio
- Switching activities in Android Studio. Here is a previous version of this video..
- Floating Action Button & Material Design icons
- Constraint Layout
- Old video on nesting UI Layouts.
- Forcing activity orientation (to portrait or landscape mode).
- UI & model separation: Separate business logic (Java classes) from the UI (Activities); a pet rock.
Highly recommended! - ImageButton.
- Resource by Name: accessing a resource (image) by its name, not its ID.
- Context menu.
- Trouble shooting: resource problems, Java problems, cleaning a project, and working with R file problems.
- ListView: basic ListView with text (from an Array).
- Complex ListView: ListView with text and images from an list of objects (source code).
- AppBar (also called ToolBar or ActionBar)
- Passing data to an Activity using Extras in an Intent. [Old video]
- Returning data from an Activity using Extras in an Intent. [Old video]; source code.
- Dynamic Buttons and Images: populating a table of buttons at runtime and setting text and images on the buttons. (source code).
- Google Maps API Getting Started: Getting an API key and app showing map.
- Google Maps API v2: Getting started, and moving the camera (source code).
- Intro to Google Maps API tutorial.
- Internationalization: Translating to multiple languages (source code).
- Radio Buttons: build radio buttons from data in a resource file.
- Options Screen: create custom options/settings screen with SharedPreferences.
- SharedPrefernces and TextView.
- Dialog (AlertDialog): create a custom AlertDialog and interacting with parent Activity.
- Read CSV file: Read in a CSV file from the raw resource directory into Java objects.
- Create a Pie Graph: Using the MPAndroidChart library, create a pie graph.
Database on Android
- SQLite database: simple example (source code).
- DB to ListView: Populate a complex ListView with text & image IDs from the SQLite database (source code).
Application Server with Android
- Web user interface for the project server. Great for debugging.
- AsyncTask for processing on background thread.
- Android client to download data using a background thread.
- Android client to create/update data.
Testing
- JUnit 5: Setting up JUnit 5 in Android Studio Project
- JUnit 5: Setting up JUnit 5 in IntelliJ Java Project
- JUnit 5: Testing
- JUnit 4 in IntelliJ: Quick introduction (not Android specific).
- JUnit 4 with Exceptions and Ignore (not Android specific).
- Creating a Java project for JUnit 3 (not Android specific).
- Creating a Robotium test project.
Intro Java Programming
- Basics: main(), functions, if, for loop
- Data class (fields, constructor, toString()...)
- ArrayList and For-Each loop
- Model/View Separation
Revision Control
Git Videos
- Android Studio / IntelliJ
- Git in Android Studio: Creating a GitLab repo, SSH key, and initial push of code.
- Clone Git repo in Android Studio: Cloning an existing Git (or GitLab) repo via Android Studio.
- Git Merge Conflicts in Android Studio: Resolving merge conflicts.
- GitLab workflow with Merge Request: Creating an issue, feature branch, switching branches, commit/push, merge request.
- GitLab workflow with Conflicting Changes: Resolving conflicting changes before submitting a merge request in Android Studio with GitLab.
- Eclipse (EGit)
- Git Overview: Introduction to basic parts of working with Git in Eclipse.
- Create Git Repository: Check-in an existing project into a new Git repository on GitHub.
- Checkout from Git: Check-out an existing project from a Git repository onto your local computer.
- Changes in Branches: The standard workflow of making changes in topic branches, merging, and pushing.
- Pushing changes between repositories with EGit
Spring Boot
- Getting started with Spring Boot in IntelliJ.
- Creating a REST API with Spring Boot in IntelliJ.
- Using Postman to test a REST API.
- Using Postman variables in queries.
SVN Videos
- SVN Demo (basic): install, share, commit, update, check-out new project.
- Ignore bin/ and gen/ folders in project.
- SVN Demo (merge): project checkout, non-conflicting changes, merging conflicting changes, docs/ folder.
Miscellaneous Videos
- Clean Android Studio project: How to clean and zip an Android Studio project for emailing/submission.
- Running a Java application from the IntelliJ build-in terminal.
- Export ZIP from Eclipse: How to export a project as a ZIP file from inside Eclipse.
- JUnit videos: basic, and more (exceptions, coverage,...).
- Run Java JAR from IntelliJ Terminal: How to make a Jar file in IntelliJ, then run it via built-in terminal with external dependencies.
- Deserializing JSON with GSON: What is JSON and how to deserialize a file.
Solving build problems with Eclipse after importing project
After importing the project, if you get the error "Unable to resolve target 'android-XX'", then:
- Right click the project, select Properties.
- Under Android, select a version of Android that you have installed, click OK.
- On the Project menu, clean your project to trigger a full rebuild.
Other Links
- Student Apps on Play Store: You may request your app be posted to the Google Play store. See the guide to listing application on Google Play store.
- Google Coding Interview: Sample video mocking a Google codinc interview.
- Humourous video on requirements gathering.