eoecn / android-app Goto Github PK
View Code? Open in Web Editor NEWeoe的Android客户端源码
License: GNU General Public License v3.0
eoe的Android客户端源码
License: GNU General Public License v3.0
各位大神们,咱们的客户端有一个说严重也严重,说不严重也不严重的问题,就滑动菜单在关闭状态,到开启状态的那一瞬间有卡顿问题,看看谁能让滑动更加的平衡自然,欢迎大家前来解决这个问题。感谢各位的积极参与。
我自己测试使用系统自有的json解析的速度,要比jackson解析json速度要快写,我是抱着“存在即合理”的想法,所有想听听大牛采用Jackson的原因.... 希望大牛看到后能回复下,先谢谢了
steps:
1.未登录
2.打开侧边栏
3.点击侧边栏中的个人头像
4.进入登录页面
5.登录页面中,在右上角有一个"个人中心"
6.点击会提示:请先登录用户中心
我的理解:这里不应该是个人中心,应该是back功能.点击后回退到主界面去.因为在登录页面中,如果点击下面的back 实体键的时候是返回上一个界面 .
from 587371
客户端希望能签到功能!
请管理查实下source / src / cn / eoe / app / utils / DateUtil.java文件
如果more_url是null的话,more_url.equals(null) 就会蹦了,改成 more_url==null
建议增加离线下载功能,方便阅读
现在的apk是贴在eoeAndroid的帖子里,不方便用户下载,也不方便自动更新,太山寨,太不正规。关于发布我有点想法,在这儿念叨念叨。
发布在何处
仅发布在Google Play上,忽略其他所有的国内菜场。因为eoe并不是做推广,没必要各个菜场发布,那更加大了维护成本。为何是她,因为Google Play是最官方的。
可是有些人没有Google帐号,有些手机上没有Google Play?个人觉得这部分用户没有太大价值,可以直接忽略,还是上面那句话:eoe并不是做推广。
可是Google Play需要国外信用卡?这点应该难不倒eoe吧。
发布周期
周发布,每周五发布,小米这点蛮喜欢的。不过有个前提,更新点大于10个,就当周五发布;否则,下延到下个周五;如果下周五还不够10个,下延到下下周五。
Changelog
在Wiki中将每个版本的Changelog进行说明。
https://github.com/eoecn/android-app/wiki/Changelog
刚才感受了一下APP,发现一个现象,不知道是就要这个效果还是别的什么!就是当前界面为个人中心,向右滑动不能打开左侧菜单栏,点击左上角个人中心时,右边的界面更新为社区博客了!
source\src\cn\eoe\app\utils\DateUtil.java文件编码非utf-8导致乱码
添加直接扫描二维码登录的功能减少手工输入的麻烦。
重新加载了生命周期
from:4j
对客户端也来吐槽吧,最郁闷的是,Slidebar的跳转,居然SlideBar本身还拉伸的,这样就相当于又2个动画,咋眼。
我看源代码当中,当显示item中的图片时,会根据图片的imageurl从数据库中取出图片当时的下载时间,来比较图片是否过期重新下载,如果我到img的路径下,取出相应文件自身属性,用来比较图片是否过期,感觉数据库对于图片的保存时间功能实现上很多余
来源:
http://my.eoe.cn/zly394/archive/1920.html
一、进入文章界面的时候,有时候会出现字体覆盖现象,放大缩小后就好了。
二、收藏有时候收藏不了,一直提示收藏失败,也可能是网络问题,但是文章加载没问题,还有就是收藏成功后取消的话,依然提示收藏成功,这个比较无语……
三、就是在看评论的时候有时候会FC。
四、登录的时候,尤其是用帐号登录,有时也会FC。
五、文章界面双击无法放大缩小。
最后是我的几个建议
一、希望在文章列表里,尤其是在最新XX栏目中增加下拉松开刷新的功能。
二、个人简介内容再增加一些。
进入程序:点击用户登陆!不输入密玥,直接点击绑定!程序崩溃!!!
代码中有些字符串是硬编码
坏处:
不能支持多语言
如果编码损坏了?
看看是接口给反了还是客户端用反了~
build也更容易一些
本应用,好像登录不验证CSRF token。如果使用,如何解决WARNING: Can't verify CSRF token authenticity错误?有遇到的吗?网上的很多解决方案都是在服务器端禁用token验证。
文章内容长按可选择,但是放大缩小后有些地方就会选择位置不准确
06-12 22:38:36.169: E/dalvikvm(12962): Could not find class 'cn.eoe.app.ui.MainActivity', referenced from method cn.eoe.app.ui.SplashActivity.goHome
06-12 22:38:36.179: E/AndroidRuntime(12962): FATAL EXCEPTION: main
06-12 22:38:36.179: E/AndroidRuntime(12962): java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
06-12 22:38:36.179: E/AndroidRuntime(12962): at cn.eoe.app.ui.base.BaseActivity.onCreate(BaseActivity.java:36)
06-12 22:38:36.179: E/AndroidRuntime(12962): at cn.eoe.app.ui.SplashActivity.onCreate(SplashActivity.java:21)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.os.Handler.dispatchMessage(Handler.java:99)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.os.Looper.loop(Looper.java:130)
06-12 22:38:36.179: E/AndroidRuntime(12962): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-12 22:38:36.179: E/AndroidRuntime(12962): at java.lang.reflect.Method.invokeNative(Native Method)
06-12 22:38:36.179: E/AndroidRuntime(12962): at java.lang.reflect.Method.invoke(Method.java:507)
06-12 22:38:36.179: E/AndroidRuntime(12962): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:906)
06-12 22:38:36.179: E/AndroidRuntime(12962): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:664)
06-12 22:38:36.179: E/AndroidRuntime(12962): at dalvik.system.NativeStart.main(Native Method)
点击个人中心——>换一种方式登录——>输入用户名和密码——>点击立即登录,提示登录成功但是获取信息失败,无论我重新登录多少次结果都一样。我查看了一下log,问题出在我登录时返回的key上,在Utility.java类中第77行(String[] temp = key.split(":");)对key进行了拆分,接着在80行获取temp数组的第二个元素(temp[1]),由于我登录时返回的key形式如下:"52********:",所以导致报错,信息如下:10-10 23:11:05.788: W/System.err(3403): java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
。不知道这种情况是我的这个帐号特殊还是其他的某些帐号也会出现这种情况。
在做两指放大缩小的时候有时会Toast提示说双击可放大和缩小,但是双击无效
我大概列下大纲,如下
包括如何fork,修改,push 到自己的repo,给eoecn发pull request,本地添加eoecn的源,fetch eoecn最新的代码,merge到自己的代码
为了让这个项目能更好的发展和壮大,维护团队可以规划一些里程碑,定期发布
https://github.com/eoecn/android-app/issues/milestones
我创建了第一个里程碑:
ver1.1.0
主要:
大家对这个app有啥需求,可以尽快提上来~
下拉左边功能列表时,社区精髓那一行会变黑,。。
现在输入秘钥,有点麻烦
是否有考虑使用二维码扫描呢,客户端的我来支持
设置页面的二维码生成,通过网站来生成
把整个项目的结构和框架整理下,方便其他人了解和参与~
4.1.1上试用了一下。发现有时候点进博客,不知道是网络原因还是其他什么问题,出现NULL字样。是不是可以加些判断检测呢。另外,收藏评论也一直不成功,是还没做好吧
最近在看客户端的源代码,有时候碰到一些源码代码量很大、或者都是英文注释的文件便google一下,发现是github上的开源项目,如slidingmenu,pageindicator等,只不过此项目没有使用jar包,而是直接拿java源码过来进行了修改。希望在项目主页介绍一下使用到的开源项目,这样使我们有个铺垫。
06-21 10:17:11.098: E/AndroidRuntime(367): FATAL EXCEPTION: main
06-21 10:17:11.098: E/AndroidRuntime(367): java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
06-21 10:17:11.098: E/AndroidRuntime(367): at cn.eoe.app.ui.base.BaseActivity.onCreate(BaseActivity.java:36)
06-21 10:17:11.098: E/AndroidRuntime(367): at cn.eoe.app.ui.SplashActivity.onCreate(SplashActivity.java:21)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.os.Looper.loop(Looper.java:123)
06-21 10:17:11.098: E/AndroidRuntime(367): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-21 10:17:11.098: E/AndroidRuntime(367): at java.lang.reflect.Method.invokeNative(Native Method)
06-21 10:17:11.098: E/AndroidRuntime(367): at java.lang.reflect.Method.invoke(Method.java:521)
06-21 10:17:11.098: E/AndroidRuntime(367): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-21 10:17:11.098: E/AndroidRuntime(367): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-21 10:17:11.098: E/AndroidRuntime(367): at dalvik.system.NativeStart.main(Native Method)
手动导入umeng包,再运行还是报这个错误,怎么解决??
现在只要调用umeng包就报这个错误,我该怎么解决?
最新版源码导入eclipse编译安装报错
最开始准备单独放一个子菜单的,后来发现那页面太空,就直接集成在“资料设置"这个页面里了~
需要替换下客户端上那句提示和示意图~
我这边想在客户端登录一下,说是需要去博客里面生成一个密钥 。我也去pc上面生成了,然后在eoe客户端中辛苦的输入一段“乱码”,结果发现是别人的信息。
1.“乱码”,用户输入太烦了,弄成二维码?扫描一下?
2.有弄密码这个过程,还不如直接用户名密码呢。
#3.登录后能干 嘛?
期待登录,获取到用户的信息,并且 与活动打通。然后我们做一个签到的功能 。
运行出现这个错误java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
在线到无线:文章列表进去后显示null,是否给个提示会更好
无线到在线:无线时列表页显示连接错误,是否可以在改为在线的时候自动刷新一次
登录用用户名和密码登录不成功?
Device:Google Nexus 7
Android Version:4.2.2
重现方法:点进文章后查看,后退,重复几次后可重现,View包里的几个Fragment均有此现象
Exception:
05-04 15:08:37.827: E/AndroidRuntime(10973): FATAL EXCEPTION: main
05-04 15:08:37.827: E/AndroidRuntime(10973): java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.eoe.app/cn.eoe.app.ui.MainActivity}: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment cn.eoe.app.view.WikiFragment: make sure class name exists, is public, and has an empty constructor that is public
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3692)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread.access$700(ActivityThread.java:141)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1240)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.os.Handler.dispatchMessage(Handler.java:99)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.os.Looper.loop(Looper.java:137)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread.main(ActivityThread.java:5041)
05-04 15:08:37.827: E/AndroidRuntime(10973): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 15:08:37.827: E/AndroidRuntime(10973): at java.lang.reflect.Method.invoke(Method.java:511)
05-04 15:08:37.827: E/AndroidRuntime(10973): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-04 15:08:37.827: E/AndroidRuntime(10973): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-04 15:08:37.827: E/AndroidRuntime(10973): at dalvik.system.NativeStart.main(Native Method)
05-04 15:08:37.827: E/AndroidRuntime(10973): Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment cn.eoe.app.view.WikiFragment: make sure class name exists, is public, and has an empty constructor that is public
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.support.v4.app.Fragment.instantiate(Fragment.java:405)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.support.v4.app.FragmentState.instantiate(Fragment.java:97)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1767)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:208)
05-04 15:08:37.827: E/AndroidRuntime(10973): at cn.eoe.app.ui.base.BaseFragmentActivity.onCreate(BaseFragmentActivity.java:15)
05-04 15:08:37.827: E/AndroidRuntime(10973): at cn.eoe.app.ui.base.BaseSlidingFragmentActivity.onCreate(BaseSlidingFragmentActivity.java:21)
05-04 15:08:37.827: E/AndroidRuntime(10973): at cn.eoe.app.ui.MainActivity.onCreate(MainActivity.java:132)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.Activity.performCreate(Activity.java:5104)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
05-04 15:08:37.827: E/AndroidRuntime(10973): ... 12 more
05-04 15:08:37.827: E/AndroidRuntime(10973): Caused by: java.lang.InstantiationException: can't instantiate class cn.eoe.app.view.WikiFragment; no empty constructor
05-04 15:08:37.827: E/AndroidRuntime(10973): at java.lang.Class.newInstanceImpl(Native Method)
05-04 15:08:37.827: E/AndroidRuntime(10973): at java.lang.Class.newInstance(Class.java:1319)
05-04 15:08:37.827: E/AndroidRuntime(10973): at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
05-04 15:08:37.827: E/AndroidRuntime(10973): ... 21 more
这个文件无法通过编译:source/src/cn/eoe/app/widget/XListView.java
具体信息如下:(Using javac 1.7.0_21 to compile java sources)
error1: java: illegal character: \65279
error2: java: class, interface, or enum expected
反馈问题的年龄和性别字体是白色是看不清楚
扫描个人主页中的二维码登录,存在返回空值现象
_成功_
二维码信息:
http://weixin.qq.com/r/7HX_8R7EfiABhw_SnyDI
请求:
http://api.eoe.cn/client/userinfo?key=http://weixin.qq.com/r/7HX_8R7EfiABhw_SnyDI&uid=//weixin.qq.com/r/7HX_8R7EfiABhw_SnyDI&nonce=9e49871c46×tamp=1367550802876&api_sign=8bf2964ef164781d02f1b39b7010989c
返回:
{"response":{"info":{"name":"lichen228","eoe_p":"1","eoe_m":"29","head_image_url":"http://www.eoeandroid.com/uc_server/avatar.php?uid=943006&size=small","reg_at":"2013-05-02 10:39:37","icon":[{"name":"\u4e00\u7ea7\u52cb\u7ae0","img":"http://www.eoeandroid.com/static/image/common/001.png"}]},"favorite":[{"name":"\u535a\u5ba2\u6536\u85cf","lists":[{"title":"\u57fa\u4e8eGithub\u53c2\u4e0eeoe\u7684\u5f00\u6e90\u9879\u76ee\u6307\u5357","short_content":"Github\u662f\u4e00\u4e2a\u975e\u5e38\u68d2\u7684\u9879\u76ee\u6258\u7ba1\u7f51\u7ad9\uff0c\u57fa\u4e8eGi...","url":"http://api.eoe.cn/client/blog?k=show&id=3195"}]},{"name":"\u8d44\u8baf\u6536\u85cf","lists":[]}]}}
_失败_
二维码信息:
http://weixin.qq.com/r/7HX_8R7EfiABhw_SnyDI
请求:
http://api.eoe.cn/client/userinfo?key=http://weixin.qq.com/r/7HX_8R7EfiABhw_SnyDI&uid=//weixin.qq.com/r/7HX_8R7EfiABhw_SnyDI&nonce=6e47812517×tamp=1367557007593&api_sign=68a9b6995db8cd67bdfef336cbcf8ee8
返回:
{"response":{"info":{"name":null,"eoe_p":0,"eoe_m":0,"head_image_url":"http://www.eoeandroid.com/uc_server/avatar.php?uid=&size=small","reg_at":"1970-01-01 08:00:00","icon":[]},"favorite":[{"name":"\u535a\u5ba2\u6536\u85cf","lists":[]},{"name":"\u8d44\u8baf\u6536\u85cf","lists":[]}]}}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.