Elephant is PHPHub Community Android unofficial client, base on Material Design + MVP+RxJava+Retrofit .
<p align="center">
  <br>
  <b>创造不息，交付不止</b>
  <br>
  <a href="https://www.yousails.com">
    <img src="https://yousails.com/banners/brand.png" width=350>
  </a>
</p>

<h4>
    <font color="#777">Welcome to follow me on GitHub or Weibo</font>
</h4> 

GitHub: https://github.com/Freelander

Weibo: http://weibo.com/gaojunhuang

---

## Elephant

<p>
    <a href="https://travis-ci.org/Freelander/Elephant">
        <img src="https://travis-ci.org/Freelander/Elephant.svg?branch=master">
    </a>
    <a href="https://android-arsenal.com/api?level=15">
        <img src="https://img.shields.io/badge/API-15%2B-brightgreen.svg?style=flat" border="0" alt="API">
    </a>
    <a href="https://github.com/Freelander/Elephant/blob/master/LICENSE">
        <img src="https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg?style=flat">
    </a>
    <a href="http://weibo.com/gaojunhuang">
        <img src="https://img.shields.io/badge/contact-%40Freelander-orange.svg">
    </a>
    <a href="http://fir.im/elephpant">
        <img src="https://img.shields.io/badge/download-fir.im-blue.svg">
    </a>
</p>

PHPHub is a Forum project written in Laravel 4.2, and it is also the project build up PHP & Laravel China community.

Elephant is PHPHub Community Android unofficial client, App UI style follows the Google Material Design, architecture project using MVP mode, the data processing using RxJava + Retrofit network data processing.

Why App named "Elephant"? Because the elephant is the PHP mascot, as the origin of history, you can go [here](http://www.phpchina.com/blog-56751-183726.html) to find out. 

#### [中文文档](https://github.com/Freelander/Elephant/blob/master/README_ZH.md) &nbsp;&nbsp;&nbsp;&nbsp; [Api 文档](https://laravel-china.org/topics/3097)

## PHPHub related projects

You can checkout the others open source projects of PHPHub in the following list.

* [PHPHub-iOS](https://github.com/Aufree/phphub-ios) by [@Aufree](https://github.com/Aufree)
* [PHPHub-Android](https://github.com/CycloneAxe/phphub-android) by [@Kelvin](https://github.com/CycloneAxe) and [@Xiaoxiaoyu](https://github.com/xiaoxiaoyu)
* [PHPHub-UI](https://github.com/phphub/phphub-ui) by [@Summer](https://github.com/summerblue) and [@Aufree](https://github.com/aufree)
* [PHPHub-Web](https://github.com/summerblue/phphub5) by [@Summer](https://github.com/summerblue)

## Feature

- [x] App UI style follows the google Material Design
- [x] Translucent status bar
- [x] Data processing using RxJava + Retrofit
- [x] Scan code login
- [x] WebView image click event JS injection
- [x] Project architecture using MVP mode
- [x] Publish topic using markdown editor
- [x] Support multiple theme style switch

## Screenshots

![](http://ww1.sinaimg.cn/large/006xB1lsgw1f8ofu9f0s8j31kw1zu1k9.jpg)

## Build environment

1. Min Android SDK version 4.0+
2. Android Studio 2.2.2
3. Gradle version 2.14.1
4. Gradle plugin version 2.2.2
5. Build tools version 24.0.3

## Build Instructions

1.Download the source code;

> $ git clone https://github.com/Freelander/Elephant.git

2.Next, Make a copy of gradle.properties.example as gradle.properties and edit the information inside;

> $ cp gradle.properties.example gradle.properties

3.Finally, Will the project import Android Studio, click to run, I wish you good luck!

## How should I Login?

Go to [PHPHub's official website](https://laravel-china.org/) and Login with GitHub. then find your QRCode in your personal page. It should look like this:

![](https://dn-phphub.qbox.me/uploads/images/201609/05/1/LGYQoWp9kY.png)

## Third-party Libraries

  Project  | Introduction
  -------- | ------
[Logger](https://github.com/orhanobut/logger) | Simple, pretty and powerful logger for android
[Material-Dialogs](https://github.com/afollestad/material-dialogs) | A beautiful, easy-to-use, and customizable dialogs API
[BGABadgeView-Android](https://github.com/bingoogolapple/BGABadgeView-Android) | android badge view
[MultiStateView](https://github.com/Kennyc1012/MultiStateView) | Android View that displays different content based on its state.
[FloatingActionButton](https://github.com/makovkastar/FloatingActionButton) | Android floating action button which reacts on scrolling events
[commonadapter](https://github.com/bboyfeiyu/commonadapter) | The listview and recyleview common adapter
[glide-transformations](https://github.com/wasabeef/glide-transformations) | An Android transformation library providing a variety of image transformations for Glide
[writeily-pro](https://github.com/plafue/writeily-pro) | The minimalist Markdown editor for Android
[RxJava](https://github.com/ReactiveX/RxJava) | RxJava is a Java VM implementation of Reactive Extensions
[RxAndroid](https://github.com/ReactiveX/RxAndroid) | Android specific bindings for RxJava
[Retrofit](https://github.com/square/retrofit) | Type-safe HTTP client for Android and Java by Square
[Gson](https://github.com/google/gson) | Gson is a Java library that can be used to convert Java Objects into their JSON representation
[Prettytime](https://github.com/ocpsoft/prettytime) | Social Style Date and Time Formatting for Java
[barcodescanner](https://github.com/dm77/barcodescanner) | Barcode Scanner Libraries for Android
[fresco](https://github.com/facebook/fresco) | Fresco is a powerful system for displaying images in Android applications.
[butterknife](https://github.com/JakeWharton/butterknife) | Bind Android views and callbacks to fields and methods
[materialish-progress](https://github.com/pnikosis/materialish-progress) |  A material style progress wheel compatible with 2.3
[PhotoDraweeView](https://github.com/ongakuer/PhotoDraweeView) | PhotoView For Fresco
[cwac-anddown](https://github.com/commonsguy/cwac-anddown) | CWAC AndDown: Markdown Utility Library
[gm-mkdroid](https://github.com/geminiwen/gm-mkdroid) | A WYSIWYG MarkdownEditor on Android
[android-Ultra-Pull-To-Refresh-With-Load-More](https://github.com/captainbupt/android-Ultra-Pull-To-Refresh-With-Load-More) | This is a modification of the [Ultra-Pull-to-Refresh](https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh) library which supports load-more for any view
[T-MVP](https://github.com/north2014/T-MVP) | Use generic to depthly decoupled MVP

## Design

UI design inspired by the ZHIHU, JUEJIN app.

## Thanks

- [PHPHub](https://laravel-china.org/)
- [GitHubDaily](http://weibo.com/GitHubDaily)
- [Android开发日常](http://weibo.com/AndroidDevDaily)

## License

Copyright 2016 Freelander

Licensed under the [Apache License2.0](https://github.com/Freelander/Elephant/blob/master/LICENSE)
