尚硅谷Android项目之_硅谷商城项目全套源码解析(三、首页)
2016-12-26 00:29
573 查看
一、简介
承接上文:尚硅谷Android项目之_硅谷商城项目全套源码解析(二、主框架搭建)
上篇博客概括的介绍了硅谷商城项目主框架搭建。本篇内容给大家讲解硅谷商城项目首页模块,该模块用到的技术包括但不仅限于OkHttpUtils、fastjson、Banner、CountdownView、ScrollViewContainer、RecyclerView、webview。
二、详细资源地址
由于篇幅所限,详情情况见如下地址视频和笔记
项目免费视频讲解下载地址:http://www.atguigu.com/download.shtml
github地址:https://github.com/atguigu01/Shopping
作者:大海哥
三、运行效果
![](https://img-blog.csdn.net/20161226005152605?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXRndWlndV9jb20=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20161226005201871?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXRndWlndV9jb20=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
四、技术详解
1、采用OkHttpUtils联网获取数据
2、采用fastjson解析数据
private voidprocessData(String
json) {
TypeBean typeBean = JSON.parseObject(json,TypeBean.class);
result = typeBean.getResult();
}
3、采用Banner实现轮播图的效果;
详细使用情况见:https://github.com/youth5201314/banner
4、采用CountdownView实现秒杀倒计时的效果
详细使用情况见:https://github.com/iwgang/CountdownView
5、采用ScrollViewContainer实现详情页面动态滚动
详细使用情况见:https://github.com/jingchenUSTC/ScrollViewContainer
6、采用RecyclerView 实现首页数据的整体展示
1)导包
承接上文:尚硅谷Android项目之_硅谷商城项目全套源码解析(二、主框架搭建)
上篇博客概括的介绍了硅谷商城项目主框架搭建。本篇内容给大家讲解硅谷商城项目首页模块,该模块用到的技术包括但不仅限于OkHttpUtils、fastjson、Banner、CountdownView、ScrollViewContainer、RecyclerView、webview。
二、详细资源地址
由于篇幅所限,详情情况见如下地址视频和笔记
项目免费视频讲解下载地址:http://www.atguigu.com/download.shtml
github地址:https://github.com/atguigu01/Shopping
作者:大海哥
三、运行效果
四、技术详解
1、采用OkHttpUtils联网获取数据
public void getDataFromNet() { OkHttpUtils .get() .url(Constants.HOME_URL) .id(100) .build() .execute(new MyStringCallback()); } public class MyStringCallback extends StringCallback { @Override public void onBefore(Request request, int id) { } @Override public void onAfter(int id) { } @Override public void onError(okhttp3.Call call, Exception e, int id) { } public void onError(Call call, Exception e, int id) { Log.e("TAG", "联网失败" + e.getMessage()); } @Override public void onResponse(String response, int id) { //当联网成功后会回调这里 } }
2、采用fastjson解析数据
private voidprocessData(String
json) {
TypeBean typeBean = JSON.parseObject(json,TypeBean.class);
result = typeBean.getResult();
}
3、采用Banner实现轮播图的效果;
详细使用情况见:https://github.com/youth5201314/banner
4、采用CountdownView实现秒杀倒计时的效果
详细使用情况见:https://github.com/iwgang/CountdownView
5、采用ScrollViewContainer实现详情页面动态滚动
详细使用情况见:https://github.com/jingchenUSTC/ScrollViewContainer
6、采用RecyclerView 实现首页数据的整体展示
1)导包
compile 'com.android.support:recyclerview-v7:24.2.1'
2)初始化采用ButterKnife
@BindView(R.id.rv_home) RecyclerView rvHome; @Override public View initView() { View view = View.inflate(mContext, R.layout.fragment_home, null); ButterKnife.BindView(this, view); //设置点击事件 return view; }
3)加载适配器
adapter = new HomeAdapter(mContext, resultBean); rvHome.setAdapter(adapter);
7)采用webview展示商品详情信息
(1)布局文件
<WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> (2)代码
//设置数据 private void setData() { WebSettings webSettings = webview.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setUseWideViewPort(true); //设置检索缓存的 webSettings.setCacheMode(webSettings.LOAD_CACHE_ELSE_NETWORK); //设置不跳转到系统的浏览器 webview.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebViewview, WebResourceRequest request) { if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.LOLLIPOP) { view.loadUrl(request.getUrl().toString()); } return true; } @Override public boolean shouldOverrideUrlLoading(WebViewview, String url) { //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } @Override public void onPageFinished(WebViewview, String url) { super.onPageFinished(view, url); progressbar.setVisibility(View.GONE); } }); webview.loadUrl(Constants.BASE_URL_IMAGE+webViewBean.getUrl()); }
相关文章推荐
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(一、综述)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(四、分类)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(二、主框架搭建)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(七、购物车)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(五、发现)
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(六、个人中心)
- 关于 Android 开源项目汇总、学习、源码解析
- 练习项目GitHub地址-我的博客园首页RSS解析-Android
- Android 开源项目源码解析 -->公共技术点之 View 事件传递(一)
- Android 开源项目源码解析 -->CircularFloatingActionMenu 源码解析(八)
- Android 开源项目源码解析 -->公共技术点之 Java 注解 Annotation(四)
- 【Android学习】JSON与XML综合六种解析方式-综合案例(web项目源码+android源码+jar包)
- android开源项目源码解析(一)----CircleImageView的源码解析
- Android 开源项目源码解析 -->公共技术点之 Java 动态代理(五)
- android源码解析之(一)-->android项目构建过程
- Android 开源项目源码解析 -->PhotoView 源码解析(七)
- Android 开源项目源码解析 Volley 部分
- Android绘制图表的项目,支持绘制线状图、柱状图、饼状图-HoloGraphLibrary 源码解析,超详细
- Android 开源项目源码解析之DynamicLoadApk 源码解析
- android项目源码解析04:新浪微博客户端源码解析