Giter VIP home page Giter VIP logo

yizhi's Introduction

一之


简介

“一之”是一款资讯类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"/>

下载地址

Fir.im: http://fir.im/s4lr


API来源

知乎日报以及每日新闻API源于Github开源项目中提供的API,干货API使用的是GankIo提供的API,微信精选API来源于聚合数据,影视以及图书都是来源于豆瓣API。

  1. 知乎日报
  2. 每日新闻
  3. 微信精选
  4. 干货
  5. 影视
  6. 图书

开源项目

  1. Rxjava
  2. RxAndroid
  3. Retrofit
  4. Glide
  5. Butterknife
  6. Fragmentation
  7. Logger
  8. BaseRecyclerViewAdapterHelper
  9. PhotoView
  10. CircleImageView
  11. RxPermissions

感谢

感谢Github的各位开源作者提供宝贵的代码参考。


关于作者

Horrarndoo

LICENSE

Copyright 2017 Horrarndoo

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.

yizhi's People

Contributors

horrarndoo 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

yizhi's Issues

关于首页滑动出现空指针错误的问题

在首页的<<知乎日报>> 往上滑动,会出现空指针错误, 可能是接口问题,我在你这个地方加上一个非空判断
if (item.getImages() != null && item.getImages().length > 0) {
Glide.with(mContext).load(item.getImages()[0]).crossFade().into((ImageView) helper.getView(R
.id.iv_item_image));
}

书籍页面转场动画出错

JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception 'java.lang.IllegalStateException' thrown in void android.os.MessageQueue.nativePollOnce(long, int):-2
01-11 17:17:03.965 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] in call to CallVoidMethodV
01-11 17:17:03.965 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] from void android.os.MessageQueue.nativePollOnce(long, int)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x74d3c8b0 self=0xb8468958
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] | sysTid=29672 nice=-6 cgrp=apps sched=0/0 handle=0xb6faf058
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] | state=R schedstat=( 0 0 0 ) utm=1737 stm=126 core=1 HZ=100
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] | stack=0xbe18d000-0xbe18f000 stackSize=8MB
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] | held mutexes= "mutator lock"(shared held)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #00 pc 00004828 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #1 pc 00002ec5 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #2 pc 00244415 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits >&, int, char const*, art::mirror::ArtMethod*)+68)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #3 pc 002277e3 /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits >&) const+394)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #4 pc 000af2ab /system/lib/libart.so (art::JniAbort(char const*, char const*)+582)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #5 pc 000af9f1 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #6 pc 000b2b6b /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1286)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #7 pc 000ba02f /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+30)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #8 pc 0006028f /system/lib/libandroid_runtime.so (???)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #9 pc 000746dd /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #10 pc 0007495b /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+142)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #11 pc 00014037 /system/lib/libutils.so (android::Looper::pollInner(int)+594)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #12 pc 000140f9 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #13 pc 00080405 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] native: #14 pc 000b1e37 /data/dalvik-cache/arm/system@[email protected] (Java_android_os_MessageQueue_nativePollOnce__JI+102)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at android.os.MessageQueue.nativePollOnce(Native method)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at android.os.MessageQueue.next(MessageQueue.java:153)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at android.os.Looper.loop(Looper.java:131)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at android.app.ActivityThread.main(ActivityThread.java:5696)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke!(Native method)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke(Method.java:372)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
01-11 17:17:03.975 29672-29672/com.devstrongzhao.ttkb A/art: art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)

Resources$NotFoundException

 Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x10c000d
                                                                        at android.content.res.Resources.getValue(Resources.java:1123)
                                                                        at android.content.res.Resources.loadXmlResourceParser(Resources.java:2309)
                                                                        at android.content.res.Resources.getAnimation(Resources.java:963)
                                                                        at android.view.animation.AnimationUtils.loadInterpolator(AnimationUtils.java:270)
                                                                        at com.zyw.horrarndoo.sdk.anim.AnimUtils.getFastOutSlowInInterpolator(AnimUtils.java:45)
                                                                        at com.zyw.horrarndoo.sdk.anim.AnimManager.animAlphaAndScaleX(AnimManager.java:34)
                                                                        at com.zyw.horrarndoo.sdk.anim.ToolbarAnimManager.animNavigationIcon(ToolbarAnimManager.java:66)
                                                                        at com.zyw.horrarndoo.sdk.anim.ToolbarAnimManager.animIn(ToolbarAnimManager.java:48)
                                                                        at com.zyw.horrarndoo.yizhi.ui.fragment.home.child.HomeFragment.initUI(HomeFragment.java:142)
                                                                        at com.zyw.horrarndoo.sdk.base.fragment.BaseCompatFragment.onViewCreated(BaseCompatFragment.java:61)
                                                                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1314)

闪屏3秒就奔溃了

MainActivity中onBackPressedSupport()方法监听返回键问题

您好,我想问下您在app中的再按一次返回键退出这个功能是怎么实现的?我代码也是这样设置的,但是没效果啊,您在别的地方是不是也有相关的设置?
我的MainActivity里面代码是这样的:

    // 再点一次退出程序时间设置
    private static final long WAIT_TIME = 2000L;
    private long TOUCH_TIME = 0;

    @Override
    public void onBackPressedSupport() {
        super.onBackPressedSupport();

        if (getFragmentManager().getBackStackEntryCount() > 1) {
            //如果当前存在fragment>1,当前fragment出栈
            pop();
        } else {
            //如果已经到root fragment了,2秒内点击2次退出
            if (System.currentTimeMillis() - TOUCH_TIME < WAIT_TIME) {
//                setIsTransAnim(false);
                finish();
            } else {
                TOUCH_TIME = System.currentTimeMillis();
                Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
            }
        }
    }

额……关于MVP模式的一些疑问

理论上mvp模式是这么规定的:

作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。

但是在拜读代码的时候发现BaseMVPCompatActivity这个类(这个类是否是view层呢)中,发现有model……(initData方法中通过mPresenter.getModel()获得了model)

按照mvp的设计模式,view层不应该出现model吧……

所以想请教下设计思路……

关于分享的问题

你是用的mob 的分享,还是自己加的?你是怎么把mob 给抽离出来的?

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.