Android Projects for Udacity Android Developer
Built mobile apps
- Naturalist Hike Assistant (My capstone project)
- Weather 4 WatchFace (App for Android Watch Face)
- XZY Reader (Material Design)
- Build It Bigger (App commercialization)
- Stock Hawk (Turn a Crashing App into a Product)
- Movie Fun (App for Android phone and tablet)
Naturalist Hikers Assistant helps hikers prepare for the hike, assists hikers during hiking and helps hikers reviewing their observation. However, the capstone project focuses on pre-trip preparation. See details of capstone project in the document.
Android watch face app that shows weather info. The watch face couples with Sunshine phone app. Features:
- The background color of watch face could be changed at app.
- The temperature could be displayed in metric or imperial.
- The Sunshine app fetches weather info periodically and update the watch after sync.
- The display of watch face has normal, ambient and low-energy modes, see screenshots.
- Tapping watch face 2 times launches Sunshine app at phone.
![]() |
![]() |
![]() |
![]() |
![]() |
| connected to phone round face |
blue background round face |
ambient mode round face |
save mode square face |
no weather info square face |
Redesign the app UI to comply with material design. The comparison of before and after redesign (not able to show the added material design style animations)
The Original App Screens
![]() |
![]() |
My Material Design App Screens
| Views | Portait | Landscape |
|---|---|---|
| Catalog | ![]() |
![]() |
| Detail | ![]() |
![]() |
| Full Image | ![]() |
![]() |
Learn how to add aDworks in Android app:
- Free and paid versions
- Google banner image ads and interstitial image ads
The app fetches a joke from GCE, which randomly selects a joke from a joke list. If the app failed to obtain a joke from GCE, it asks a joke from a java library included in the project.
The project starts with base code that is not production ready: limited function, occasional crash, etc. Improvements:
- Added a detail fragment that contains stock history in a graphic plot. The detail fragment is attached on top of main activity.
- The fab button alternate between add, for adding stock, and collapsing for remove detail fragment.
- Added collapsible toolbar with an image beautifies the app.
- The UI design follows material design principles.
- Added widget.
- Added Right to Left capability for internationalization
- Improved accessibility.
- Redesign all UI, including logo and widget.
- Fixed bugs and tighten up the app for production
Screen comparison of before and after:
The Original App Screens
![]() |
![]() |
My Re-implemented App Screens
![]() |
![]() |
![]() |
![]() |
| Portait Normal "+" for add |
Portait Detail | Add Stock Dialog | in Arabic |
![]() |
![]() |
![]() |
![]() |
| Landscape Normal | Landscape Detail | Stock History Range | Widget |
Created the app from scratch. Utilize Android components: RecyclerView, ContentProvider, SyncAdapter and more. Support various android device screen sizes and orientations.
Tablet (1 screen 2 panes)
| Landscape | Portrait |
|---|---|
![]() |
![]() |
Phone (1 pane 2 screens)
| Orientation | Screen 1 | Screen 2 |
|---|---|---|
| Portrait | ![]() |
![]() |
| Landscape | ![]() |
![]() |






































