小食代遇到的坑

小食代这个项目,我的想法是模仿主流的App,所以首先是
1.底部导航栏。我采用的是fragement和Radiogroup的结合来实现的。

2**viewpager的轮播图**,但是我发现原声的是非常不好用的,查询之后,我在github发现了一个很好地开源项目。引入了本地。我采用的方式是从bmob的服务器上读取数据,
遇到的第一个问题是因为我对异步和同步的理解不够深刻,从服务器上读取image的时候,发现了老是报错,说的是还没有图片就要去改变viewpager,后来用handler完美的解决,但是不知道是不是最好的办法。
遇到的第二个问题是我把图片的地址存到了bmob的一个表里,存的时候没有加“”发现客户端根本读取不了,报的错是不能解析这个网址,刚开始我傻傻的想重写inputsteram这个流。还是因为我的粗心吧,但是我又鬼使神差的打了一个log,发现了log里面的网址和服务器上的网址根本不一样。这个时候我就意识到自己的思路有偏差了。赶紧在服务器上加了一个双引号,哈哈哈,果然在本地读到了正确的网址。现在需要把双引号去掉就好了,这个soeasy。果然,之后就能访问了。
这些大概就是viewpager遇到的问题。。。。

3.状态沉浸栏,参考 之前的博客http://blog.csdn.net/hjshpu/article/details/50978778
总结:java基础知识不扎实,需要继续学习。另外看log的时候一定要学会思考。

4.关于自动更新app的方法
bmob的教程
http://docs.bmob.cn/android/autoupdate/index.html?menukey=otherdoc&key=autoupdate

一定要设置好version_i,
遇到的坑,我在真机上进行调试,然后更新的时候,发现下载后无法安装,提示包名冲突,百度之后,总结之后,发现是因为手机上装的是调试版本,没有签名。然后弄个签过名后,就成功了。
小总结:包名一定要一样,否则Android就会把它看做是俩个App,另外签名一定要一样,因为包名一样,签名不一样的话,无法安装。

5.关于引入pulltorefresh下拉刷新的第三方控件。本人使用的是Android studio,最开始以为会有远程库,却发现github上并没有。竟然连jar包都没有找到。无奈之后,只好google了一把,终于找到了一个解决办法,但是却不一定是最好的。
第一步当然是去github上下载,地址https://github.com/chrisbanes/Android-PullToRefresh
然后:
// 解压,得到 extras,sample,library(主要)
Android-PullToRefresh-master -> library
// 在你项目的根目录创建一个lib目录
[PATH]
[app]
[src]
[res]
[build]
build.gradle

[build]
[gradle]
[lib]
// 将 library 重名名为 pull
[pull]
[src]
[res]
[build]

build.gradle
settings.gradle

// 修改 settings.gradle
include ‘:app’, ‘:lib:pull’
// 修改 [app]/build.gradle
dependencies {
// Library
compile project(‘:lib:pull’)
}
// 创建 [lib]/[pull]/build.gradle
apply plugin: ‘android-library’
android {
compileSdkVersion 17
buildToolsVersion “21.1.2”
sourceSets {
main {
manifest.srcFile ‘AndroidManifest.xml’
java.srcDirs = [‘src’]
resources.srcDirs = [‘src’]
aidl.srcDirs = [‘aidl’]
renderscript.srcDirs = [‘src’]
res.srcDirs = [‘res’]
assets.srcDirs = [‘assets’]
}
}
}
之后就可以在自己的项目中引用了,新技能get。。。。

你可能感兴趣的:(github,android,viewpager,导航)