很早之前就想写一个个人项目练练手,但是由于工作的关系,一直没有真正的开动(其实就是懒)。
好吧,反正最近这几个星期稍微比较清闲,趁着这个机会,在空余时间撸了一个个人项目。
一之
简介
“一之”是一款资讯类App,主要实现的内容如下:
- 主页(知乎日报、每日新闻、微信精选)
- 干货(每日推荐、干货定制、福利)
- 影视(最新影视资讯,Top250电影推荐)
- 书籍(文学类、文化类、生活类)
- 个人(头像设置)
项目地址:https://github.com/Horrarndoo/YiZhi
运行截图
运行时权限&懒加载
运行时权限 懒加载主页
主页1 主页2主页_项目主页 主页_夜间模式
主页_分享
干货
干货_主页刷新 干货_定制干货_福利
影视&书籍
影视_hot 书籍_hot个人
个人_head1 个人_head2敏感权限说明
<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--用于访问wifi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--这个权限用于获取wifi的获取权限-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<!--用于访问网络-->
<uses-permission android:name="android.permission.INTERNET"/>
<!--用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!--写入扩展存储,向扩展卡写入数据,用于保存在线图片数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!--用于头像设置-->
<uses-permission android:name="android.permission.CAMERA"/>
<!--用于分享App-->
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<!--用于分享App-->
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
下载地址
API来源
知乎日报以及每日新闻API源于Github开源项目中提供的API,干货API使用的是GankIo提供的API,微信精选API来源于聚合数据,影视以及图书都是来源于豆瓣API。
开源项目
- Rxjava
- RxAndroid
- Retrofit
- Glide
- Butterknife
- Fragmentation
- Logger
- BaseRecyclerViewAdapterHelper
- PhotoView
- CircleImageView
- RxPermissions
感谢
感谢Github的各位开源作者提供宝贵的代码参考。
关于作者
Horrarndoo
- csdn: http://blog.csdn.net/oqinyou
- 简书:http://www.jianshu.com/u/5c92e4ae9dc3
- github: https://github.com/Horrarndoo
- e-mail: 237077219@qq.com
- QQ: 237077219
网友评论
提示horrarndoo\sdk\rxbus\RxBus.java:98
找不到符号
if (method.isAnnotationPresent(Subscribe.class)) {
^
符号: 方法 isAnnotationPresent(Class<Subscribe>)
位置: 类型为Method的变量 method
不知是哪里出了问题,求解惑。
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project :sdk."
]debugImplementation project(':sdk')
releaseImplementation project(':sdk')
发现关于里面会有OOM
把app module的依赖改成下面这样试试:
dependencies {
implementation fileTree(dir: 'libs', include: '*.jar')
implementation project(':sdk')
debugImplementation project(':sdk')
releaseImplementation project(':sdk')
}
<a href="openFile:D:\Java\studio\Demo\YiZhi-master\app\build.gradle">Open File</a>
applicationVariants.all { variant -> //批量修改Apk名字
variant.outputs.all { output ->
if (!variant.buildType.isDebuggable()) {
//要被替换的源字符串
def sourceFile = "-${variant.flavorName}-${variant.buildType.name}"
//替换的字符串
def replaceFile = "YiZhi_${variant.flavorName}_${variant.versionName}_${variant.buildType.name}_${buildTime()}"
outputFileName = output.outputFile.name.replace(sourceFile, replaceFile);
}
}
}