Material design Hacker News client for Android, uses official HackerNews/API, Dagger for dependency injection and Robolectric for unit testing.
Requirements
- Latest Android SDK tools
- Latest Android platform tools
- Android SDK Build tools 23.0.2
- Android SDK 23
- Android Support Repository
- Android Support Library 23.2.0
Dependencies
- Official Hacker News API, user services (e.g. login/create account/vote/comment) rely on redirect requests to Hacker News website
- Algolia Hacker News Search API
- Readability Parser API
- AOSP appcompat-v7 / recyclerview-v7 / design / cardview-v7 / preference-v7 / customtabs
- Square Retrofit / OkHttp / AssertJ / Dagger / LeakCanary
- Robolectric
Build
./gradlew assembleDebug
Build with LeakCanary on
./gradlew assembleLeak
Grab your Readability Parser API key here if you want to connect to Readability.
Run all/selective tests:
./gradlew testDebug
./gradlew testDebug --tests "*HackerNewsClientTest"
You may need to set up Android Studio for unit test, by changing 'Build Variants -> Test Artifact' to 'Unit Tests'. See technical docs.
./gradlew jacocoTestReport
- Supporting multiple themes in your Android app (Part 1)
- Supporting multiple themes in your Android app (Part 2)
- Building custom preferences with preference-v7
Contributions are always welcome. Please make sure you read Contributing notes first.
Copyright 2015 Ha Duy Trung
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.