尚硅谷Android项目之_硅谷商城项目全套源码解析(三、首页)
来源:互联网 发布:吉他中国淘宝店 编辑:程序博客网 时间:2024/04/29 23:45
一、简介
承接上文:尚硅谷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;@Overridepublic 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项目之_硅谷商城项目全套源码解析(七、购物车)
- 尚硅谷·网上书城项目(三)
- 尚硅谷_Banking项目的那些事
- 尚硅谷Java视频教程,全套java视频
- 3. 尚硅谷_佟刚_JavaWEB_使用 Eclipse 开发 JavaWEB 项目.wmv
- 【备忘】尚硅谷Java视频_项目:数据采集系统 视频教程 共52课时
- 20. 尚硅谷_佟刚_SpringMVC_ModelAttribute注解之源码分析(无写笔记)
- 尚硅谷·网上书城项目(一)
- 尚硅谷·网上书城项目(二)
- 尚硅谷·网上书城项目(四)
- 尚硅谷·网上书城项目(五)
- 尚硅谷·网上书城项目(六)
- LeetCode112. Path Sum
- 细说JDK动态代理的实现原理
- 【读论文系列】Collaborative Deep Learning for Recommender Systems
- 【Linux】802.1q报文帧结构及其交换机端口属性一般处理流程的示意图
- opnet之Identification Package
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(三、首页)
- linux中基本正则表达式
- SVM熟练到精通2:SVM目标函数的dual优化推导
- [LeetCode]389. Find the Difference
- ORACLE当前用户正在使用无法删除时的强制删除方法
- 最少拦截系统
- OpenGL 几何着色器 Geometry Shader 初探
- java中的对象,类。与 方法的重载。
- 类的实例化:用类来生成对象。