Giter Site home page Giter Site logo

codeestx / geeknews Goto Github PK

View Code? Open in Web Editor NEW
3.5K 159.0 829.0 81.88 MB

:books:A pure reading App based on Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide

Java 100.00%
material-design rxjava realm reading-program retrofit mvp-android okhttp3 jsoup v2ex app

geeknews's People

Contributors

androidhot avatar brzhang666 avatar codeestx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

geeknews's Issues

How to show Data when Offline

Hi

I see your project using Realm to cache. But when offline, I received the notice Data loading failure ヽ(≧Д≦)ノ

How to show Data when Offline
Thanks

崩溃了

看到你的这个app还不错,就下载源码编译运行了一下,我发现在我的手机上崩溃了,log我忘记是啥(好像是xml加载异常),就是你的 com.codeest.geeknews.ui.zhihu.activity.ZhihuDetailActivity布局里面的16行导包错了吧,你是引入的
net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout 这个在我的手机(华为荣耀V8 KNT-AL20 正式版KNT-AL20C00B160 EMUI4.0)上会崩溃,把这个包改为android.support.design.widget.CollapsingToolbarLayout就正常了,

apk安装时候的问题

1、将你的项目下载下来,用as向模拟器中烧录,该应用可以安装成功,但是往真机中烧录,那么回报这个错误,Installation failed with message INSTALL_FAILED_UNKNOWN_SOURCES.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?
但是,我的手机中之前没有安装过你的应用,这个是怎么回事?
2、通过你留下的apk下载链接,通过电脑下载apk,往真机中安装,结果如下:
C:\Users\Administrator>adb install C:\Users\Administrator\Desktop\geeknews.apk_1.1.0.apk
[100%] /data/local/tmp/geeknews.apk_1.1.0.apk
pkg: /data/local/tmp/geeknews.apk_1.1.0.apk
Failure [INSTALL_FAILED_UNKNOWN_SOURCES]

详情返回列表项

无论点击哪个列表项进入详情后,再返回,都是回到屏幕最后一项,而不是返回原本打开的那一项的位置,是故意这样设计的吗??

GeekNews:app:unspecified > net.opacapp:multiline-collapsingtoolbar:1.2.2

Error:Could not find com.android.support:design:24.1.1.
Required by:
    GeekNews:app:unspecified
    GeekNews:app:unspecified > net.opacapp:multiline-collapsingtoolbar:1.2.2

Please install the Android Support Repository from the Android SDK Manager.
<a href="openAndroidSdkManager">Open Android SDK Manager</a>

TechAdapter doblur got OOM

java.lang.OutOfMemoryError: Failed to allocate a 25165836 byte allocation with 16565788 free bytes and 15MB until OOM
at com.codeest.geeknews.util.ImageUtil.doBlur(ImageUtil.java:64)
at com.codeest.geeknews.ui.gank.adapter.TechAdapter$2.onResourceReady(TechAdapter.java:105)
at com.codeest.geeknews.ui.gank.adapter.TechAdapter$2.onResourceReady(TechAdapter.java:101)
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:525)
at com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507)
at com.bumptech.glide.load.engine.EngineJob.handleResultOnMainThread(EngineJob.java:158)
at com.bumptech.glide.load.engine.EngineJob.access$100(EngineJob.java:22)
at com.bumptech.glide.load.engine.EngineJob$MainThreadCallback.handleMessage(EngineJob.java:202)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5290)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)

Dagger2相关

@ContextLife("Application")
App getContext(); // 提供App的Context

Activity getActivity();

@Provides
@ActivityScope
public Activity provideActivity() {
    return mActivity;
}

等等

这些代码没用到吧?
看的很是费解,尤其是ContextLife.java这个不是scope吧,自定义标记的话,文件名看起来好难懂

再提个小bug哈
设置->清除缓存 不能实时更新,清除一次,再浏览网页,产生的缓存就不能清除了

这个不是应用出现问题

你好,我在学习这个项目的架构,我发现项目BaseActivity中申明了mPresenter,通过在子类重写inject注入P层,但是,我发现在你设计所有module中并没有@provides提供的P层实例,请问你是怎么设计实现的呢
`/**

  • Created by codeest on 2016/8/2.

  • MVP activity基类
    */
    public abstract class BaseActivity extends SupportActivity implements BaseView{

    @Inject
    protected T mPresenter;
    protected Activity mContext;
    private Unbinder mUnBinder;

`

算是个bug

在收藏界面进入详情,然后在详情页面取消收藏,退回到收藏,这个条目还在,滑动删除报错。。大神这个功能没做吧?

OOM

OutofMemoryError thrown while trying to throe OutofMemotyError. no stack available. 好多页面都内存溢出了,这是图片处理不当的原因吗

好像没有看到realm.close

realm文档看到说使用完realm后需要close,否则可能内存泄漏
代码中貌似没看到

我的项目中需要删除数据库操作,Realm.deleteRealm(configuration)
总是提示先close,所以关注了下这个问题

material UP

material UP这个网站怎么用啊 感觉上那个面的风格都很好看,这个是可以下载下来素材还是直接只是看她的配色啊?

请问下为什么不能inject BaseActivity

hi,最近看了很多关于dagger2的文章,但还是云里雾里的。
看了这个项目以后请问下为什么如下代码行不通呢?

public interface ActivityComponent {
    Activity getActivity();
    void inject(BaseActivity baseActivity);
}

方请解惑!thx!

我导入AS有问题

This project does not use the Gradle build system. We recommend that you migrate to using the Gradle build system.意思是我没通过Gradle管理么。直接从github clone下来的。是不是少了什么

日报也加载动画停不下来……

当从日期选择当天之前日期的日报内容后,然后再下来刷新,加载动画就停不下来了,不管是进入睡眠页面再回到日报页面都没停下来,除非退出重新进入。

程序崩溃,内详

首次运行程序后在日报里点击任一今日热闻退出程序后再打开程序点击之前点击过的热闻item,程序崩溃,跟踪debug查看貌似是点击item时mPresenter.insertReadToDB(mList.get(position).getId());添加记录时id重复

发现几个程序Crash问题

  1. java.lang.IndexOutOfBoundsException
    date = date.substring(0,idx).replace("T"," "); 有可能idx = -1
    GoldListAdapter 第91行
    TeachAdapter 第58行
    索引越界有几个地方,好像是后台的数据格式可能有点不同,偶尔有些日期后面没有个“.” ,所以你
    int idx =date.indexOf(".") 可能会等于-1,然后取子串就Crash了。
    在取子串之前添加一句判断就ok了
    if (idx > 0) date = date.substring(0, idx).replace("T", " ");

  2. Gank福利页面 往下滑的过程中,程序会崩溃
    在GirlFragment 第61行后面添加
    mStaggeredGridLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);
    //TODO 解决下拉崩溃的临时解决办法 java.lang.IllegalArgumentException: Pixel distance must be non-negative
    //这个BUG已经有人提交给google,暂时解决办法
    //set item prefetch enable false
    mStaggeredGridLayoutManager.setItemPrefetchEnabled(false);

  3. x5WebView有的手机使用不了,自动会调用原生的webview
    我在google搜索的解决方法是:build.gradle 的defaultConfig添加
    ndk {
    abiFilters"armeabi","armeabi-v7a" , "arm64-v8a","x86","mips"
    }

Hi~ about GeekNews crash question

FATAL EXCEPTION: main
Process: com.codeest.geeknews, PID: 13474
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 7(offset:7).state:23

device:nexus5x
system:Android 7.1.1

空指针了

2-03 16:04:13.345 12377-12377/com.codeest.geeknews E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.codeest.geeknews, PID: 12377
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setVisibility(int)' on a null object reference
at com.codeest.geeknews.ui.gank.activity.TechDetailActivity$2.onProgressChanged(TechDetailActivity.java:91)
at com.tencent.smtt.sdk.SystemWebChromeClient.onProgressChanged(Unknown Source)
at com.android.webview.chromium.WebViewContentsClientAdapter.onProgressChanged(WebViewContentsClientAdapter.java:236)
at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:197)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:5665)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)

空指针 com.codeest.geeknews.ui.gank.activity.TechDetailActivity tvProgress非空验证 setVisibility和getLayoutParams方法返回空指针了

BaseActivity中的mPresenter是在哪里提供依赖的?

你好,作者,看了你的代码让我受益匪浅,一个问题想不明白就是在BaseActivity中的mPresenter,是在哪里提供依赖的???

`
@ActivityScope
@component(dependencies = AppComponent.class, modules = ActivityModule.class)
public interface ActivityComponent {

Activity getActivity();

void inject(WelcomeActivity welcomeActivity);

void inject(MainActivity mainActivity);

void inject(ZhihuDetailActivity zhihuDetailActivity);

void inject(ThemeActivity themeActivity);

void inject(SectionActivity sectionActivity);

}
`

在ActivityModule和AppModule中都没有看到提供这个依赖的,

`@Module
public class ActivityModule {
private Activity mActivity;

public ActivityModule(Activity activity) {
    this.mActivity = activity;
}

@Provides
@ActivityScope
public Activity provideActivity() {
    return mActivity;
}

}`

`@Module
public class AppModule {
private final App application;

public AppModule(App application) {
    this.application = application;
}

@Provides
@Singleton
@ContextLife("Application")
App provideApplicationContext() {
    return application;
}

@Provides
@Singleton
RetrofitHelper provideRetrofitHelper() {
    return new RetrofitHelper();
}

@Provides
@Singleton
RealmHelper provideRealmHelper() {
    return new RealmHelper(application);
}

}`

我想了半天了,还是没找到为什么是自动实例这个变量,dagger2的demo也看了几个,没有类似的用法。很是困惑,请大神指教一下。谢谢

使用Android Studio 2.2版本重新编译,自动生成的测试代码出现错误

作者你好,我今天刚刚fork了你的代码,使用了Android Studio 2.2 版本编译了一次,但是编译失败了,显示出错的地方是测试的位置,请问是什么情况?

更改处如下:
buildToolsVersion "24.0.1" -> buildToolsVersion "24.0.2"

classpath 'com.android.tools.build:gradle:2.2.0-rc1 ' -> classpath 'com.android.tools.build:gradle:2.2.0'

错误如下:

Error:(4, 28) 错误: 程序包android.support.test不存在
Error:(5, 35) 错误: 程序包android.support.test.runner不存在
Error:(7, 24) 错误: 程序包org.junit.runner不存在
Error:(8, 30) 错误: 程序包org.testng.annotations不存在
Error:(17, 2) 错误: 找不到符号
符号: 类 RunWith
Error:(19, 6) 错误: 找不到符号
符号: 类 Test
位置: 类 ExampleInstrumentedTest
Error:Execution failed for task ':app:compileGoogleDebugAndroidTestJavaWithJavac'.
Compilation failed; see the compiler error output for details.

第三方库链接

你好!widget相关的一些第三方库,能把链接也提供下吗?
如: compile 'com.victor:lib:1.0.4'等未在README中提及的库,谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.