Skip to content

An open-source Android app for exploring NASA's Image, Video, and Audio Library. Features include search, media type filtering, video/audio playback with caching, image zooming, and more. Built with modern Android components and libraries.

License

Notifications You must be signed in to change notification settings

ahmadrezagh671/NASA_Media_Explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

NASA Media Explorer

⚠️ Note: This app is currently in active development and is expected to be released in a couple of weeks. Stay tuned for updates!

NASA Media Explorer is an open-source Android application that allows users to explore NASA's vast Image, Video, and Audio Library in a user-friendly interface. The app leverages NASA's public API to provide a seamless experience for discovering and interacting with space-related media content.

Features

  • Search: Use a SearchView to browse NASA's media library.
  • Filter Media Types: Filter results by media type (Image, Video, Audio).
  • Video Playback: Play videos with caching using Media3 ExoPlayer.
  • Audio Playback: Play audio files with MediaSessionService for background playback.
  • Image Zooming: Pinch-to-zoom functionality for images using the Zoomy library.
  • Pull-to-Refresh: Refresh media lists using SwipeRefreshLayout.
  • Responsive UI: Built with RecyclerView, CardView, ConstraintLayout, and LinearLayout for a smooth user experience.

Screenshots

Below are some screenshots showcasing the app's interface:

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 7
Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 8

Dependencies

The app uses the following libraries:

  • Volley: For making HTTP requests to NASA's API.
  • Gson: For parsing JSON responses from the API.
  • Glide: For efficient image loading and caching.
  • SwipeRefreshLayout: For pull-to-refresh functionality.
  • Zoomy: For pinch-to-zoom functionality on images.
  • Media3-ExoPlayer: For video playback with caching.
  • Media3-UI: For ExoPlayer UI components.
  • Media3-Session: For audio playback with MediaSessionService.

Components Used

  • SearchView: For searching NASA's media library.
  • SwipeRefreshLayout: For refreshing media lists.
  • RecyclerView: For displaying media items in a scrollable list.
  • CardView: For styling media items.
  • ConstraintLayout & LinearLayout: For responsive layouts.
  • Service: For background audio playback via MediaSessionService.
  • CacheDataSource: For caching video content in Media3.
  • CircularProgressDrawable: For loading indicators in SwipeRefreshLayout.

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/.....
  2. Open in Android Studio:
    • Open Android Studio and select Open an existing project.
    • Navigate to the cloned repository folder.
  3. Build and Run:
    • Sync the project with Gradle.
    • Build and run the app on an emulator or physical device (API 28+).

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • NASA Open APIs for providing access to their media library.
  • The open-source community for the amazing libraries used in this project.

About

An open-source Android app for exploring NASA's Image, Video, and Audio Library. Features include search, media type filtering, video/audio playback with caching, image zooming, and more. Built with modern Android components and libraries.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published