⚠️ This project is no longer maintained. It was built in 2014 as a learning project to demonstrate Android development best practices of that era. The code and dependencies are outdated, but the project remains available for reference.
An unofficial Android client for 9GAG, built with Android Studio + Gradle, following Material Design guidelines.
- 9GAG feeds browsing with card-style layout
- Swipe-back gesture navigation
- Image detail view with zoom support
- Navigation drawer with category filtering
- Local data caching with SQLite
- Shimmer loading animation
app/src/main/java/me/storm/ninegag/
├── api/ # Network requests (Volley)
├── dao/ # Data access layer (SQLite)
├── data/ # Data sources
├── model/ # Data models (Feed, Category)
├── ui/ # Activities, Fragments & Adapters
├── util/ # Utilities (cache, bitmap, blur, etc.)
├── view/ # Custom views (SwipeBack)
└── App.java # Application entry
| Category | Library |
|---|---|
| Network | Volley, OkHttp |
| Image Loading | Glide |
| View Binding | ButterKnife |
| UI Components | FoldableLayout, AndroidStaggeredGrid, Shimmer |
| Image Viewer | PhotoView |
| Memory Leak Detection | LeakCanary |
git clone https://github.com/stormzhang/9GAG.gitOpen the project in Android Studio and sync Gradle.
Note: This project uses Gradle 2.2.1 and Android Gradle Plugin 1.5.0. You may need an older version of Android Studio or manual Gradle configuration to build successfully.
- Min SDK: Android 4.0 (API 14)
- Target SDK: Android 5.1 (API 22)
stormzhang — @stormzhang on GitHub
Copyright 2014 stormzhang
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.