-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,3 +25,9 @@ proguard/ | |
|
||
# Log Files | ||
*.log | ||
|
||
/local.properties | ||
/.idea/workspace.xml | ||
/.idea/libraries | ||
.DS_Store | ||
/captures |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<module external.linked.project.id="AndroidBlog" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> | ||
<component name="FacetManager"> | ||
<facet type="java-gradle" name="Java-Gradle"> | ||
<configuration> | ||
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" /> | ||
<option name="BUILDABLE" value="false" /> | ||
</configuration> | ||
</facet> | ||
</component> | ||
<component name="NewModuleRootManager" inherit-compiler-output="true"> | ||
<exclude-output /> | ||
<content url="file://$MODULE_DIR$"> | ||
<excludeFolder url="file://$MODULE_DIR$/.gradle" /> | ||
</content> | ||
<orderEntry type="inheritedJdk" /> | ||
<orderEntry type="sourceFolder" forTests="false" /> | ||
</component> | ||
</module> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,28 @@ | ||
# AndroidBlog | ||
A simple blog reader app | ||
#Android博客客户端 | ||
--- | ||
这是一个简单的android博客阅读应用,遵循 Android 设计风格,UI借鉴我个人非常喜欢的一款应用[Etsy](https://www.etsy.com/mobile/?ref=ftr). | ||
|
||
##构建与支持 | ||
项目使用 Android Studio (v1.2) + Gradle (v2.2.1) 构建 | ||
该项目支持 Android 2.3+ ( api level 9) | ||
|
||
## 效果图 | ||
<img src="https://raw.github.com/likebamboo/AndroidBlog/master/art/home.png" width=360 height=640 alt="image1"> <img src="https://raw.github.com/likebamboo/AndroidBlog/master/art/author.png" width=360 height=640 alt="image2"> | ||
<img src="https://raw.github.com/likebamboo/AndroidBlog/master/art/blog.png" width=360 height=640 alt="image3"><img src="https://raw.github.com/likebamboo/AndroidBlog/master/art/info.png" width=360 height=640 alt="image4"> | ||
|
||
##使用到的开源项目 | ||
[AndroidStaggeredGrid](https://github.com/etsy/AndroidStaggeredGrid) Esty 开源的瀑布流布局库 | ||
[Sugar](https://github.com/satyan/sugar) 一个简单的ORM框架 | ||
[Volley](https://android.googlesource.com/platform/frameworks/volley) Google官方发布的网络请求库 | ||
[ButterKnife](http://jakewharton.github.io/butterknife/) 一个专注于Android系统的View注入框架 | ||
[NineOldAndroid](http://nineoldandroids.com/) 动画支持库 | ||
[Jackson](https://github.com/FasterXML/jackson) json解析库 | ||
... | ||
|
||
## 意见与建议 | ||
欢迎通过Pull Requests 方式向本项目贡献代码 | ||
如果发现程序的任何BUG,或对本项目有任何意见,可以直接创建 [Issue](https://github.com/likebamboo/AndroidBlog/issues) 告知我。 | ||
|
||
## 关于 | ||
本项目的前端和后端均由我一人开发,后端代码暂不开源,主要是因为本人不太会写后端,后端代码太烂了(其实前端也不怎么样)。 | ||
本项目的Apk安装包赞不会发布到任何应用市场,请直接在[release](https://github.com/likebamboo/AndroidBlog/releases)下载。 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/build | ||
gradle.properties | ||
osa.key.jks |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="AndroidBlog" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> | ||
<component name="FacetManager"> | ||
<facet type="android-gradle" name="Android-Gradle"> | ||
<configuration> | ||
<option name="GRADLE_PROJECT_PATH" value=":app" /> | ||
</configuration> | ||
</facet> | ||
<facet type="android" name="Android"> | ||
<configuration> | ||
<option name="SELECTED_BUILD_VARIANT" value="debug" /> | ||
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" /> | ||
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> | ||
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> | ||
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" /> | ||
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" /> | ||
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" /> | ||
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" /> | ||
<option name="ALLOW_USER_CONFIGURATION" value="false" /> | ||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> | ||
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> | ||
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" /> | ||
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> | ||
</configuration> | ||
</facet> | ||
</component> | ||
<component name="NewModuleRootManager" inherit-compiler-output="false"> | ||
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> | ||
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" /> | ||
<exclude-output /> | ||
<content url="file://$MODULE_DIR$"> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/androidTest/debug" type="java-test-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" /> | ||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.1.1/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/22.1.1/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.1.1/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.etsy.android.grid/library/1.0.5/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.github.ozodrukh/CircularReveal/1.0.6/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.github.satyan/sugar/1.3.1/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.mcxiaoke.volley/library/1.0.16/jars" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/reports" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/test-results" /> | ||
<excludeFolder url="file://$MODULE_DIR$/build/tmp" /> | ||
</content> | ||
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" /> | ||
<orderEntry type="sourceFolder" forTests="false" /> | ||
<orderEntry type="library" exported="" name="library-2.4.0" level="project" /> | ||
<orderEntry type="library" exported="" name="sugar-1.3.1" level="project" /> | ||
<orderEntry type="library" exported="" name="recyclerview-v7-22.1.1" level="project" /> | ||
<orderEntry type="library" exported="" name="library-1.0.16" level="project" /> | ||
<orderEntry type="library" exported="" name="support-annotations-22.1.1" level="project" /> | ||
<orderEntry type="library" exported="" name="support-v4-22.1.1" level="project" /> | ||
<orderEntry type="library" exported="" name="jackson-core-2.3.1" level="project" /> | ||
<orderEntry type="library" exported="" name="appcompat-v7-22.1.1" level="project" /> | ||
<orderEntry type="library" exported="" name="jackson-databind-2.3.1" level="project" /> | ||
<orderEntry type="library" exported="" name="library-1.0.5" level="project" /> | ||
<orderEntry type="library" exported="" name="butterknife-6.1.0" level="project" /> | ||
<orderEntry type="library" exported="" name="CircularReveal-1.0.6" level="project" /> | ||
<orderEntry type="library" exported="" name="jackson-annotations-2.3.0" level="project" /> | ||
</component> | ||
</module> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
apply plugin: 'com.android.application' | ||
|
||
android { | ||
compileSdkVersion 22 | ||
buildToolsVersion '19.1.0' | ||
|
||
defaultConfig { | ||
applicationId 'com.likebamboo.osa.android' | ||
minSdkVersion 9 | ||
targetSdkVersion 22 | ||
versionCode 1 | ||
versionName '0.1' | ||
} | ||
buildTypes { | ||
release { | ||
minifyEnabled false | ||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | ||
} | ||
} | ||
packagingOptions { | ||
exclude 'META-INF/NOTICE' | ||
exclude 'META-INF/LICENSE' | ||
} | ||
|
||
lintOptions { | ||
abortOnError false | ||
} | ||
|
||
signingConfigs { | ||
release { | ||
try { | ||
storeFile file("osa.key.jks") | ||
storePassword KEYSTORE_PASSWORD | ||
keyAlias "androidblog" | ||
keyPassword KEY_PASSWORD | ||
} | ||
catch (ex) { | ||
throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.") | ||
} | ||
} | ||
} | ||
|
||
buildTypes{ | ||
release { | ||
signingConfig signingConfigs.release | ||
} | ||
} | ||
|
||
} | ||
|
||
dependencies { | ||
compile fileTree(include: ['*.jar'], dir: 'libs') | ||
compile 'com.android.support:appcompat-v7:22.+' | ||
// recyclerview | ||
compile 'com.android.support:recyclerview-v7:22.+' | ||
// volley 网络请求库 | ||
compile 'com.mcxiaoke.volley:library:1.0.+@aar' | ||
// jackson,json解析包 https://github.com/FasterXML/jackson | ||
compile 'com.fasterxml.jackson.core:jackson-databind:2.3.1' | ||
// etsy 瀑布流 https://github.com/etsy/AndroidStaggeredGrid | ||
compile 'com.etsy.android.grid:library:1.0.5' | ||
// 依赖注入框架 https://github.com/JakeWharton/butterknife | ||
compile 'com.jakewharton:butterknife:6.1.0' | ||
// orm 框架 | ||
compile 'com.github.satyan:sugar:1.3.1' | ||
// nineold 动画支持库 | ||
compile 'com.nineoldandroids:library:2.4.0' | ||
// | ||
compile 'com.github.ozodrukh:CircularReveal:1.0.6@aar' | ||
} |