⚠️ 本项目已停止维护。 这是 2014 年的 Android 学习项目,用于展示当时的 Android 开发最佳实践。代码和依赖已过时,仅供参考。
一个非官方的 9GAG Android 客户端,使用 Android Studio + Gradle 构建,遵循 Material Design 设计规范。
- 9GAG 信息流浏览,卡片式布局
- 侧滑返回手势
- 图片详情页,支持缩放
- 侧边栏分类筛选
- SQLite 本地数据缓存
- Shimmer 加载动画
app/src/main/java/me/storm/ninegag/
├── api/ # 网络请求(Volley)
├── dao/ # 数据访问层(SQLite)
├── data/ # 数据源
├── model/ # 数据模型(Feed、Category)
├── ui/ # Activity、Fragment 和 Adapter
├── util/ # 工具类(缓存、位图、模糊等)
├── view/ # 自定义 View(SwipeBack)
└── App.java # Application 入口
| 类别 | 库 |
|---|---|
| 网络请求 | Volley、OkHttp |
| 图片加载 | Glide |
| 视图绑定 | ButterKnife |
| UI 组件 | FoldableLayout、AndroidStaggeredGrid、Shimmer |
| 图片查看 | PhotoView |
| 内存泄漏检测 | LeakCanary |
git clone https://github.com/stormzhang/9GAG.git用 Android Studio 打开项目并同步 Gradle。
注意: 本项目使用 Gradle 2.2.1 和 Android Gradle Plugin 1.5.0,可能需要较旧版本的 Android Studio 或手动配置 Gradle 才能成功构建。
- 最低支持:Android 4.0(API 14)
- 目标版本: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.
