An Android App, shows Astronomy Picture of the Day, built with :heart: using Flutter.

Documentation ::

  1. This Android App will fetch Astronomy Picture of the Day aka APOD, from an Express App, which is running on a machine in Local Network (in my case).
  2. You might be interested in running that Express App on Cloud or on some remote server, then make necessary changes.
  3. You can find Express App in this repo.
  4. And you will also require to store all APODs in local database.
  5. In my case, I used a PostgreSQL Database.
  6. So, create a SQL database and a table like the following.
  nasa_apod=# \d apod_data
                       Table "public.apod_data"
   Column      |         Type          | Collation | Nullable | Default 
date            | character(10)         |           | not null | 
copyright       | text                  |           |          | 
explanation     | text                  |           |          | 
hdurl           | text                  |           |          | 
media_type      | character varying(25) |           |          | 
service_version | character varying(10) |           |          | 
title           | text                  |           |          | 
url             | text                  |           |          | 

  1. Then go to this repo, and keep downloading all APODs, upto current date.
  2. Don't forget to run daily, so that you keep getting current day's APOD from NASA.
  3. This App lets you download APOD, if and only if it's an image.
  4. You might even consider to use a certain APOD as you wallpaper, which is also feasible from that App.
  5. This app targets API Level 28.
  6. Of course it uses material design.
  7. This app also displays test Ads using Google's Mobile Ad SDK.
  8. You might consider using this app's code as an example for using Ads in your app, so that you can monitize your app.
  9. This app also caches previously queried APOD in local SQLite database using ROOM consistency Library.
  10. So, when previously requested data is available in local database, it will simply use that otherwise it will perform a query to that Express App, which you may find here.

Screenshots ::


Screen Recoring ::

You may like to check this screen recording out.

Get This Source Code on GitHub: