Giter Site home page Giter Site logo

weibo's Introduction

高仿新浪微博客户端

一款独立开发的第三方新浪微博客户端,在还原了官方微博的UI的同时,加入更多不同于官方微博的新特性,给用户带来更加流畅,没有广告的体验,现在任意用户均可以登录微博进行体验

2016.8.15更新 -----【新特性】下滑浏览微博的时候,会自动隐藏顶部和底部的导航栏,给用户更多的浏览控件
2016.8.10更新 -----【新特性】自动把时间线上的图片扩展到屏幕大小,不要留下空白区域,让时间线显得更加丰富
2016.8.01更新 -----【稳定性】提高了稳定性,修复了一系列设备自动提交到GitHub上的崩溃issue
2016.7.25更新 -----【新特性】重新设计了一个新的Logo作为App图标
2016.7.15更新 -----【新特性】在时间线上直接播放Gif图,并且在低端设备也能流畅地浏览高清长图了
2016.7.10更新 -----【统计模块】引入我自己写的崩溃信息收集框架,自动提交崩溃到GitHub的issue中
2016.6.30更新 -----【主页模块】点击头像后支持查看用户的详细信息,包括发过的微博和用户相册
2016.6.28更新 -----【新特性】支持全局侧滑退出页面
2016.6.26更新 -----【主页模块】支持查看单条微博的转发信息和评论信息,并且支持评论回复和转发功能了
2016.6.23更新 -----【主页模块】对于发微博的一系列UI细节修复
2016.6.20更新 -----【主页模块】一系列bug修复,包括小屏设备上bottombar文字显示不全的问题与gif不显示的问题等等
2016.6.19更新 -----【主页模块】支持关注和取消关注
2016.6.15更新 -----【主页模块】支持显示微博表情/纠正140个字的计算方法
2016.6.12更新 -----【主页模块】点击微博右上角的箭头后,支持在弹窗中收藏微博,删除微博以及关注或者取消关注某人
2016.6.02更新 -----【稳定性】修复网友反馈的一系列Bug,提高了稳定性
2016.5.26更新 -----【消息模块】支持@我的消息和评论消息的分组查看
2016.5.19更新 -----【设置模块】支持多账号登录与切换
2016.5.15更新 -----【重构】使用MVP模式重构关键代码,改善Fragment/Activity逻辑复杂的问题
2016.5.12更新 -----【黑魔法】使户用黑魔法突破接口请求限制,任意用户都可以登录微博了
2016.5.08更新 -----【主页模块】支持查看微博评论
2016.5.06更新 -----【发微博模块】支持发送图文微博,新增图片选择器
2016.5.02更新 -----【主页模块】支持浏览微博的图片细节,包括长微博,Gif等
2016.4.28更新 -----【发现模块】支持查看热门微博
2016.4.26更新 -----【消息模块】支持查看@消息,评论消息,修复大量Bug
2016.4.23更新 -----【主页模块】支持显示加V标签,修复异步下载头像引起的布局闪烁问题
2016.4.20更新 -----【主页模块】支持浏览图文微博

快速下载体验

百度网盘

主页模块

  • 支持浏览图文微博,图片支持长微博,Gif等
  • 支持转发微博
  • 支持浏览评论

enter image description here enter image description here enter image description here enter image description here enter image description here

消息模块

  • 支持查看@消息
  • 支持查看评论消息

enter image description here enter image description here

发微博模块

  • 支持发送图文微博
  • 支持图片选择器

enter image description here enter image description here enter image description here

发现模块

  • 支持查看热门微博

enter image description here enter image description here

关于我模块

  • 支持查看我的微博,粉丝,关注

enter image description here enter image description here enter image description here enter image description here

设置模块(支持注销,图片缓存清空)

  • 支持注销
  • 支持图片缓存清空

enter image description here

Gradle 构建

  • 版本
    • 最新 Android SDK
    • 最新 Gradle
  • 环境变量
    • ANDROID_HOME
    • GRADLE_HOME,同时把bin放入path变量
    • Android SDK 安装,都更新到最新
    • Android SDK Build-tools更新到最新
    • Google Repository更新到最新
    • Android Support Repository更新到最新
    • Android Support Library更新到最新

相信未来

当蜘蛛网无情地查封了我的炉台
当灰烬的余烟叹息着贫困的悲哀
我依然固执地铺平失望的灰烬
用美丽的雪花写下:相信未来

当我的紫葡萄化为深秋的露水
当我的鲜花依偎在别人的情怀
我依然固执地用凝霜的枯藤
在凄凉的大地上写下:相信未来

我要用手指那涌向天边的排浪
我要用手掌那托住太阳的大海
摇曳着曙光那枝温暖漂亮的笔杆
用孩子的笔体写下:相信未来

我之所以坚定地相信未来
是我相信未来人们的眼睛
她有拨开历史风尘的睫毛
她有看透岁月篇章的瞳孔

不管人们对于我们腐烂的皮肉
那些迷途的惆怅、失败的苦痛
是寄予感动的热泪、深切的同情
还是给以轻蔑的微笑、辛辣的嘲讽

我坚信人们对于我们的脊骨
那无数次的探索、迷途、失败和成功
一定会给予热情、客观、公正的评定
是的,我焦急地等待着他们的评定

朋友,坚定地相信未来吧
相信不屈不挠的努力
相信战胜死亡的年轻
相信未来、热爱生命

weibo's People

Contributors

wenmingvs avatar xiangflight 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

weibo's Issues

【CrashLog】 WeiSwift 2016-07-30 18:24:03:87

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Meizu
DEVICE: m2note
HARDWARE: mt6735

Thread ID: 1979 Thread Name: pool-2-thread-1 Time: 2016-07-30 16:59:02:83 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1493)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1511)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:638)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:617)
at com.wenming.weiswift.ui.login.activity.MainActivity.retoreFragment(MainActivity.java:178)
at com.wenming.weiswift.ui.login.activity.MainActivity.setTabFragment(MainActivity.java:189)
at com.wenming.weiswift.ui.login.activity.MainActivity.access$000(MainActivity.java:30)
at com.wenming.weiswift.ui.login.activity.MainActivity$5.onClick(MainActivity.java:114)
at android.view.View.performClick(View.java:4908)
at android.view.View$PerformClick.run(View.java:20378)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

Crash Log: CrashCacheDemo

APPLICATION INFORMATION
Application : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: msm8996
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
CPU_ABI: arm64-v8a
CPU_ABI2:
DEVICE: hero2qltechn
DISPLAY: MMB29M.G9350ZHU2APE3
FINGERPRINT: samsung/hero2qltezh/hero2qltechn:6.0.1/MMB29M/G9350ZHU2APE3:user/release-keys
HARDWARE: qcom
HOST: SWDD6217
ID: MMB29M
MANUFACTURER: samsung
PRODUCT: hero2qltezh
TAGS: release-keys
TYPE: user
USER: dpi

【CrashLog】 2016-07-16 19:28:12:36

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZCU2APF7
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Trd: 1 main 2016-07-16 19:28:11:16 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7232)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Error: 10006 and 21332

已经成功授权,但重启App后Toast提示错误信息,先是10006,然后是21332

Crash Log: AndroidCrash

APPLICATION INFORMATION
Application : AndroidCrash
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: MSM8974
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
CPU_ABI: armeabi-v7a
CPU_ABI2: armeabi
DEVICE: hlte
DISPLAY: LRX21V.N9009KEU2GOH5
FINGERPRINT: samsung/h3gduosctc/hlte:5.0/LRX21V/N9009KEU2GOH5:user/release-keys
HARDWARE: qcom
HOST: SWDE2211
ID: LRX21V
MANUFACTURER: samsung
PRODUCT: h3gduosctc
TAGS: release-keys
TYPE: user
USER: dpi

Crash Log: CrashCacheDemo

APPLICATION INFORMATION
Application : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: MSM8974
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
CPU_ABI: armeabi-v7a
CPU_ABI2: armeabi
DEVICE: hlte
DISPLAY: LRX21V.N9009KEU2GOH5
FINGERPRINT: samsung/h3gduosctc/hlte:5.0/LRX21V/N9009KEU2GOH5:user/release-keys
HARDWARE: qcom
HOST: SWDE2211
ID: LRX21V
MANUFACTURER: samsung
PRODUCT: h3gduosctc
TAGS: release-keys
TYPE: user
USER: dpi

【CrashLog】 WeiSwift 2016-07-30 04:17:28:81

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 21067 Thread Name: pool-3-thread-1 Time: 2016-07-29 18:06:42:66 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'long java.io.File.length()' on a null object reference
at com.wenming.weiswift.ui.common.FillContent.isLongImg(FillContent.java:465)
at com.wenming.weiswift.ui.common.FillContent$7.onLoadingComplete(FillContent.java:549)
at com.nostra13.universalimageloader.core.DisplayBitmapTask.run(DisplayBitmapTask.java:72)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Crash Log: AndroidCrash

APPLICATION INFORMATION
Application : AndroidCrash
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: msm8996
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
CPU_ABI: arm64-v8a
CPU_ABI2:
DEVICE: hero2qltechn
DISPLAY: MMB29M.G9350ZHU2APE3
FINGERPRINT: samsung/hero2qltezh/hero2qltechn:6.0.1/MMB29M/G9350ZHU2APE3:user/release-keys
HARDWARE: qcom
HOST: SWDD6217
ID: MMB29M
MANUFACTURER: samsung
PRODUCT: hero2qltezh
TAGS: release-keys
TYPE: user
USER: dpi

【CrashLog】 2016-07-16 20:36:21:30

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Trd: 1 main 2016-07-16 20:30:18:88 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

Trd: 1 main 2016-07-16 20:30:59:17 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 WeiSwift 2016-07-27 15:59:38:992

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: I9507VZNUBNK1
BRAND: samsung
DEVICE: jftdd
HARDWARE: qcom

Thread ID: 1494 Thread Name: pool-2-thread-1 Time: 2016-07-27 15:54:46:380 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException
at com.wenming.weiswift.ui.login.fragment.home.imagedetaillist.ViewPagerAdapter.displayLongPic(ViewPagerAdapter.java:216)
at com.wenming.weiswift.ui.login.fragment.home.imagedetaillist.ViewPagerAdapter.access$100(ViewPagerAdapter.java:37)
at com.wenming.weiswift.ui.login.fragment.home.imagedetaillist.ViewPagerAdapter$1.onLoadingComplete(ViewPagerAdapter.java:114)
at com.nostra13.universalimageloader.core.DisplayBitmapTask.run(DisplayBitmapTask.java:72)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)

【CrashLog】 WeiSwift 2016-07-27 17:55:43:957

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: I9507VZNUBNK1
BRAND: samsung
DEVICE: jftdd
HARDWARE: qcom

Thread ID: 2739 Thread Name: pool-2-thread-1 Time: 2016-07-27 17:55:39:500 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.ClassCastException: android.widget.ImageView cannot be cast to uk.co.senab.photoview.PhotoView
at com.wenming.weiswift.ui.login.fragment.home.userdetail.adapter.UserPhotoAdapter$ViewHolder.(UserPhotoAdapter.java:79)
at com.wenming.weiswift.ui.login.fragment.home.userdetail.adapter.UserPhotoAdapter.onCreateViewHolder(UserPhotoAdapter.java:46)
at com.wenming.weiswift.ui.login.fragment.home.userdetail.adapter.UserPhotoAdapter.onCreateViewHolder(UserPhotoAdapter.java:23)
at com.wenming.weiswift.widget.endlessrecyclerview.HeaderAndFooterRecyclerViewAdapter.onCreateViewHolder(HeaderAndFooterRecyclerViewAdapter.java:165)
at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5464)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4689)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4599)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1988)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:528)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1347)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3003)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2881)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3265)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:596)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at com.wenming.swipebacklayout.SwipeBackLayout.onLayout(SwipeBackLayout.java:402)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
at android.view.View.layout(View.java:15656)
at android.view.ViewGroup.layout(ViewGroup.java:4857)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2288)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2008)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1238)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6473)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803)
at android.view.Choreographer.doCallbacks(Choreographer.java:603)
at android.view.Choreographer.doFrame(Choreographer.java:573)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)

【CrashLog】 WeiSwift 2016-07-27 22:33:00:61

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 4247 Thread Name: pool-3-thread-1 Time: 2016-07-27 22:16:31:10 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getPath()' on a null object reference
at pl.droidsonroids.gif.GifDrawable.(GifDrawable.java:136)
at com.wenming.weiswift.ui.common.FillContent.displayGif(FillContent.java:453)
at com.wenming.weiswift.ui.common.FillContent$7.onLoadingComplete(FillContent.java:544)
at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:283)
at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:209)
at com.nostra13.universalimageloader.core.ImageLoader.loadImage(ImageLoader.java:528)
at com.nostra13.universalimageloader.core.ImageLoader.loadImage(ImageLoader.java:464)
at com.wenming.weiswift.ui.common.FillContent.fillImageList(FillContent.java:484)
at com.wenming.weiswift.ui.login.fragment.home.timelineimagelist.ImageAdapter.onBindViewHolder(ImageAdapter.java:45)
at com.wenming.weiswift.ui.login.fragment.home.timelineimagelist.ImageAdapter.onBindViewHolder(ImageAdapter.java:23)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5453)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5486)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4723)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4599)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1988)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:528)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1347)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3003)
at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:2600)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
at android.view.View.measure(View.java:20151)
at android.support.v7.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:7454)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1410)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1347)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3003)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2881)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3265)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:596)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1742)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1742)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1742)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:3193)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5812)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2666)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2367)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7414)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
at android.view.Choreographer.doCallbacks(Choreographer.java:695)
at android.view.Choreographer.doFrame(Choreographer.java:631)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

recyclerview图片错乱

lz,我最近也在做类似的东西,我已经把图片加载的框架都跟你用一样的了,然而还是会出现图片错乱的现象,难道是你的WeiboAdapter里调用了requestLayout??

【CrashLog】 WeiSwift 2016-07-27 14:50:02:24

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 16149 Thread Name: pool-3-thread-1 Time: 2016-07-27 14:49:09:03 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
android.view.InflateException: Binary XML file line #29: Binary XML file line #29: Error inflating class com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress
at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:749)
at android.view.LayoutInflater.inflate()
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.wenming.weiswift.ui.login.fragment.home.imagedetaillist.ViewPagerAdapter.instantiateItem(ViewPagerAdapter.java:79)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:943)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1091)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1025)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3158)
at android.view.View.measure(View.java:20151)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2594)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1549)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1841)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7414)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
at android.view.Choreographer.doCallbacks(Choreographer.java:695)
at android.view.Choreographer.doFrame(Choreographer.java:631)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)
Caused by: android.view.InflateException: Binary XML file line #29: Error inflating class com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
... 43 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress" on path: DexPathList[[zip file "/data/app/com.wenming.weiswift-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wenming.weiswift-1/lib/arm64, /data/app/com.wenming.weiswift-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.view.LayoutInflater.createView(LayoutInflater.java:595)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
... 47 more
Suppressed: java.lang.ClassNotFoundException: com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 50 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
android.view.InflateException: Binary XML file line #29: Error inflating class com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:749)
at android.view.LayoutInflater.inflate()
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.wenming.weiswift.ui.login.fragment.home.imagedetaillist.ViewPagerAdapter.instantiateItem(ViewPagerAdapter.java:79)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:943)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1091)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1025)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3158)
at android.view.View.measure(View.java:20151)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2594)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1549)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1841)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7414)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
at android.view.Choreographer.doCallbacks(Choreographer.java:695)
at android.view.Choreographer.doFrame(Choreographer.java:631)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress" on path: DexPathList[[zip file "/data/app/com.wenming.weiswift-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wenming.weiswift-1/lib/arm64, /data/app/com.wenming.weiswift-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.view.LayoutInflater.createView(LayoutInflater.java:595)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
... 47 more
Suppressed: java.lang.ClassNotFoundException: com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 50 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
java.lang.ClassNotFoundException: Didn't find class "com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress" on path: DexPathList[[zip file "/data/app/com.wenming.weiswift-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wenming.weiswift-1/lib/arm64, /data/app/com.wenming.weiswift-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.view.LayoutInflater.createView(LayoutInflater.java:595)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:749)
at android.view.LayoutInflater.inflate()
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at com.wenming.weiswift.ui.login.fragment.home.imagedetaillist.ViewPagerAdapter.instantiateItem(ViewPagerAdapter.java:79)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:943)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1091)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1025)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
at android.view.View.measure(View.java:20151)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6328)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3158)
at android.view.View.measure(View.java:20151)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2594)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1549)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1841)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1437)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7414)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
at android.view.Choreographer.doCallbacks(Choreographer.java:695)
at android.view.Choreographer.doFrame(Choreographer.java:631)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)
Suppressed: java.lang.ClassNotFoundException: com.example.wenmingvs.imagelistdemo.imagedetails.DonutProgress
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 50 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

界面背景半透明

浏览微博图片界面,点击右上角按钮,底部弹出popwindow,界面背景颜色变成半透明,想请问这个过程怎么实现渐变呢?微博客户端好像有个透明度动画的

【CrashLog】 2016-07-16 19:11:22:78

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Trd: 1 main 2016-07-16 19:09:59:46 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
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:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 WeiSwift 2016-07-27 23:10:02:203

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: OPPO
DEVICE: N3
HARDWARE: qcom

Thread ID: 25334 Thread Name: pool-4-thread-1 Time: 2016-07-27 23:09:56:809 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException
at com.wenming.weiswift.ui.login.fragment.home.weiboitemdetail.activity.BaseDetailActivity$6.onScrollStateChanged(BaseDetailActivity.java:334)
at android.support.v7.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:3972)
at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:1194)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2453)
at android.view.View.dispatchTouchEvent(View.java:7706)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2217)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1945)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2118)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1521)
at android.app.Activity.dispatchTouchEvent(Activity.java:2513)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2044)
at android.view.View.dispatchPointerEvent(View.java:7886)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4022)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3864)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3408)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3458)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3427)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3534)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3435)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3591)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3408)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3458)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3427)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3435)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3408)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5607)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5587)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5558)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5687)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:198)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:189)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5660)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5706)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:542)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5049)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)

Crash Log: AndroidCrash

APPLICATION INFORMATION
Application : AndroidCrash
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: MSM8974
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
CPU_ABI: armeabi-v7a
CPU_ABI2: armeabi
DEVICE: hlte
DISPLAY: LRX21V.N9009KEU2GOH5
FINGERPRINT: samsung/h3gduosctc/hlte:5.0/LRX21V/N9009KEU2GOH5:user/release-keys
HARDWARE: qcom
HOST: SWDE2211
ID: LRX21V
MANUFACTURER: samsung
PRODUCT: h3gduosctc
TAGS: release-keys
TYPE: user
USER: dpi

发现一个问题

我下载完运行后,注册和登陆按钮点击了啥反应都没有呢?是不是点击事件忘记加了呢?

【CrashLog】 2016-07-16 19:16:57:78

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Trd: 1 main 2016-07-16 19:16:54:91 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
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:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

有一些错误,直接编译没有成功

layout 有两个文件的命名中有大写字母
有一个类的文件名和类名不统一
不是什么大问题,改一下就好了,有点好奇为啥会存在这样的错误

请教一个问题,listview里面嵌套gridview的问题

你好,最近我遇到一个问题,就是listview里面嵌套gridview的问题,如果要让gridview显示完全,就需要重写gridview的onMeasure方法,但是这样会导致gridview里面的viewholder不能够被复用,假如一个item的gridview的view item 有很多(可以复用gridview的adapter然后加上分页,这是我能够想到),但是我感觉这个貌似也不算是最佳方案,不知道你是怎么解决这种问题的呢,有没有好一点的解决思路?

【CrashLog】 WeiSwift 2016-07-27 23:10:09:411

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: OPPO
DEVICE: N3
HARDWARE: qcom

Thread ID: 25355 Thread Name: pool-4-thread-1 Time: 2016-07-27 23:10:06:37 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException
at com.wenming.weiswift.ui.login.fragment.home.weiboitemdetail.activity.BaseDetailActivity$6.onScrollStateChanged(BaseDetailActivity.java:334)
at android.support.v7.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:3972)
at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:1194)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2453)
at android.view.View.dispatchTouchEvent(View.java:7706)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2217)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1945)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2223)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2118)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1521)
at android.app.Activity.dispatchTouchEvent(Activity.java:2513)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2044)
at android.view.View.dispatchPointerEvent(View.java:7886)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4022)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3864)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3408)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3458)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3427)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3534)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3435)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3591)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3408)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3458)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3427)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3435)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3408)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5607)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5587)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5558)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5687)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:198)
at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:189)
at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5660)
at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5706)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at android.view.Choreographer.doCallbacks(Choreographer.java:574)
at android.view.Choreographer.doFrame(Choreographer.java:542)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5049)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:818)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)

【CrashLog】 WeiSwift 2016-07-26 16:04:29:44

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Meizu
DEVICE: m2note
HARDWARE: mt6735

Thread ID: 821 Thread Name: pool-5-thread-1 Time: 2016-07-26 16:04:24:55 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getTop()' on a null object reference
at com.wenming.weiswift.ui.login.fragment.home.weiboitemdetail.activity.BaseDetailActivity$6.onScrollStateChanged(BaseDetailActivity.java:334)
at android.support.v7.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:3972)
at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:1194)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java:2453)
at android.view.View.dispatchTouchEvent(View.java:8667)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2517)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2523)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2175)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2511)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1807)
at android.app.Activity.dispatchTouchEvent(Activity.java:2839)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2468)
at android.view.View.dispatchPointerEvent(View.java:8873)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4831)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4689)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4188)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4241)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4207)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4344)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4215)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4401)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4188)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4241)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4207)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4215)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4188)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6645)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6619)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6572)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6812)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:148)
at android.os.Looper.loop(Looper.java:151)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

关于微博应用审核

作者你好,我是从知乎上看你回答过来,想向你学习一下,开发到“我的”页面,但是新用户接口需要审核成功才可调用,想问下作者是怎样提交审核的,盼回复,谢谢~

【CrashLog】 WeiSwift 2016-07-27 17:15:20:91

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Meizu
DEVICE: m2note
HARDWARE: mt6735

Thread ID: 911 Thread Name: pool-2-thread-1 Time: 2016-07-27 17:15:20:07 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.ClassCastException: android.widget.ImageView cannot be cast to uk.co.senab.photoview.PhotoView
at com.wenming.weiswift.ui.login.fragment.home.userdetail.adapter.UserPhotoAdapter$ViewHolder.(UserPhotoAdapter.java:79)
at com.wenming.weiswift.ui.login.fragment.home.userdetail.adapter.UserPhotoAdapter.onCreateViewHolder(UserPhotoAdapter.java:46)
at com.wenming.weiswift.ui.login.fragment.home.userdetail.adapter.UserPhotoAdapter.onCreateViewHolder(UserPhotoAdapter.java:23)
at com.wenming.weiswift.widget.endlessrecyclerview.HeaderAndFooterRecyclerViewAdapter.onCreateViewHolder(HeaderAndFooterRecyclerViewAdapter.java:165)
at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5464)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4689)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4599)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1988)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:528)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1347)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:574)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3003)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2881)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3265)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:596)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1959)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1813)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1722)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at com.wenming.swipebacklayout.SwipeBackLayout.onLayout(SwipeBackLayout.java:402)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:639)
at android.widget.FrameLayout.onLayout(FrameLayout.java:574)
at android.view.View.layout(View.java:16100)
at android.view.ViewGroup.layout(ViewGroup.java:5185)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2587)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2281)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1329)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6780)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:818)
at android.view.Choreographer.doCallbacks(Choreographer.java:621)
at android.view.Choreographer.doFrame(Choreographer.java:584)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:804)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

【CrashLog】 WeiSwift 2016-07-25 06:27:02:36

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Android
DEVICE: vbox86p
HARDWARE: vbox86

Thread ID: 447 Thread Name: pool-5-thread-1 Time: 2016-07-25 06:26:57:53 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.IllegalStateException: Could not find method onArrorClick(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.widget.ImageView with id 'toolbar_back'
at android.view.View$DeclaredOnClickListener.resolveMethod(View.java:4479)
at android.view.View$DeclaredOnClickListener.onClick(View.java:4443)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

【CrashLog】 2016-07-16 19:12:20:28

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: N9009KEU2GOH5
BRAND: samsung
DEVICE: hlte
HARDWARE: qcom

Trd: 1 main 2016-07-16 19:12:18:17 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:42)
at android.view.View.performClick(View.java:5197)
at android.view.View$PerformClick.run(View.java:20909)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
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:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

【CrashLog】 WeiSwift 2016-07-26 11:40:04:66

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Meizu
DEVICE: M3s
HARDWARE: mt6755

Thread ID: 589 Thread Name: pool-5-thread-1 Time: 2016-07-26 11:40:03:94 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.IllegalStateException: Could not find a method onArrorClick(View) in the activity class com.wenming.weiswift.ui.login.fragment.message.mention.MentionActivity for onClick handler on view class android.widget.ImageView with id 'toolbar_back'
at android.view.View$1.onClick(View.java:4108)
at android.view.View.performClick(View.java:4909)
at android.view.View$PerformClick.run(View.java:20390)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5791)
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:1109)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)
Caused by: java.lang.NoSuchMethodException: onArrorClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:679)
at java.lang.Class.getMethod(Class.java:651)
at android.view.View$1.onClick(View.java:4101)
... 10 more
java.lang.NoSuchMethodException: onArrorClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:679)
at java.lang.Class.getMethod(Class.java:651)
at android.view.View$1.onClick(View.java:4101)
at android.view.View.performClick(View.java:4909)
at android.view.View$PerformClick.run(View.java:20390)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5791)
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:1109)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)

【CrashLog】 2016-07-16 21:32:47:75

Application Information
App Name : CrashCacheDemo
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Trd: 1 main 2016-07-16 21:22:36:79 Class: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at com.wenming.crashcachedemo.MainActivity$1.onClick(MainActivity.java:43)
at android.view.View.performClick(View.java:5697)
at android.widget.TextView.performClick(TextView.java:10816)
at android.view.View$PerformClick.run(View.java:22526)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

您好,想请教您关于这个APP设计上的问题

1.我看您的layout文件拆分的特别碎,比如说一个TitleBar就整了一个xml文件,为什么要拆这么碎啊
2.一般在公司里写代码是按照功能模块划分么(首页,消息。。。),我一般都是按照代码功能划分(Activity,Fragment。。)
3.Mvp会造成类爆炸,但是我见代码中注释到是为了解决Fragment过于复杂才这么设计的,为什么?

【CrashLog】 WeiSwift 2016-07-22 10:18:10:86

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
DEVICE: hero2qltechn
HARDWARE: qcom

Thread ID: 43635 Thread Name: pool-5-thread-1 Time: 2016-07-22 10:13:35:11 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference
at com.wenming.weiswift.ui.login.fragment.message.mention.MentionActivity.showLoadFooterView(MentionActivity.java:209)
at com.wenming.weiswift.ui.login.fragment.message.mention.MentionActivity$5.onLoadNextPage(MentionActivity.java:134)
at com.wenming.weiswift.widget.endlessrecyclerview.EndlessRecyclerOnScrollListener.onScrollStateChanged(EndlessRecyclerOnScrollListener.java:91)
at android.support.v7.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:3972)
at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:1194)
at android.support.v7.widget.RecyclerView.access$3900(RecyclerView.java:147)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4110)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)
at android.view.Choreographer.doCallbacks(Choreographer.java:695)
at android.view.Choreographer.doFrame(Choreographer.java:628)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:134)

【CrashLog】 WeiSwift 2016-07-27 19:44:20:97

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: angler-03.52
BRAND: google
DEVICE: angler
HARDWARE: angler

Thread ID: 1575 Thread Name: pool-2-thread-1 Time: 2016-07-27 19:44:17:94 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.wenming.weiswift.entity.User.screen_name' on a null object reference
at com.wenming.weiswift.ui.login.fragment.profile.ProfileFragment$7.onClick(ProfileFragment.java:178)
at android.view.View.performClick(View.java:5204)
at android.view.View$PerformClick.run(View.java:21155)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5422)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Crash Log: AndroidCrash

APPLICATION INFORMATION
Application : AndroidCrash
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
Board: msm8996
BOOTLOADER: G9350ZHU2APE3
BRAND: samsung
CPU_ABI: arm64-v8a
CPU_ABI2:
DEVICE: hero2qltechn
DISPLAY: MMB29M.G9350ZHU2APE3
FINGERPRINT: samsung/hero2qltezh/hero2qltechn:6.0.1/MMB29M/G9350ZHU2APE3:user/release-keys
HARDWARE: qcom
HOST: SWDD6217
ID: MMB29M
MANUFACTURER: samsung
PRODUCT: hero2qltezh
TAGS: release-keys
TYPE: user
USER: dpi

刚更新完你的代码,app打开后直接崩溃

错误日志如下:
java.io.FileNotFoundException: /storage/emulated/0/weiSwift/home/全部微博2133922964.txt: open failed: ENOENT (No such file or directory)
06-08 11:19:48.585 11813-11813/com.wenming.weiswift W/System.err: at libcore.io.IoBridge.open(IoBridge.java:496)
06-08 11:19:48.585 11813-11813/com.wenming.weiswift W/System.err: at java.io.FileInputStream.(FileInputStream.java:76)
06-08 11:19:48.585 11813-11813/com.wenming.weiswift W/System.err: at java.io.FileReader.(FileReader.java:42)
06-08 11:19:48.585 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.utils.SDCardUtil.get(SDCardUtil.java:114)
06-08 11:19:48.585 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.mvp.model.imp.StatusListModelImp.cacheLoad(StatusListModelImp.java:139)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.mvp.presenter.imp.HomeFragmentPresentImp.firstLoadData(HomeFragmentPresentImp.java:79)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.ui.login.fragment.home.HomeFragment$1.run(HomeFragment.java:95)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at android.os.Handler.handleCallback(Handler.java:815)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at android.os.Handler.dispatchMessage(Handler.java:104)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at android.os.Looper.loop(Looper.java:192)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5784)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at java.lang.reflect.Method.invoke(Native Method)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1084)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at libcore.io.Posix.open(Native Method)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: at libcore.io.IoBridge.open(IoBridge.java:482)
06-08 11:19:48.586 11813-11813/com.wenming.weiswift W/System.err: ... 14 more
06-08 11:19:48.587 11813-11813/com.wenming.weiswift D/AndroidRuntime: Shutting down VM
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: java.lang.NullPointerException: Attempt to invoke interface method 'void com.wenming.weiswift.mvp.model.StatusListModel$OnDataFinishedListener.noDataInFirstLoad(java.lang.String)' on a null object reference
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.mvp.model.imp.StatusListModelImp.cacheLoad(StatusListModelImp.java:149)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.mvp.presenter.imp.HomeFragmentPresentImp.firstLoadData(HomeFragmentPresentImp.java:79)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at com.wenming.weiswift.ui.login.fragment.home.HomeFragment$1.run(HomeFragment.java:95)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at android.os.Handler.handleCallback(Handler.java:815)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at android.os.Handler.dispatchMessage(Handler.java:104)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at android.os.Looper.loop(Looper.java:192)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5784)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at java.lang.reflect.Method.invoke(Native Method)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1084)
06-08 11:19:48.587 11813-11813/com.wenming.weiswift W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
06-08 11:19:48.588 11813-11813/com.wenming.weiswift E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.wenming.weiswift, PID: 11813
java.lang.NullPointerException: Attempt to invoke interface method 'void com.wenming.weiswift.mvp.model.StatusListModel$OnDataFinishedListener.noDataInFirstLoad(java.lang.String)' on a null object reference
at com.wenming.weiswift.mvp.model.imp.StatusListModelImp.cacheLoad(StatusListModelImp.java:149)
at com.wenming.weiswift.mvp.presenter.imp.HomeFragmentPresentImp.firstLoadData(HomeFragmentPresentImp.java:79)
at com.wenming.weiswift.ui.login.fragment.home.HomeFragment$1.run(HomeFragment.java:95)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:5784)
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:1084)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)

【CrashLog】 WeiSwift 2016-07-29 10:00:33:70

Application Information
App Name : WeiSwift
Version Code: 1
Version Name: 1.0

DEVICE INFORMATION
BOOTLOADER: unknown
BRAND: Meizu
DEVICE: m2note
HARDWARE: mt6735

Thread ID: 1539 Thread Name: pool-2-thread-1 Time: 2016-07-29 10:00:27:05 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.IllegalStateException: Could not find a method onArrorClick(View) in the activity class com.wenming.weiswift.ui.login.fragment.message.mention.MentionActivity for onClick handler on view class android.widget.ImageView with id 'toolbar_back'
at android.view.View$1.onClick(View.java:4107)
at android.view.View.performClick(View.java:4908)
at android.view.View$PerformClick.run(View.java:20378)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Caused by: java.lang.NoSuchMethodException: onArrorClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4100)
... 10 more
java.lang.NoSuchMethodException: onArrorClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4100)
at android.view.View.performClick(View.java:4908)
at android.view.View$PerformClick.run(View.java:20378)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

Thread ID: 1492 Thread Name: pool-2-thread-1 Time: 2016-07-29 10:00:32:68 FromClass: CrashHandler > ↓↓↓↓exception↓↓↓↓
java.lang.IllegalStateException: Could not find a method onArrorClick(View) in the activity class com.wenming.weiswift.ui.login.fragment.message.mention.MentionActivity for onClick handler on view class android.widget.ImageView with id 'toolbar_back'
at android.view.View$1.onClick(View.java:4107)
at android.view.View.performClick(View.java:4908)
at android.view.View$PerformClick.run(View.java:20378)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Caused by: java.lang.NoSuchMethodException: onArrorClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4100)
... 10 more
java.lang.NoSuchMethodException: onArrorClick [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4100)
at android.view.View.performClick(View.java:4908)
at android.view.View$PerformClick.run(View.java:20378)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5691)
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:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

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.