include ':app',':zxinglibrary',':push'
implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'com.github.bumptech.glide:glide:4.7.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1' //okhttp compile 'com.squareup.okhttp3:okhttp:3.6.0' compile 'com.squareup.okio:okio:1.11.0' implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0' //gson compile 'com.google.code.gson:gson:2.8.2' compile 'com.jcodecraeer:xrecyclerview:1.3.2' compile 'com.youth.banner:banner:1.4.10' //最新版本 implementation 'com.android.support:design:27.1.1' compile 'com.sunfusheng:marqueeview:1.3.3' implementation project(':zxinglibrary') implementation files('libs/umeng-common-1.5.0.jar') implementation files('libs/umeng-debug-1.0.0.jar') implementation files('libs/umeng-share-core-6.9.1.jar') implementation files('libs/umeng-share-QQ-simplify-6.9.1.jar') implementation files('libs/umeng-share-wechat-simplify-6.9.1.jar') implementation files('libs/umeng-shareboard-widget-6.9.1.jar') implementation files('libs/umeng-sharetool-6.9.1.jar') implementation project(':push') implementation files('libs/utdid4all-1.1.5.3_proguard.jar')
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" /> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" /> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" /> <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" /> <uses-permission android:name="android.permission.RESTART_PACKAGES" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<application> <service android:name="com.taobao.accs.ChannelService" android:exported="true" android:process=":channel"> <intent-filter> <action android:name="com.taobao.accs.intent.action.SERVICE" /> </intent-filter> <intent-filter> <action android:name="com.taobao.accs.intent.action.ELECTION" /> </intent-filter> </service> <service android:name="com.taobao.accs.data.MsgDistributeService" android:exported="true"> <intent-filter> <action android:name="com.taobao.accs.intent.action.RECEIVE" /> </intent-filter> </service> <receiver android:name="com.taobao.accs.EventReceiver" android:process=":channel"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver> <receiver android:name="com.taobao.accs.ServiceReceiver" android:process=":channel"> <intent-filter> <action android:name="com.taobao.accs.intent.action.COMMAND" /> </intent-filter> <intent-filter> <action android:name="com.taobao.accs.intent.action.START_FROM_AGOO" /> </intent-filter> </receiver> <service android:name="com.taobao.accs.internal.AccsJobService" android:permission="android.permission.BIND_JOB_SERVICE" android:process=":channel"/> <service android:name="com.taobao.accs.ChannelService$KernelService" android:process=":channel" /> <service android:name="org.android.agoo.accs.AgooService" android:exported="true"> <intent-filter> <action android:name="com.taobao.accs.intent.action.RECEIVE" /> </intent-filter> </service> <service android:name="com.umeng.message.UmengIntentService" android:exported="true" android:process=":channel"> <intent-filter> <action android:name="org.agoo.android.intent.action.RECEIVE" /> </intent-filter> </service> <service android:name="com.umeng.message.XiaomiIntentService" android:exported="true" android:process=":channel"> <intent-filter> <action android:name="org.agoo.android.intent.action.RECEIVE" /> </intent-filter> </service> <receiver android:name="com.taobao.agoo.AgooCommondReceiver" android:exported="true" android:process=":channel"> <intent-filter> <action android:name="${applicationId}.intent.action.COMMAND" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver> <service android:name="com.umeng.message.UmengMessageIntentReceiverService" android:exported="true" android:process=":channel"> <intent-filter> <action android:name="org.android.agoo.client.MessageReceiverService" /> </intent-filter> </service> <receiver android:name="com.umeng.message.NotificationProxyBroadcastReceiver" android:exported="false" /> <service android:name="com.umeng.message.UmengMessageCallbackHandlerService" android:exported="false"> <intent-filter> <action android:name="com.umeng.messge.registercallback.action" /> </intent-filter> <intent-filter> <action android:name="com.umeng.message.enablecallback.action" /> </intent-filter> <intent-filter> <action android:name="com.umeng.message.disablecallback.action" /> </intent-filter> <intent-filter> <action android:name="com.umeng.message.message.handler.action" /> </intent-filter> <intent-filter> <action android:name="com.umeng.message.message.sendmessage.action" /> </intent-filter> </service> <service android:name="com.umeng.message.UmengDownloadResourceService" android:exported="false" /> <provider android:name="com.umeng.message.provider.MessageProvider" android:authorities="${applicationId}.umeng.message" android:exported="false"> <grant-uri-permission android:pathPattern=".*" /> </provider> </application> </manifest>
app
MyApp
package com.example.a1512qjd.app; import android.app.Application; import android.content.Context; import android.os.Handler; import android.util.Log; import android.widget.Toast; import com.dash.zxinglibrary.activity.ZXingLibrary; import com.umeng.commonsdk.UMConfigure; import com.umeng.message.IUmengRegisterCallback; import com.umeng.message.PushAgent; import com.umeng.message.UTrack; import com.umeng.message.UmengMessageHandler; import com.umeng.message.UmengNotificationClickHandler; import com.umeng.message.entity.UMessage; import com.umeng.socialize.PlatformConfig; public class MyApp extends Application { { PlatformConfig.setWeixin("wx396ea2b17e2f8938", "e21c38fb0064a9631b05957f6bec73bd"); PlatformConfig.setQQZone("1106788439", "qwQLs9n3pNWxqFM4"); } @Override public void onCreate() { super.onCreate(); //初始化二维码jar包 ZXingLibrary.initDisplayOpinion(this); UMConfigure.init(this, "5adf14f1b27b0a5df000015a" , "umeng", UMConfigure.DEVICE_TYPE_PHONE, ""); PushAgent mPushAgent = PushAgent.getInstance(this); //注册推送服务,每次调用register方法都会回调该接口 mPushAgent.register(new IUmengRegisterCallback() { @Override public void onSuccess(String deviceToken) { //注册成功会返回device token Log.e("MyApp", deviceToken); } @Override public void onFailure(String s, String s1) { Log.e("MyApp", "s:" + s + " s1:" + s1); } }); //自定义通知打开动作 UmengNotificationClickHandler notificationClickHandler = new UmengNotificationClickHandler() { @Override public void dealWithCustomAction(Context context, UMessage msg) { Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show(); } }; mPushAgent.setNotificationClickHandler(notificationClickHandler); //接收消息,但是不再通知栏显示 UmengMessageHandler messageHandler = new UmengMessageHandler() { @Override public void dealWithCustomMessage(final Context context, final UMessage msg) { new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { // 对于自定义消息,PushSDK默认只统计送达。若开发者需要统计点击和忽略,则需手动调用统计方法。 boolean isClickOrDismissed = true; if (isClickOrDismissed) { //自定义消息的点击统计 UTrack.getInstance(getApplicationContext()).trackMsgClick(msg); } else { //自定义消息的忽略统计 UTrack.getInstance(getApplicationContext()).trackMsgDismissed(msg); } Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show(); } }); } }; mPushAgent.setMessageHandler(messageHandler); } }
bean
AdBean
package com.example.a1512qjd.bean; import java.util.List; public class AdBean { /** * msg : * code : 0 * data : [{"aid":1,"createtime":"2017-12-26T21:49:44","icon":"https://www.zhaoapi.cn/images/quarter/ad1.png", * "productId":null,"title":"第十三界瑞丽模特大赛","type":0,"url":"http://m.mv14449315.icoc.bz/index.jsp"},{"aid":2, * "createtime":"2017-12-26T21:49:44","icon":"https://www.zhaoapi.cn/images/quarter/ad2.png","productId":null, * "title":"文化艺术节","type":0,"url":"http://m.mv14449315.icoc.bz/index.jsp"},{"aid":3, * "createtime":"2017-12-26T21:49:44","icon":"https://www.zhaoapi.cn/images/quarter/ad3.png","productId":null, * "title":"直播封面标准","type":0,"url":"http://m.mv14449315.icoc.bz/index.jsp"},{"aid":4, * "createtime":"2017-12-26T21:49:44","icon":"https://www.zhaoapi.cn/images/quarter/ad4.png","productId":"1", * "title":"人气谁最高,金主谁最豪气","type":1,"url":""}] * tuijian : {"list":[{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd * .com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","itemtype":0,"pid":57, * "price":5199,"pscid":40,"salenum":4343,"sellerid":1,"subhead":"【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 * 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}, * {"bargainPrice":11800,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/5025518.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8830/106/1760940277/195595/5cf9412f/59bf2ef5N5ab7dc16.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5428/70/1520969931/274676/b644dd0d/591128e7Nd2f70da0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5566/365/1519564203/36911/620c750c/591128eaN54ac3363.jpg!q70.jpg","itemtype":1,"pid":58, * "price":6399,"pscid":40,"salenum":545,"sellerid":2,"subhead":"升级4G大显存!Nvme协议Pcie SSD, * 速度快人一步】GTX1050Ti就选拯救者!专业游戏键盘&新模具全新设计!","title":"联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD * GTX1050Ti 4G IPS 黑)"},{"bargainPrice":5599,"createtime":"2017-10-10T17:30:32","detailUrl":"https://item.m.jd * .com/product/4824715.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg.com/n12/jfs/t7768/184/1153704394/148460/f42e1432/599a930fN8a85626b * .jpg!q70.jpg","itemtype":0,"pid":59,"price":5599,"pscid":40,"salenum":675,"sellerid":3, * "subhead":"游戏本选择4G独显,拒绝掉帧】升级版IPS全高清防眩光显示屏,WASD方向键颜色加持,三大出风口立体散热!","title":"戴尔DELL灵越游匣15PR-6648B GTX1050 * 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 128GSSD+1T 4G独显 IPS)黑"},{"bargainPrice":11800,"createtime":"2017-10-14T21:48:08", * "detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":60, * "price":13888,"pscid":40,"salenum":466,"sellerid":4,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":61, * "price":14999,"pscid":40,"salenum":5535,"sellerid":5,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":62, * "price":15999,"pscid":40,"salenum":43,"sellerid":6,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":63, * "price":10000,"pscid":40,"salenum":3232,"sellerid":7,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:43:53","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":64, * "price":11000,"pscid":40,"salenum":0,"sellerid":8,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":65, * "price":12000,"pscid":40,"salenum":868,"sellerid":9,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":66, * "price":13000,"pscid":40,"salenum":7676,"sellerid":10,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":67, * "price":14000,"pscid":40,"salenum":757,"sellerid":11,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":68, * "price":15000,"pscid":40,"salenum":656,"sellerid":12,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":69, * "price":16999,"pscid":40,"salenum":6645,"sellerid":13,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":70, * "price":17999,"pscid":40,"salenum":545,"sellerid":14,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":71, * "price":32999,"pscid":40,"salenum":4242,"sellerid":15,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":72, * "price":33999,"pscid":40,"salenum":535,"sellerid":16,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":73, * "price":34999,"pscid":40,"salenum":242,"sellerid":17,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":74, * "price":35999,"pscid":40,"salenum":656,"sellerid":18,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":75, * "price":36999,"pscid":40,"salenum":5454,"sellerid":19,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":76, * "price":37999.99,"pscid":40,"salenum":6868,"sellerid":20,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":77, * "price":38999.99,"pscid":40,"salenum":7757,"sellerid":21,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":78, * "price":999,"pscid":40,"salenum":656,"sellerid":22,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":79, * "price":888,"pscid":40,"salenum":5454,"sellerid":23,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":80, * "price":777,"pscid":40,"salenum":776,"sellerid":1,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"name":"为你推荐"} * miaosha : {"list":[{"bargainPrice":99,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg","itemtype":1,"pid":45, * "price":2999,"pscid":39,"salenum":4666,"sellerid":1, * "subhead":"高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!","title":"一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 * 移动联通电信4G手机"},{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd * .com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","itemtype":0,"pid":46, * "price":234,"pscid":39,"salenum":868,"sellerid":2,"subhead":"【iPhone新品上市】新一代iPhone,让智能看起来更不一样","title":"Apple * iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机"},{"bargainPrice":1599,"createtime":"2017-10-14T21:48:08", * "detailUrl":"https://item.m.jd.com/product/1993026402.html?utm#_source=androidapp&utm#_medium=appshare&utm * #_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t5863/302/8961270302/97126/41feade1/5981c81cNc1b1fbef.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7003/250/1488538438/195825/53bf31ba/5981c57eN51e95176.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5665/100/8954482513/43454/418611a9/5981c57eNd5fc97ba.jpg!q70.jpg","itemtype":2,"pid":47, * "price":111,"pscid":39,"salenum":757,"sellerid":3,"subhead":"碳黑色 32GB 全网通 官方标配 1件","title":"锤子 坚果Pro 特别版 * 巧克力色 酒红色 全网通 移动联通电信4G手机 双卡双待 碳黑色 32GB 全网通"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":48, * "price":222,"pscid":39,"salenum":656,"sellerid":4,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":1999,"createtime":"2017-10-10T16:09:02", * "detailUrl":"https://item.m.jd.com/product/5025971.html?utm#_source=androidapp&utm#_medium=appshare&utm * #_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t7210/232/3738666823/232298/9004583e/59c3a9a7N8de42e15.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8356/82/2107423621/109733/c019b8c6/59c3a9a6Ne9a4bdd7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t10219/74/25356012/171379/7d55e296/59c3a9a8N82fa6e02.jpg!q70.jpg","itemtype":0,"pid":49, * "price":333,"pscid":39,"salenum":123,"sellerid":5,"subhead":"vivo X20 带你开启全面屏时代!逆光也清晰,照亮你的美!","title":"vivo * X20 全面屏手机 全网通 4GB+64GB 金色 移动联通电信4G手机 双卡双待"},{"bargainPrice":3455,"createtime":"2017-10-14T21:48:08", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":2,"pid":50, * "price":444,"pscid":39,"salenum":54,"sellerid":6,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":51, * "price":555,"pscid":39,"salenum":424,"sellerid":7,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455,"createtime":"2017-10-03T23:53:28", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":0,"pid":52, * "price":666,"pscid":39,"salenum":212,"sellerid":8,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":2999,"createtime":"2017-10-14T21:48:08", * "detailUrl":"https://item.m.jd.com/product/2385655.html?utm#_source=androidapp&utm#_medium=appshare&utm * #_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t2068/298/2448145915/157953/7be197df/56d51a42Nd86f1c8e.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2437/128/1687178395/117431/bcc190c1/56d3fcbaNb2963d21.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2467/222/2263160610/95597/927b8a2f/56d3eafeNdecebeb6.jpg!q70.jpg","itemtype":2,"pid":53, * "price":777,"pscid":39,"salenum":0,"sellerid":9,"subhead":"Super AMOLED三星双曲面2K 屏,支持无线充电!","title":"三星 Galaxy * S7 edge(G9350)4GB+32GB 铂光金 移动联通电信4G手机 双卡双待"},{"bargainPrice":3455,"createtime":"2017-10-03T23:53:28", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":0,"pid":54, * "price":888,"pscid":39,"salenum":7575,"sellerid":10,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":55, * "price":5999,"pscid":39,"salenum":788,"sellerid":11,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":56, * "price":99,"pscid":39,"salenum":757,"sellerid":12,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"}],"name":"京东秒杀","time":7200000} */ private String msg; private String code; private TuijianBean tuijian; private MiaoshaBean miaosha; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public TuijianBean getTuijian() { return tuijian; } public void setTuijian(TuijianBean tuijian) { this.tuijian = tuijian; } public MiaoshaBean getMiaosha() { return miaosha; } public void setMiaosha(MiaoshaBean miaosha) { this.miaosha = miaosha; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class TuijianBean { /** * list : [{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd * .com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","itemtype":0,"pid":57, * "price":5199,"pscid":40,"salenum":4343,"sellerid":1,"subhead":"【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 * 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}, * {"bargainPrice":11800,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/5025518.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8830/106/1760940277/195595/5cf9412f/59bf2ef5N5ab7dc16.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5428/70/1520969931/274676/b644dd0d/591128e7Nd2f70da0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5566/365/1519564203/36911/620c750c/591128eaN54ac3363.jpg!q70.jpg","itemtype":1,"pid":58, * "price":6399,"pscid":40,"salenum":545,"sellerid":2,"subhead":"升级4G大显存!Nvme协议Pcie SSD, * 速度快人一步】GTX1050Ti就选拯救者!专业游戏键盘&新模具全新设计!","title":"联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD * GTX1050Ti 4G IPS 黑)"},{"bargainPrice":5599,"createtime":"2017-10-10T17:30:32","detailUrl":"https://item.m * .jd.com/product/4824715.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm * #_term=QQfriends","images":"https://m.360buyimg * .com/n12/jfs/t7768/184/1153704394/148460/f42e1432/599a930fN8a85626b.jpg!q70.jpg","itemtype":0,"pid":59, * "price":5599,"pscid":40,"salenum":675,"sellerid":3, * "subhead":"游戏本选择4G独显,拒绝掉帧】升级版IPS全高清防眩光显示屏,WASD方向键颜色加持,三大出风口立体散热!","title":"戴尔DELL灵越游匣15PR-6648B GTX1050 * 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 128GSSD+1T 4G独显 IPS)黑"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":60, * "price":13888,"pscid":40,"salenum":466,"sellerid":4,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":61, * "price":14999,"pscid":40,"salenum":5535,"sellerid":5,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":62, * "price":15999,"pscid":40,"salenum":43,"sellerid":6,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":63, * "price":10000,"pscid":40,"salenum":3232,"sellerid":7,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:43:53","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":64, * "price":11000,"pscid":40,"salenum":0,"sellerid":8,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":65, * "price":12000,"pscid":40,"salenum":868,"sellerid":9,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":66, * "price":13000,"pscid":40,"salenum":7676,"sellerid":10,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":67, * "price":14000,"pscid":40,"salenum":757,"sellerid":11,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":68, * "price":15000,"pscid":40,"salenum":656,"sellerid":12,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":69, * "price":16999,"pscid":40,"salenum":6645,"sellerid":13,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":70, * "price":17999,"pscid":40,"salenum":545,"sellerid":14,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":71, * "price":32999,"pscid":40,"salenum":4242,"sellerid":15,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":72, * "price":33999,"pscid":40,"salenum":535,"sellerid":16,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":73, * "price":34999,"pscid":40,"salenum":242,"sellerid":17,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":74, * "price":35999,"pscid":40,"salenum":656,"sellerid":18,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":75, * "price":36999,"pscid":40,"salenum":5454,"sellerid":19,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":76, * "price":37999.99,"pscid":40,"salenum":6868,"sellerid":20,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":2,"pid":77, * "price":38999.99,"pscid":40,"salenum":7757,"sellerid":21,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":78, * "price":999,"pscid":40,"salenum":656,"sellerid":22,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":0,"pid":79, * "price":888,"pscid":40,"salenum":5454,"sellerid":23,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","itemtype":1,"pid":80, * "price":777,"pscid":40,"salenum":776,"sellerid":1,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 * 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}] * name : 为你推荐 */ private String name; private List<ListBean> list; public String getName() { return name; } public void setName(String name) { this.name = name; } public List<ListBean> getList() { return list; } public void setList(List<ListBean> list) { this.list = list; } public static class ListBean { /** * bargainPrice : 11800.0 * createtime : 2017-10-10T17:33:37 * detailUrl : https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm * #_campaign=t#_335139774&utm#_term=QQfriends * images : https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg * !q70.jpg * itemtype : 0 * pid : 57 * price : 5199.0 * pscid : 40 * salenum : 4343 * sellerid : 1 * subhead : 【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统 * title : 小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银 */ private double bargainPrice; private String createtime; private String detailUrl; private String images; private int itemtype; private int pid; private double price; private int pscid; private int salenum; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getItemtype() { return itemtype; } public void setItemtype(int itemtype) { this.itemtype = itemtype; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSalenum() { return salenum; } public void setSalenum(int salenum) { this.salenum = salenum; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } } public static class MiaoshaBean { /** * list : [{"bargainPrice":99,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg","itemtype":1,"pid":45, * "price":2999,"pscid":39,"salenum":4666,"sellerid":1, * "subhead":"高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!","title":"一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 * 移动联通电信4G手机"},{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd * .com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","itemtype":0,"pid":46, * "price":234,"pscid":39,"salenum":868,"sellerid":2,"subhead":"【iPhone新品上市】新一代iPhone,让智能看起来更不一样", * "title":"Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机"},{"bargainPrice":1599, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd * .com/product/1993026402.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm * #_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t5863/302/8961270302/97126/41feade1/5981c81cNc1b1fbef.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7003/250/1488538438/195825/53bf31ba/5981c57eN51e95176.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5665/100/8954482513/43454/418611a9/5981c57eNd5fc97ba.jpg!q70.jpg","itemtype":2,"pid":47, * "price":111,"pscid":39,"salenum":757,"sellerid":3,"subhead":"碳黑色 32GB 全网通 官方标配 1件","title":"锤子 坚果Pro 特别版 * 巧克力色 酒红色 全网通 移动联通电信4G手机 双卡双待 碳黑色 32GB 全网通"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26", * "detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":48, * "price":222,"pscid":39,"salenum":656,"sellerid":4,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":1999, * "createtime":"2017-10-10T16:09:02","detailUrl":"https://item.m.jd * .com/product/5025971.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t7210/232/3738666823/232298/9004583e/59c3a9a7N8de42e15.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8356/82/2107423621/109733/c019b8c6/59c3a9a6Ne9a4bdd7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t10219/74/25356012/171379/7d55e296/59c3a9a8N82fa6e02.jpg!q70.jpg","itemtype":0,"pid":49, * "price":333,"pscid":39,"salenum":123,"sellerid":5,"subhead":"vivo X20 带你开启全面屏时代!逆光也清晰,照亮你的美!", * "title":"vivo X20 全面屏手机 全网通 4GB+64GB 金色 移动联通电信4G手机 双卡双待"},{"bargainPrice":3455, * "createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd * .com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":2,"pid":50, * "price":444,"pscid":39,"salenum":54,"sellerid":6,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":51, * "price":555,"pscid":39,"salenum":424,"sellerid":7,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机", * "title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":0,"pid":52, * "price":666,"pscid":39,"salenum":212,"sellerid":8,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机","title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":2999,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/2385655.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t2068/298/2448145915/157953/7be197df/56d51a42Nd86f1c8e.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2437/128/1687178395/117431/bcc190c1/56d3fcbaNb2963d21.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2467/222/2263160610/95597/927b8a2f/56d3eafeNdecebeb6.jpg!q70.jpg","itemtype":2,"pid":53,"price":777,"pscid":39,"salenum":0,"sellerid":9,"subhead":"Super AMOLED三星双曲面2K 屏,支持无线充电!","title":"三星 Galaxy S7 edge(G9350)4GB+32GB 铂光金 移动联通电信4G手机 双卡双待"},{"bargainPrice":3455,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":0,"pid":54,"price":888,"pscid":39,"salenum":7575,"sellerid":10,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机","title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":55,"price":5999,"pscid":39,"salenum":788,"sellerid":11,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机","title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"},{"bargainPrice":3455,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","itemtype":1,"pid":56,"price":99,"pscid":39,"salenum":757,"sellerid":12,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机","title":"小米(MI) 小米MIX2 手机 黑色 全网通 (6GB+64GB)【标配版】"}] * name : 京东秒杀 * time : 7200000 */ private String name; private int time; private List<ListBeanX> list; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getTime() { return time; } public void setTime(int time) { this.time = time; } public List<ListBeanX> getList() { return list; } public void setList(List<ListBeanX> list) { this.list = list; } public static class ListBeanX { /** * bargainPrice : 99.0 * createtime : 2017-10-14T21:38:26 * detailUrl : https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends * images : https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg * itemtype : 1 * pid : 45 * price : 2999.0 * pscid : 39 * salenum : 4666 * sellerid : 1 * subhead : 高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽! * title : 一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机 */ private double bargainPrice; private String createtime; private String detailUrl; private String images; private int itemtype; private int pid; private double price; private int pscid; private int salenum; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getItemtype() { return itemtype; } public void setItemtype(int itemtype) { this.itemtype = itemtype; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSalenum() { return salenum; } public void setSalenum(int salenum) { this.salenum = salenum; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } } public static class DataBean { /** * aid : 1 * createtime : 2017-12-26T21:49:44 * icon : https://www.zhaoapi.cn/images/quarter/ad1.png * productId : null * title : 第十三界瑞丽模特大赛 * type : 0 * url : http://m.mv14449315.icoc.bz/index.jsp */ private int aid; private String createtime; private String icon; private Object productId; private String title; private int type; private String url; public int getAid() { return aid; } public void setAid(int aid) { this.aid = aid; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Object getProductId() { return productId; } public void setProductId(Object productId) { this.productId = productId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getType() { return type; } public void setType(int type) { this.type = type; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } } }
BaseBean
package com.example.a1512qjd.bean; public class BaseBean { /** * msg : 加购成功 * code : 0 */ private String msg; private String code; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } }
CatagoryBean
package com.example.a1512qjd.bean; import java.util.List; public class CatagoryBean { /** * msg : * code : 0 * data : [{"cid":1,"createtime":"2017-10-10T19:41:39","icon":"http://120.27.23.105/images/category/shop.png", * "ishome":1,"name":"京东超市"},{"cid":2,"createtime":"2017-10-10T19:41:39", * "icon":"http://120.27.23.105/images/category/qqg.png","ishome":1,"name":"全球购"},{"cid":3, * "createtime":"2017-10-10T19:45:11","icon":"http://120.27.23.105/images/category/phone.png","ishome":1, * "name":"手机数码"},{"cid":5,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/man * .png","ishome":1,"name":"男装"},{"cid":6,"createtime":"2017-10-10T20:12:03", * "icon":"http://120.27.23.105/images/category/girl.png","ishome":1,"name":"女装"},{"cid":7, * "createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/manshoe.png","ishome":1, * "name":"男鞋"},{"cid":8,"createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/girlshoe * .png","ishome":1,"name":"女鞋"},{"cid":9,"createtime":"2017-10-10T20:12:03", * "icon":"http://120.27.23.105/images/category/shirt.png","ishome":1,"name":"内衣配饰"},{"cid":10, * "createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/bag.png","ishome":1, * "name":"箱包手袋"},{"cid":11,"createtime":"2017-10-10T20:12:03", * "icon":"http://120.27.23.105/images/category/beauty.png","ishome":1,"name":"美妆个护"},{"cid":12, * "createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/jewel.png","ishome":1, * "name":"钟表珠宝"},{"cid":13,"createtime":"2017-10-10T20:12:03", * "icon":"http://120.27.23.105/images/category/luxury.png","ishome":1,"name":"奢侈品"},{"cid":14, * "createtime":"2017-10-10T20:12:03","icon":"http://120.27.23.105/images/category/computer.png","ishome":1, * "name":"电脑办公"},{"cid":15,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png", * "ishome":0,"name":"家用电器"},{"cid":16,"createtime":"2017-09-29T10:13:48", * "icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"食品生鲜"},{"cid":17, * "createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"酒水饮料"}, * {"cid":18,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png","ishome":0, * "name":"母婴童装"},{"cid":19,"createtime":"2017-09-29T10:13:48","icon":"http://120.27.23.105/images/icon.png", * "ishome":0,"name":"玩具乐器"},{"cid":20,"createtime":"2017-09-29T10:13:48", * "icon":"http://120.27.23.105/images/icon.png","ishome":0,"name":"医药保健"}] */ private String msg; private String code; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { /** * cid : 1 * createtime : 2017-10-10T19:41:39 * icon : http://120.27.23.105/images/category/shop.png * ishome : 1 * name : 京东超市 */ private int cid; private String createtime; private String icon; private int ishome; private String name; private boolean checked;//表示是否选中 public boolean getChecked() { return checked; } public void setChecked(boolean checked) { this.checked = checked; } public int getCid() { return cid; } public void setCid(int cid) { this.cid = cid; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public int getIshome() { return ishome; } public void setIshome(int ishome) { this.ishome = ishome; } public String getName() { return name; } public void setName(String name) { this.name = name; } } }
GetCartsBean
package com.example.a1512qjd.bean; import java.util.List; public class GetCartsBean { /** * msg : 请求成功 * code : 0 * data : [{"list":[{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd * .com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","num":2,"pid":46,"price":234, * "pscid":39,"selected":1,"sellerid":2,"subhead":"【iPhone新品上市】新一代iPhone,让智能看起来更不一样","title":"Apple iPhone 8 Plus * (A1864) 64GB 金色 移动联通电信4G手机"},{"bargainPrice":11800,"createtime":"2017-10-14T21:38:26", * "detailUrl":"https://item.m.jd.com/product/5025518.html?utm#_source=androidapp&utm#_medium=appshare&utm * #_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8830/106/1760940277/195595/5cf9412f/59bf2ef5N5ab7dc16.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5428/70/1520969931/274676/b644dd0d/591128e7Nd2f70da0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5566/365/1519564203/36911/620c750c/591128eaN54ac3363.jpg!q70.jpg","num":7,"pid":58,"price":6399, * "pscid":40,"selected":1,"sellerid":2,"subhead":"升级4G大显存!Nvme协议Pcie SSD,速度快人一步】GTX1050Ti就选拯救者!专业游戏键盘&新模具全新设计!", * "title":"联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD GTX1050Ti 4G IPS 黑)"}],"sellerName":"商家2", * "sellerid":"2"},{"list":[{"bargainPrice":22.9,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m * .jd.com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":1,"pid":26,"price":88, * "pscid":2,"selected":1,"sellerid":3,"subhead":"三只松鼠零食特惠,专区满99减50,满199减100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 * 碧根果225g/袋"}],"sellerName":"商家3","sellerid":"3"},{"list":[{"bargainPrice":22.9, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":2,"pid":27,"price":488, * "pscid":2,"selected":1,"sellerid":4,"subhead":"三只松鼠零食特惠,专区满99减50,满199减100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 * 碧根果225g/袋"},{"bargainPrice":11800,"createtime":"2017-10-14T21:48:08","detailUrl":"https://mitem.jd * .hk/ware/view.action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1", * "images":"https://m.360buyimg.com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg * |https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg", * "num":2,"pid":60,"price":13888,"pscid":40,"selected":1,"sellerid":4,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"sellerName":"商家4","sellerid":"4"}, * {"list":[{"bargainPrice":22.9,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":1,"pid":31,"price":788, * "pscid":2,"selected":1,"sellerid":8,"subhead":"三只松鼠零食特惠,专区满99减50,满199减100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 * 碧根果225g/袋"},{"bargainPrice":3455,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/12224420750.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9106/106/1785172479/537280/253bc0ab/59bf78a7N057e5ff7.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8461/5/1492479653/68388/7255e013/59ba5e84N91091843.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8803/356/1478945529/489755/2a163ace/59ba5e84N7bb9a666.jpg!q70.jpg","num":1,"pid":52,"price":666, * "pscid":39,"selected":1,"sellerid":8,"subhead":"【现货新品抢购】全面屏2.0震撼来袭,骁龙835处理器,四曲面陶瓷机","title":"小米(MI) 小米MIX2 手机 * 黑色 全网通 (6GB+64GB)【标配版】"}],"sellerName":"商家8","sellerid":"8"},{"list":[{"bargainPrice":11800, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","num":1,"pid":67,"price":14000, * "pscid":40,"selected":1,"sellerid":11,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 新款Apple MacBook * Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"sellerName":"商家11","sellerid":"11"},{"list":[{"bargainPrice":111.99, * "createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":20,"price":599, * "pscid":1,"selected":1,"sellerid":13, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"}],"sellerName":"商家13","sellerid":"13"},{"list":[{"bargainPrice":111.99, * "createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":2,"pid":1,"price":118, * "pscid":1,"selected":1,"sellerid":17, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"}],"sellerName":"商家17","sellerid":"17"},{"list":[{"bargainPrice":111.99, * "createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":2,"pid":2,"price":299, * "pscid":1,"selected":1,"sellerid":18, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":11800,"createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd * .hk/ware/view.action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1", * "images":"https://m.360buyimg.com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg * |https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg", * "num":1,"pid":74,"price":35999,"pscid":40,"selected":1,"sellerid":18,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"sellerName":"商家18","sellerid":"18"}, * {"list":[{"bargainPrice":11800,"createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd.hk/ware/view * .action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg * .com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","num":7,"pid":75,"price":36999, * "pscid":40,"selected":1,"sellerid":19,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 新款Apple MacBook * Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"sellerName":"商家19","sellerid":"19"},{"list":[{"bargainPrice":111.99, * "createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":2,"pid":6,"price":7.99, * "pscid":1,"selected":1,"sellerid":22, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":11800,"createtime":"2017-10-14T21:38:26","detailUrl":"https://mitem.jd * .hk/ware/view.action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1", * "images":"https://m.360buyimg.com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg * |https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg", * "num":2,"pid":78,"price":999,"pscid":40,"selected":1,"sellerid":22,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)", * "title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP2新13英寸Bar i5/8G/256G"}],"sellerName":"商家22","sellerid":"22"}] */ private String msg; private String code; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { /** * list : [{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd * .com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","num":2,"pid":46, * "price":234,"pscid":39,"selected":1,"sellerid":2,"subhead":"【iPhone新品上市】新一代iPhone,让智能看起来更不一样", * "title":"Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机"},{"bargainPrice":11800, * "createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd * .com/product/5025518.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t8830/106/1760940277/195595/5cf9412f/59bf2ef5N5ab7dc16.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5428/70/1520969931/274676/b644dd0d/591128e7Nd2f70da0.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t5566/365/1519564203/36911/620c750c/591128eaN54ac3363.jpg!q70.jpg","num":7,"pid":58, * "price":6399,"pscid":40,"selected":1,"sellerid":2,"subhead":"升级4G大显存!Nvme协议Pcie SSD, * 速度快人一步】GTX1050Ti就选拯救者!专业游戏键盘&新模具全新设计!","title":"联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD * GTX1050Ti 4G IPS 黑)"}] * sellerName : 商家2 * sellerid : 2 */ private String sellerName; private String sellerid; private List<ListBean> list; public String getSellerName() { return sellerName; } public void setSellerName(String sellerName) { this.sellerName = sellerName; } public String getSellerid() { return sellerid; } public void setSellerid(String sellerid) { this.sellerid = sellerid; } public List<ListBean> getList() { return list; } public void setList(List<ListBean> list) { this.list = list; } public static class ListBean { /** * bargainPrice : 6666.0 * createtime : 2017-10-10T16:01:31 * detailUrl : https://item.m.jd.com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm * #_campaign=t#_335139774&utm#_term=QQfriends * images : https://m.360buyimg.com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg * !q70.jpg|https://m.360buyimg.com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c * .jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db * .jpg!q70.jpg * num : 2 * pid : 46 * price : 234.0 * pscid : 39 * selected : 1 * sellerid : 2 * subhead : 【iPhone新品上市】新一代iPhone,让智能看起来更不一样 * title : Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机 */ private double bargainPrice; private String createtime; private String detailUrl; private String images; private int num; private int pid; private double price; private int pscid; private int selected; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSelected() { return selected; } public void setSelected(int selected) { this.selected = selected; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } } }
ProductCatagoryBean
package com.example.a1512qjd.bean; import java.util.List; public class ProductCatagoryBean { /** * msg : 获取子分类成功 * code : 0 * data : [{"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"月饼","pcid":1,"pscid":1}, * {"icon":"http://120.27.23.105/images/icon.png","name":"坚果炒货","pcid":1,"pscid":2}, * {"icon":"http://120.27.23.105/images/icon.png","name":"糖巧","pcid":1,"pscid":3}, * {"icon":"http://120.27.23.105/images/icon.png","name":"休闲零食","pcid":1,"pscid":4}, * {"icon":"http://120.27.23.105/images/icon.png","name":"肉干肉脯","pcid":1,"pscid":5}, * {"icon":"http://120.27.23.105/images/icon.png","name":"饼干蛋糕","pcid":1,"pscid":6}, * {"icon":"http://120.27.23.105/images/icon.png","name":"蜜饯果干","pcid":1,"pscid":7}, * {"icon":"http://120.27.23.105/images/icon.png","name":"无糖食品","pcid":1,"pscid":8}],"name":"休闲零食","pcid":"1"}, * {"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"新鲜水果","pcid":2,"pscid":9}, * {"icon":"http://120.27.23.105/images/icon.png","name":"海鲜水产","pcid":2,"pscid":10}, * {"icon":"http://120.27.23.105/images/icon.png","name":"精选肉类","pcid":2,"pscid":11}, * {"icon":"http://120.27.23.105/images/icon.png","name":"蛋类","pcid":2,"pscid":12}, * {"icon":"http://120.27.23.105/images/icon.png","name":"新鲜蔬菜","pcid":2,"pscid":13}, * {"icon":"http://120.27.23.105/images/icon.png","name":"冷冻食品","pcid":2,"pscid":14}, * {"icon":"http://120.27.23.105/images/icon.png","name":"饮品甜品","pcid":2,"pscid":15}, * {"icon":"http://120.27.23.105/images/icon.png","name":"大闸蟹","pcid":2,"pscid":16}],"name":"京东生鲜","pcid":"2"}, * {"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"大米","pcid":3,"pscid":21}, * {"icon":"http://120.27.23.105/images/icon.png","name":"面粉","pcid":3,"pscid":22}, * {"icon":"http://120.27.23.105/images/icon.png","name":"杂粮","pcid":3,"pscid":23}, * {"icon":"http://120.27.23.105/images/icon.png","name":"食用油","pcid":3,"pscid":24}, * {"icon":"http://120.27.23.105/images/icon.png","name":"调味品","pcid":3,"pscid":25}, * {"icon":"http://120.27.23.105/images/icon.png","name":"方便速食","pcid":3,"pscid":26}, * {"icon":"http://120.27.23.105/images/icon.png","name":"有机食品","pcid":3,"pscid":27}],"name":"粮油调味","pcid":"3"}, * {"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"饮用水","pcid":4,"pscid":28}, * {"icon":"http://120.27.23.105/images/icon.png","name":"饮料","pcid":4,"pscid":29}, * {"icon":"http://120.27.23.105/images/icon.png","name":"牛奶乳品","pcid":4,"pscid":30}, * {"icon":"http://120.27.23.105/images/icon.png","name":"名茶","pcid":4,"pscid":31}, * {"icon":"http://120.27.23.105/images/icon.png","name":"蜂蜜","pcid":4,"pscid":32}],"name":"水饮茗茶","pcid":"4"}, * {"cid":"1","list":[{"icon":"http://120.27.23.105/images/icon.png","name":"白酒","pcid":5,"pscid":33}, * {"icon":"http://120.27.23.105/images/icon.png","name":"葡萄酒","pcid":5,"pscid":34}, * {"icon":"http://120.27.23.105/images/icon.png","name":"洋酒","pcid":5,"pscid":35}, * {"icon":"http://120.27.23.105/images/icon.png","name":"啤酒","pcid":5,"pscid":36}, * {"icon":"http://120.27.23.105/images/icon.png","name":"黄酒","pcid":5,"pscid":37}, * {"icon":"http://120.27.23.105/images/icon.png","name":"陈年老酒","pcid":5,"pscid":38}],"name":"中外名酒","pcid":"5"}] */ private String msg; private String code; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean { /** * cid : 1 * list : [{"icon":"http://120.27.23.105/images/icon.png","name":"月饼","pcid":1,"pscid":1}, * {"icon":"http://120.27.23.105/images/icon.png","name":"坚果炒货","pcid":1,"pscid":2}, * {"icon":"http://120.27.23.105/images/icon.png","name":"糖巧","pcid":1,"pscid":3}, * {"icon":"http://120.27.23.105/images/icon.png","name":"休闲零食","pcid":1,"pscid":4}, * {"icon":"http://120.27.23.105/images/icon.png","name":"肉干肉脯","pcid":1,"pscid":5}, * {"icon":"http://120.27.23.105/images/icon.png","name":"饼干蛋糕","pcid":1,"pscid":6}, * {"icon":"http://120.27.23.105/images/icon.png","name":"蜜饯果干","pcid":1,"pscid":7}, * {"icon":"http://120.27.23.105/images/icon.png","name":"无糖食品","pcid":1,"pscid":8}] * name : 休闲零食 * pcid : 1 */ private String cid; private String name; private String pcid; private List<ListBean> list; public String getCid() { return cid; } public void setCid(String cid) { this.cid = cid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPcid() { return pcid; } public void setPcid(String pcid) { this.pcid = pcid; } public List<ListBean> getList() { return list; } public void setList(List<ListBean> list) { this.list = list; } public static class ListBean { /** * icon : http://120.27.23.105/images/icon.png * name : 月饼 * pcid : 1 * pscid : 1 */ private String icon; private String name; private int pcid; private int pscid; public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPcid() { return pcid; } public void setPcid(int pcid) { this.pcid = pcid; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } } } }
ProductsBean
package com.example.a1512qjd.bean; import java.io.Serializable; import java.util.List; public class ProductsBean implements Serializable { /** * msg : 请求成功 * code : 0 * data : [{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":20, * "price":599,"pscid":1,"salenum":10000,"sellerid":13, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":8,"price":324, * "pscid":1,"salenum":3000,"sellerid":1, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":9, * "price":78.99,"pscid":1,"salenum":2356,"sellerid":2, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":2,"pid":22, * "price":799,"pscid":1,"salenum":1300,"sellerid":15, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":21, * "price":699,"pscid":1,"salenum":1299,"sellerid":14, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":7, * "price":120.01,"pscid":1,"salenum":1266,"sellerid":23, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":3,"price":198, * "pscid":1,"salenum":1234,"sellerid":19, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":19, * "price":499,"pscid":1,"salenum":1111,"sellerid":12, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":1,"pid":2,"price":299, * "pscid":1,"salenum":999,"sellerid":18, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 * 老北京月饼礼盒655g"},{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd * .com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term * =QQfriends","images":"https://m.360buyimg * .com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg * .com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","itemtype":0,"pid":17, * "price":299,"pscid":1,"salenum":888,"sellerid":10, * "subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}] * page : 1 */ private String msg; private String code; private String page; private List<DataBean> data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getPage() { return page; } public void setPage(String page) { this.page = page; } public List<DataBean> getData() { return data; } public void setData(List<DataBean> data) { this.data = data; } public static class DataBean implements Serializable { /** * bargainPrice : 111.99 * createtime : 2017-10-14T21:39:05 * detailUrl : https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare * &utm_campaign=t_335139774&utm_term=QQfriends * images : https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg * |https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https * ://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg * itemtype : 1 * pid : 20 * price : 599.0 * pscid : 1 * salenum : 10000 * sellerid : 13 * subhead : 每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下 * title : 北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g */ private double bargainPrice; private String createtime; private String detailUrl; private String images; private int itemtype; private int pid; private double price; private int pscid; private int salenum; private int sellerid; private String subhead; private String title; public double getBargainPrice() { return bargainPrice; } public void setBargainPrice(double bargainPrice) { this.bargainPrice = bargainPrice; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public String getDetailUrl() { return detailUrl; } public void setDetailUrl(String detailUrl) { this.detailUrl = detailUrl; } public String getImages() { return images; } public void setImages(String images) { this.images = images; } public int getItemtype() { return itemtype; } public void setItemtype(int itemtype) { this.itemtype = itemtype; } public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getPscid() { return pscid; } public void setPscid(int pscid) { this.pscid = pscid; } public int getSalenum() { return salenum; } public void setSalenum(int salenum) { this.salenum = salenum; } public int getSellerid() { return sellerid; } public void setSellerid(int sellerid) { this.sellerid = sellerid; } public String getSubhead() { return subhead; } public void setSubhead(String subhead) { this.subhead = subhead; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } }
SellerBean
package com.example.a1512qjd.bean; public class SellerBean { private String sellerName; private String sellerid; private boolean selected;//商家是否选中 public boolean isSelected() { return selected; } public void setSelected(boolean selected) { this.selected = selected; } public String getSellerName() { return sellerName; } public void setSellerName(String sellerName) { this.sellerName = sellerName; } public String getSellerid() { return sellerid; } public void setSellerid(String sellerid) { this.sellerid = sellerid; } }
UserBean
package com.example.a1512qjd.bean; public class UserBean { /** * msg : 登录成功 * code : 0 * data : {"age":null,"appkey":"07258a7bbfd8b132","appsecret":"E243E12B205A861F4BBC0492A373A36F", * "createtime":"2018-04-25T09:32:05","email":null,"fans":null,"follow":null,"gender":null,"icon":null, * "latitude":null,"longitude":null,"mobile":"18310830365","money":null,"nickname":null, * "password":"8F669074CAF5513351A2DE5CC22AC04C","praiseNum":null,"token":"5B5E60DC8960BA6DBCF3CBA638A1EC32", * "uid":1235,"userId":null,"username":"18310830365"} */ private String msg; private String code; private DataBean data; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public DataBean getData() { return data; } public void setData(DataBean data) { this.data = data; } public static class DataBean { /** * age : null * appkey : 07258a7bbfd8b132 * appsecret : E243E12B205A861F4BBC0492A373A36F * createtime : 2018-04-25T09:32:05 * email : null * fans : null * follow : null * gender : null * icon : null * latitude : null * longitude : null * mobile : 18310830365 * money : null * nickname : null * password : 8F669074CAF5513351A2DE5CC22AC04C * praiseNum : null * token : 5B5E60DC8960BA6DBCF3CBA638A1EC32 * uid : 1235 * userId : null * username : 18310830365 */ private Object age; private String appkey; private String appsecret; private String createtime; private Object email; private Object fans; private Object follow; private Object gender; private Object icon; private Object latitude; private Object longitude; private String mobile; private Object money; private Object nickname; private String password; private Object praiseNum; private String token; private int uid; private Object userId; private String username; public Object getAge() { return age; } public void setAge(Object age) { this.age = age; } public String getAppkey() { return appkey; } public void setAppkey(String appkey) { this.appkey = appkey; } public String getAppsecret() { return appsecret; } public void setAppsecret(String appsecret) { this.appsecret = appsecret; } public String getCreatetime() { return createtime; } public void setCreatetime(String createtime) { this.createtime = createtime; } public Object getEmail() { return email; } public void setEmail(Object email) { this.email = email; } public Object getFans() { return fans; } public void setFans(Object fans) { this.fans = fans; } public Object getFollow() { return follow; } public void setFollow(Object follow) { this.follow = follow; } public Object getGender() { return gender; } public void setGender(Object gender) { this.gender = gender; } public Object getIcon() { return icon; } public void setIcon(Object icon) { this.icon = icon; } public Object getLatitude() { return latitude; } public void setLatitude(Object latitude) { this.latitude = latitude; } public Object getLongitude() { return longitude; } public void setLongitude(Object longitude) { this.longitude = longitude; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public Object getMoney() { return money; } public void setMoney(Object money) { this.money = money; } public Object getNickname() { return nickname; } public void setNickname(Object nickname) { this.nickname = nickname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Object getPraiseNum() { return praiseNum; } public void setPraiseNum(Object praiseNum) { this.praiseNum = praiseNum; } public String getToken() { return token; } public void setToken(String token) { this.token = token; } public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public Object getUserId() { return userId; } public void setUserId(Object userId) { this.userId = userId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } }
model
inter
AddCartModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface AddCartModel { void addCart(String uid, String pid, String token, OnNetListener onNetListener); }
AdModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface AdModel { void getAd(OnNetListener onNetListener); }
CatagoryModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface CatagoryModel { void getCatagory(OnNetListener onNetListener); }
DeleteCartModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface DeleteCartModel { void deleteCart(String uid, String pid, String token, OnNetListener onNetListener); }
GetCartsModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface GetCartsModel { void getCarts(String uid, String token, OnNetListener onNetListener); }
LoginModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface LoginModel { void login(String mobile, String password, OnNetListener onNetListener); }
ProductCatagoryModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface ProductCatagoryModel { void getProductCatagory(String cid, OnNetListener onNetListener); }
ProductsModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface ProductsModel { void getProducts(String pscid, OnNetListener onNetListener); void getProducts(String pscid, String page, String sort, OnNetListener onNetListener); }
UpdateCartsModel
package com.example.a1512qjd.model.inter; import com.example.a1512qjd.net.OnNetListener; public interface UpdateCartsModel { void updateCarts(String uid, String sellerid, String pid, String num, String selected, String token, OnNetListener onNetListener); }AddCartModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.BaseBean; import com.example.a1512qjd.model.inter.AddCartModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; public class AddCartModelImp implements AddCartModel { @Override public void addCart(String uid, String pid, String token, final OnNetListener onNetListener) { Map<String, String> params = new HashMap<>(); params.put("Uid", uid); params.put("Pid", pid); params.put("Token", token); OkhttpUtils.getInstance().doPost(Api.ADDCART_RUL, params, new OnNetListener() { @Override public void onSuccess(String result) { BaseBean baseBean = new Gson().fromJson(result, BaseBean.class); if ("0".equals(baseBean.getCode())) { onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
AdModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.AdBean; import com.example.a1512qjd.model.inter.AdModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; public class AdModelImp implements AdModel { @Override public void getAd(final OnNetListener onNetListener) { OkhttpUtils.getInstance().doGet(Api.AD_URL, new OnNetListener() { @Override public void onSuccess(String result) { AdBean adBean = new Gson().fromJson(result, AdBean.class); if ("0".equals(adBean.getCode())){ onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
CatagoryModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.CatagoryBean; import com.example.a1512qjd.model.inter.CatagoryModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; public class CatagoryModelImp implements CatagoryModel { @Override public void getCatagory(final OnNetListener onNetListener) { OkhttpUtils.getInstance().doGet(Api.CATAGORY_URL, new OnNetListener() { @Override public void onSuccess(String result) { CatagoryBean catagoryBean = new Gson().fromJson(result, CatagoryBean.class); if ("0".equals(catagoryBean.getCode())){ onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
DeleteCartModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.model.inter.DeleteCartModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import java.util.HashMap; import java.util.Map; public class DeleteCartModelImp implements DeleteCartModel { @Override public void deleteCart(String uid, String pid, String token, final OnNetListener onNetListener) { Map<String,String> params = new HashMap<>(); params.put("uid",uid); params.put("pid",pid); params.put("token",token); OkhttpUtils.getInstance().doPost(Api.DELETECART_URL, params, new OnNetListener() { @Override public void onSuccess(String result) { onNetListener.onSuccess(result); } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
GetCartsModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.GetCartsBean; import com.example.a1512qjd.model.inter.GetCartsModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; public class GetCartsModelImp implements GetCartsModel { @Override public void getCarts(String uid, String token, final OnNetListener onNetListener) { Map<String, String> params = new HashMap<>(); params.put("uid", uid); params.put("token", token); OkhttpUtils.getInstance().doPost(Api.CARTS_URL, params, new OnNetListener() { @Override public void onSuccess(String result) { GetCartsBean getCartsBean = new Gson().fromJson(result, GetCartsBean.class); if ("0".equals(getCartsBean.getCode())) { onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
LoginModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.UserBean; import com.example.a1512qjd.model.inter.LoginModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; public class LoginModelImp implements LoginModel { @Override public void login(String mobile, String password, final OnNetListener onNetListener) { Map<String, String> params = new HashMap<>(); params.put("mobile", mobile); params.put("password", password); OkhttpUtils.getInstance().doPost(Api.LOGIN_URL, params, new OnNetListener() { @Override public void onSuccess(String result) { UserBean userBean = new Gson().fromJson(result, UserBean.class); if ("0".equals(userBean.getCode())) { onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
ProductCatagoryModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.ProductCatagoryBean; import com.example.a1512qjd.model.inter.ProductCatagoryModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; public class ProductCatagoryModelImp implements ProductCatagoryModel { @Override public void getProductCatagory(String cid, final OnNetListener onNetListener) { //创建Map集合 Map<String, String> params = new HashMap<>(); params.put("cid", cid); OkhttpUtils.getInstance().doPost(Api.PRODUCTCATAGORY_URL, params, new OnNetListener() { @Override public void onSuccess(String result) { ProductCatagoryBean productCatagoryBean = new Gson().fromJson(result, ProductCatagoryBean.class); if ("0".equals(productCatagoryBean.getCode())) { onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } }
ProductsModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.bean.ProductsBean; import com.example.a1512qjd.model.inter.ProductsModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; public class ProductsModelImp implements ProductsModel { @Override public void getProducts(String pscid, final OnNetListener onNetListener) { Map<String, String> params = new HashMap<>(); params.put("pscid", pscid); OkhttpUtils.getInstance().doPost(Api.PRODUCTS_URL, params, new OnNetListener() { @Override public void onSuccess(String result) { ProductsBean productsBean = new Gson().fromJson(result, ProductsBean.class); if ("0".equals(productsBean.getCode())) { onNetListener.onSuccess(result); } } @Override public void onFailed(Exception e) { onNetListener.onFailed(e); } }); } @Override public void getProducts(String pscid, String page, String sort, OnNetListener onNetListener) { } }
UpdateCartsModelImp
package com.example.a1512qjd.model; import com.example.a1512qjd.model.inter.UpdateCartsModel; import com.example.a1512qjd.net.Api; import com.example.a1512qjd.net.OkhttpUtils; import com.example.a1512qjd.net.OnNetListener; import java.util.HashMap; import java.util.Map; public class UpdateCartsModelImp implements UpdateCartsModel { @Override public void updateCarts(String uid, String sellerid, String pid, String num, String selected, String token, final OnNetListener onNetListener) { Map<String,String> params = new HashMap<>(); params.put("uid",uid); params.put("sellerid",sellerid); params.put("pid",pid); params.put("num",num); params.put("selected",selected); params.put("token",token); OkhttpUtils.getInstance().doPost(Api.UPDATECARTS_URL, params, new OnNetListener() { @Override public void onSuccess(String result) { onNetListener.onSuccess(result); } @Override public void onFailed(Exception e) { } }); } }
net
Api
package com.example.a1512qjd.net; public interface Api { String LOGIN_URL = "https://www.zhaoapi.cn/user/login"; String AD_URL = "https://www.zhaoapi.cn/ad/getAd"; String CATAGORY_URL = "https://www.zhaoapi.cn/product/getCatagory"; String PRODUCTCATAGORY_URL = "https://www.zhaoapi.cn/product/getProductCatagory"; String PRODUCTS_URL = "https://www.zhaoapi.cn/product/getProducts"; String ADDCART_RUL = "https://www.zhaoapi.cn/product/addCart"; String CARTS_URL = "https://www.zhaoapi.cn/product/getCarts"; String UPDATECARTS_URL = "https://www.zhaoapi.cn/product/updateCarts"; String DELETECART_URL = "https://www.zhaoapi.cn/product/deleteCart"; }
MyInterceptor
package com.example.a1512qjd.net; import java.io.IOException; import okhttp3.FormBody; import okhttp3.HttpUrl; import okhttp3.Interceptor; import okhttp3.Request; import okhttp3.Response; public class MyInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Response response; //区分是GET请求还是POST请求 Request originRequest = chain.request(); if ("GET".equals(originRequest.method())) { HttpUrl httpUrl = originRequest.url() .newBuilder() .addQueryParameter("source", "android") .build(); Request request = new Request.Builder().url(httpUrl).build(); //发送请求 response = chain.proceed(request); } else { FormBody.Builder builder = new FormBody.Builder(); FormBody body = (FormBody) originRequest.body(); int size = body.size(); for (int i = 0; i < size; i++) { builder.add(body.name(i), body.value(i)); } builder.add("source", "android"); FormBody formBody = builder.build(); Request request = new Request.Builder() .url(originRequest.url()) .post(formBody) .build(); response = chain.proceed(request); } return response; } }
OkhttpUtils
package com.example.a1512qjd.net; import android.os.Handler; import android.os.Looper; import java.io.IOException; import java.util.Map; import java.util.concurrent.TimeUnit; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.logging.HttpLoggingInterceptor; public class OkhttpUtils { private static OkhttpUtils instance; private final OkHttpClient okHttpClient; private final Handler handler; private OkhttpUtils() { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); okHttpClient = new OkHttpClient.Builder() .connectTimeout(15, TimeUnit.SECONDS)//连接超时 .writeTimeout(20, TimeUnit.SECONDS)//写入超时 .readTimeout(20, TimeUnit.SECONDS)//读取超时 .addInterceptor(new MyInterceptor()) .addInterceptor(logging) .build(); handler = new Handler(Looper.getMainLooper()); } public static OkhttpUtils getInstance() { if (instance == null) { instance = new OkhttpUtils(); } return instance; } /** * GET请求 * * @param url */ public void doGet(String url, final OnNetListener onNetListener) { //创建Request final Request request = new Request.Builder() .url(url) .build(); //发送请求 okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() { onNetListener.onFailed(e); } }); } @Override public void onResponse(Call call, Response response) throws IOException { //拿到服务器返回的数据 final String string = response.body().string(); handler.post(new Runnable() { @Override public void run() { onNetListener.onSuccess(string); } }); } }); } /** * POST请求 * * @param url * @param params * @param onNetListener */ public void doPost(String url, Map<String, String> params, final OnNetListener onNetListener) { FormBody.Builder builder = new FormBody.Builder(); for (Map.Entry<String, String> entry : params.entrySet()) { builder.add(entry.getKey(), entry.getValue()); } //创建FormBody FormBody formBody = builder.build(); //创建Request Request request = new Request.Builder() .url(url) .post(formBody) .build(); //请求数据 okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, final IOException e) { handler.post(new Runnable() { @Override public void run() { onNetListener.onFailed(e); } }); } @Override public void onResponse(Call call, Response response) throws IOException { //拿到服务器返回的数据 final String string = response.body().string(); handler.post(new Runnable() { @Override public void run() { onNetListener.onSuccess(string); } }); } }); } }
OnNetListener
package com.example.a1512qjd.net; public interface OnNetListener { void onSuccess(String result); void onFailed(Exception e); }
presenter
inter
AddCartPresenter
package com.example.a1512qjd.presenter.inter; public interface AddCartPresenter { void addCart(String uid, String pid, String token); }
AdPresenter
package com.example.a1512qjd.presenter.inter; public interface AdPresenter { void getAd(); }
CatagoryPresenter
package com.example.a1512qjd.presenter.inter; public interface CatagoryPresenter { void getCatagory(); }
DeleteCartPresenter
package com.example.a1512qjd.presenter.inter; public interface DeleteCartPresenter { void deleteCart(String uid, String pid, String token); }
GetCartsPresenter
package com.example.a1512qjd.presenter.inter; public interface GetCartsPresenter { void getCarts(String uid, String token); }
LoginPresenter
package com.example.a1512qjd.presenter.inter; public interface LoginPresenter { void login(String mobile, String password); }
ProductCatagoryPresenter
package com.example.a1512qjd.presenter.inter; public interface ProductCatagoryPresenter { void getProductCatagory(String cid); }
ProductsPresenter
package com.example.a1512qjd.presenter.inter; public interface ProductsPresenter { void getProducts(String pscid); }
UpdateCartsPresenter
package com.example.a1512qjd.presenter.inter; public interface UpdateCartsPresenter { void updateCarts(String uid, String sellerid, String pid, String num, String selected, String token); }
AddCartPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.BaseBean; import com.example.a1512qjd.model.AddCartModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.AddCartPresenter; import com.example.a1512qjd.ui.inter.AddCartView; import com.google.gson.Gson; public class AddCartPresenterImp implements AddCartPresenter { private AddCartView addCartView; private final AddCartModelImp addCartModelImp; public AddCartPresenterImp(AddCartView addCartView) { this.addCartView = addCartView; addCartModelImp = new AddCartModelImp(); } @Override public void addCart(String uid, String pid, String token) { addCartModelImp.addCart(uid, pid, token, new OnNetListener() { @Override public void onSuccess(String result) { if (addCartView != null) { BaseBean baseBean = new Gson().fromJson(result, BaseBean.class); addCartView.showMsg(baseBean.getMsg()); } } @Override public void onFailed(Exception e) { } }); } public void detach() { if (addCartView != null) { addCartView = null; } } }
AdPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.AdBean; import com.example.a1512qjd.model.AdModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.AdPresenter; import com.example.a1512qjd.ui.inter.AdView; import com.google.gson.Gson; public class AdPresenterImp implements AdPresenter { private final AdModelImp adModelImp; private AdView adView; public AdPresenterImp(AdView adView) { this.adView = adView; adModelImp = new AdModelImp(); } @Override public void getAd() { adModelImp.getAd(new OnNetListener() { @Override public void onSuccess(String result) { AdBean adBean = new Gson().fromJson(result, AdBean.class); if (adView != null) { adView.show(adBean); } } @Override public void onFailed(Exception e) { if (adView != null) { adView.showError(e); } } }); } public void detach() { if (adView != null) { adView = null; } } }
CatagoryPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.CatagoryBean; import com.example.a1512qjd.model.CatagoryModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.CatagoryPresenter; import com.example.a1512qjd.ui.inter.CatagoryView; import com.google.gson.Gson; public class CatagoryPresenterImp implements CatagoryPresenter { private final CatagoryModelImp catagoryModelImp; private CatagoryView catagoryView; public CatagoryPresenterImp(CatagoryView catagoryView) { this.catagoryView = catagoryView; catagoryModelImp = new CatagoryModelImp(); } @Override public void getCatagory() { catagoryModelImp.getCatagory(new OnNetListener() { @Override public void onSuccess(String result) { if (catagoryView != null) { CatagoryBean catagoryBean = new Gson().fromJson(result, CatagoryBean.class); catagoryView.showData(catagoryBean.getData()); } } @Override public void onFailed(Exception e) { if (catagoryView != null) { //失败的处理,未写,暂定 } } }); } public void detach() { if (catagoryView != null) { catagoryView = null; } } }
DeleteCartPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.model.DeleteCartModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.DeleteCartPresenter; import com.example.a1512qjd.ui.inter.DeleteCartView; public class DeleteCartPresenterImp implements DeleteCartPresenter { private final DeleteCartModelImp deleteCartModelImp; private DeleteCartView deleteCartView; public DeleteCartPresenterImp(DeleteCartView deleteCartView) { this.deleteCartView = deleteCartView; deleteCartModelImp = new DeleteCartModelImp(); } @Override public void deleteCart(String uid, String pid, String token) { deleteCartModelImp.deleteCart(uid, pid, token, new OnNetListener() { @Override public void onSuccess(String result) { deleteCartView.delSuccess(); } @Override public void onFailed(Exception e) { } }); } }
GetCartsPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.GetCartsBean; import com.example.a1512qjd.bean.SellerBean; import com.example.a1512qjd.model.GetCartsModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.GetCartsPresenter; import com.example.a1512qjd.ui.inter.GetCartsView; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class GetCartsPresenterImp implements GetCartsPresenter { private final GetCartsModelImp getCartsModelImp; private GetCartsView getCartsView; public GetCartsPresenterImp(GetCartsView getCartsView) { this.getCartsView = getCartsView; getCartsModelImp = new GetCartsModelImp(); } @Override public void getCarts(String uid, String token) { getCartsModelImp.getCarts(uid, token, new OnNetListener() { @Override public void onSuccess(String result) { if (getCartsView != null) { List<SellerBean> groupList = new ArrayList<>();//用于封装一级列表 List<List<GetCartsBean.DataBean.ListBean>> childList = new ArrayList<>();//用于封装二级列表 GetCartsBean getCartsBean = new Gson().fromJson(result, GetCartsBean.class); List<GetCartsBean.DataBean> data = getCartsBean.getData(); for (int i = 0; i < data.size(); i++) { GetCartsBean.DataBean dataBean = data.get(i); SellerBean sellerBean = new SellerBean(); sellerBean.setSellerName(dataBean.getSellerName()); sellerBean.setSellerid(dataBean.getSellerid()); sellerBean.setSelected(isSellerProductAllSelect(dataBean)); //true或者false要根据该商家下面的商品是否全选 groupList.add(sellerBean); List<GetCartsBean.DataBean.ListBean> list = dataBean.getList(); childList.add(list); } getCartsView.showData(groupList, childList); } } @Override public void onFailed(Exception e) { } }); } /** * 判断该商家下面的商品是否全选 * * @return */ private boolean isSellerProductAllSelect(GetCartsBean.DataBean dataBean) { //获取该商家下面的所有商品 List<GetCartsBean.DataBean.ListBean> list = dataBean.getList(); for (int i = 0; i < list.size(); i++) { GetCartsBean.DataBean.ListBean listBean = list.get(i); if (0 == listBean.getSelected()) { //如果是0的话,表示有一个商品未选中 return false; } } return true; } public void detach() { if (getCartsView != null) { getCartsView = null; } } }
LoginPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.UserBean; import com.example.a1512qjd.model.LoginModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.LoginPresenter; import com.example.a1512qjd.ui.inter.LoginView; import com.google.gson.Gson; public class LoginPresenterImp implements LoginPresenter { private LoginView loginView; private final LoginModelImp loginModelImp; public LoginPresenterImp(LoginView loginView) { this.loginView = loginView; loginModelImp = new LoginModelImp(); } @Override public void login(String mobile, String password) { //判断账号密码是否合法 loginModelImp.login(mobile, password, new OnNetListener() { @Override public void onSuccess(String result) { if (loginView != null) { UserBean userBean = new Gson().fromJson(result, UserBean.class); loginView.loginSuccess(userBean); } } @Override public void onFailed(Exception e) { } }); } public void detach() { if (loginView != null) { loginView = null; } } }
ProductCatagoryPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.ProductCatagoryBean; import com.example.a1512qjd.model.ProductCatagoryModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.ProductCatagoryPresenter; import com.example.a1512qjd.ui.inter.ProductCatagoryView; import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class ProductCatagoryPresenterImp implements ProductCatagoryPresenter { private ProductCatagoryView view; private final ProductCatagoryModelImp productCatagoryModelImp; public ProductCatagoryPresenterImp(ProductCatagoryView view) { this.view = view; productCatagoryModelImp = new ProductCatagoryModelImp(); } @Override public void getProductCatagory(String cid) { productCatagoryModelImp.getProductCatagory(cid, new OnNetListener() { @Override public void onSuccess(String result) { //定义一个集合用于存放title List<String> groupList = new ArrayList<>(); //定义一个集合用于存放title对应的内容 List<List<ProductCatagoryBean.DataBean.ListBean>> childList = new ArrayList<>(); ProductCatagoryBean productCatagoryBean = new Gson().fromJson(result, ProductCatagoryBean.class); List<ProductCatagoryBean.DataBean> data = productCatagoryBean.getData(); for (int i = 0; i < data.size(); i++) { groupList.add(data.get(i).getName()); List<ProductCatagoryBean.DataBean.ListBean> list = data.get(i).getList(); childList.add(list); } if (view != null) { view.showData(groupList, childList); } } @Override public void onFailed(Exception e) { } }); } }
ProductsPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.bean.ProductsBean; import com.example.a1512qjd.model.ProductsModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.ProductsPresenter; import com.example.a1512qjd.ui.inter.ProductsView; import com.google.gson.Gson; public class ProductsPresenterImp implements ProductsPresenter { private ProductsView view; private final ProductsModelImp productsModelImp; public ProductsPresenterImp(ProductsView view) { this.view = view; productsModelImp = new ProductsModelImp(); } @Override public void getProducts(String pscid) { productsModelImp.getProducts(pscid, new OnNetListener() { @Override public void onSuccess(String result) { if (view != null) { ProductsBean productsBean = new Gson().fromJson(result, ProductsBean.class); view.showData(productsBean.getData()); } } @Override public void onFailed(Exception e) { } }); } public void detach() { if (view != null) { view = null; } } }
UpdateCartsPresenterImp
package com.example.a1512qjd.presenter; import com.example.a1512qjd.model.UpdateCartsModelImp; import com.example.a1512qjd.net.OnNetListener; import com.example.a1512qjd.presenter.inter.UpdateCartsPresenter; import com.example.a1512qjd.ui.inter.UpdateCartsView; public class UpdateCartsPresenterImp implements UpdateCartsPresenter { private final UpdateCartsModelImp updateCartsModelImp; private UpdateCartsView updateCartsView; public UpdateCartsPresenterImp(UpdateCartsView updateCartsView) { this.updateCartsView = updateCartsView; updateCartsModelImp = new UpdateCartsModelImp(); } @Override public void updateCarts(String uid, String sellerid, String pid, String num, String selected, String token) { updateCartsModelImp.updateCarts(uid, sellerid, pid, num, selected, token, new OnNetListener() { @Override public void onSuccess(String result) { updateCartsView.updataSuccess(); } @Override public void onFailed(Exception e) { } }); } }
ui
activity
ListActivity
package com.example.a1512qjd.ui.activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.ProductsBean; import com.example.a1512qjd.presenter.ProductsPresenterImp; import com.example.a1512qjd.ui.adapter.XrvListAdapter; import com.example.a1512qjd.ui.inter.ProductsView; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.ArrayList; import java.util.List; public class ListActivity extends AppCompatActivity implements ProductsView { private XRecyclerView mXrv; private ProductsPresenterImp productsPresenterImp; private int pscid; private boolean isRefresh = true; private XrvListAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); initView(); //获取pscid Intent intent = getIntent(); pscid = intent.getIntExtra("pscid", 0); //绑定 productsPresenterImp = new ProductsPresenterImp(this); productsPresenterImp.getProducts(pscid + ""); } @Override protected void onDestroy() { super.onDestroy(); productsPresenterImp.detach(); } @Override public void showData(final List<ProductsBean.DataBean> list) { final List<ProductsBean.DataBean> tempList = new ArrayList<>(); tempList.addAll(list); //创建适配器 if (isRefresh) { adapter = new XrvListAdapter(this, list); mXrv.setAdapter(adapter); adapter.refresh(tempList); mXrv.refreshComplete();//设置刷新完成 } else { if (adapter != null) { //判断适配器是否创建过 adapter.loadMore(tempList); mXrv.loadMoreComplete();//设置加载更多完成 } } if (adapter == null) { return; } adapter.setOnListItemClickListener(new XrvListAdapter.OnListItemClickListener() { @Override public void OnItemClick(ProductsBean.DataBean dataBean) { Intent intent = new Intent(ListActivity.this, ListDetailsActivity.class); intent.putExtra("bean", dataBean); startActivity(intent); } }); } private void initView() { mXrv = (XRecyclerView) findViewById(R.id.xrv); //设置布局管理器 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); mXrv.setLayoutManager(linearLayoutManager); //设置刷新和加载更多监听 mXrv.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { //刷新 isRefresh = true; productsPresenterImp.getProducts(pscid + ""); } @Override public void onLoadMore() { //加载更多 isRefresh = false; productsPresenterImp.getProducts(pscid + ""); } }); } }
ListDetailsActivity
package com.example.a1512qjd.ui.activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.SpannableString; import android.text.Spanned; import android.text.style.StrikethroughSpan; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.ProductsBean; import com.example.a1512qjd.presenter.AddCartPresenterImp; import com.example.a1512qjd.ui.inter.AddCartView; import com.example.a1512qjd.utils.GlideImageLoader; import com.umeng.socialize.ShareAction; import com.umeng.socialize.UMShareAPI; import com.umeng.socialize.UMShareListener; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.media.UMWeb; import com.youth.banner.Banner; import java.util.Arrays; public class ListDetailsActivity extends AppCompatActivity implements View.OnClickListener, AddCartView { private Banner mBanner; private TextView mTvTitle; private TextView mTvPrice; private TextView mTvVipPrice; private ProductsBean.DataBean bean; private ImageView mIvShare; /** * 购物车 */ private TextView mTvShopCard; /** * 加入购物车 */ private TextView mTvAddCard; private AddCartPresenterImp addCartPresenterImp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_details); //获取JavaBean Intent intent = getIntent(); bean = (ProductsBean.DataBean) intent.getSerializableExtra("bean"); initView(); //设置值 setData(); //绑定 addCartPresenterImp = new AddCartPresenterImp(this); } @Override protected void onDestroy() { super.onDestroy(); addCartPresenterImp.detach(); } @Override public void onStop() { super.onStop(); //结束轮播 mBanner.stopAutoPlay(); } /** * 设置值 */ private void setData() { if (bean == null) { return; } //设置图片加载器 mBanner.setImageLoader(new GlideImageLoader()); String[] imgs = bean.getImages().split("\\|"); //设置图片集合 mBanner.setImages(Arrays.asList(imgs)); //banner设置方法全部调用完毕时最后调用 mBanner.start(); mTvTitle.setText(bean.getTitle()); //给原价加横线 SpannableString spannableString = new SpannableString("原价:" + bean.getSalenum()); StrikethroughSpan strikethroughSpan = new StrikethroughSpan(); spannableString.setSpan(strikethroughSpan, 0, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); mTvPrice.setText(spannableString); mTvVipPrice.setText("现价:" + bean.getPrice()); } private void initView() { mBanner = (Banner) findViewById(R.id.banner); mTvTitle = (TextView) findViewById(R.id.tvTitle); mTvPrice = (TextView) findViewById(R.id.tvPrice); mTvVipPrice = (TextView) findViewById(R.id.tvVipPrice); mIvShare = (ImageView) findViewById(R.id.ivShare); mIvShare.setOnClickListener(this); mTvShopCard = (TextView) findViewById(R.id.tvShopCard); mTvShopCard.setOnClickListener(this); mTvAddCard = (TextView) findViewById(R.id.tvAddCard); mTvAddCard.setOnClickListener(this); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.ivShare: //分享 UMWeb umWeb = new UMWeb(bean.getDetailUrl()); new ShareAction(ListDetailsActivity.this).withMedia(umWeb).setDisplayList(SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN) .setCallback(shareListener).open(); break; case R.id.tvShopCard: //跳转到购物车 Intent intent = new Intent(ListDetailsActivity.this, ShopCartActivity.class); startActivity(intent); break; case R.id.tvAddCard: addCard(); break; } } private void addCard() { //判断用户是否登录 //判断的逻辑是,从SharedPreferences里取uid,如果能取到说明已经登录过,否则跳转到登录页面 SharedPreferences sharedPreferences = getSharedPreferences("user", Context.MODE_PRIVATE); String uid = sharedPreferences.getString("uid", "-1"); if ("-1".equals(uid)) { //跳转到登录页面 Intent intent = new Intent(ListDetailsActivity.this, LoginActivity.class); startActivity(intent); } else { //添加购物车 String token = sharedPreferences.getString("token", ""); addCartPresenterImp.addCart(uid, bean.getPid() + "", token); } } private UMShareListener shareListener = new UMShareListener() { /** * @descrption 分享开始的回调 * @param platform 平台类型 */ @Override public void onStart(SHARE_MEDIA platform) { } /** * @descrption 分享成功的回调 * @param platform 平台类型 */ @Override public void onResult(SHARE_MEDIA platform) { Toast.makeText(ListDetailsActivity.this, "成功 了", Toast .LENGTH_LONG).show(); } /** * @descrption 分享失败的回调 * @param platform 平台类型 * @param t 错误原因 */ @Override public void onError(SHARE_MEDIA platform, Throwable t) { Toast.makeText(ListDetailsActivity.this, "失 败" + t.getMessage (), Toast.LENGTH_LONG).show(); } /** * @descrption 分享取消的回调 * @param platform 平台类型 */ @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(ListDetailsActivity.this, "取消 了", Toast .LENGTH_LONG).show(); } }; @Override public void showMsg(String msg) { Toast.makeText(ListDetailsActivity.this, msg, Toast.LENGTH_SHORT).show(); } }
LoginActivity
package com.example.a1512qjd.ui.activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.UserBean; import com.example.a1512qjd.presenter.LoginPresenterImp; import com.example.a1512qjd.ui.inter.LoginView; public class LoginActivity extends AppCompatActivity implements View.OnClickListener, LoginView { private RelativeLayout mLoginTitleRelative; /** * 请输入手机号 */ private EditText mEditPhone; /** * 请输入密码 */ private EditText mEditPwd; /** * 手机快速注册 */ private TextView mTextRegist; private ImageView mLoginByWechat; private ImageView mLoginByQq; private LoginPresenterImp imp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); initView(); //绑定 imp = new LoginPresenterImp(this); } private void initView() { mLoginTitleRelative = (RelativeLayout) findViewById(R.id.login_title_relative); mEditPhone = (EditText) findViewById(R.id.edit_phone); mEditPwd = (EditText) findViewById(R.id.edit_pwd); mTextRegist = (TextView) findViewById(R.id.text_regist); mTextRegist.setOnClickListener(this); mLoginByWechat = (ImageView) findViewById(R.id.login_by_wechat); mLoginByQq = (ImageView) findViewById(R.id.login_by_qq); mLoginByQq.setOnClickListener(this); } //登录 public void login(View view) { //获取用户名和密码 String mobile = mEditPhone.getText().toString(); String password = mEditPwd.getText().toString(); imp.login(mobile, password); } @Override public void onClick(View v) { switch (v.getId()) { default: break; case R.id.text_regist: break; case R.id.login_by_qq: break; } } @Override public void loginSuccess(UserBean userBean) { //保存用户信息到SharedPreferences SharedPreferences sharedPreferences = getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor edit = sharedPreferences.edit(); edit.putString("uid", userBean.getData().getUid() + ""); edit.putString("name", userBean.getData().getUsername() + ""); edit.putString("iconUrl", userBean.getData().getIcon() + ""); edit.putString("token", userBean.getData().getToken() + ""); edit.commit(); //关闭当前页面 this.finish(); } }
MainActivity
package com.example.a1512qjd.ui.activity; import android.os.Bundle; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.widget.FrameLayout; import android.widget.RadioGroup; import com.example.a1512qjd.R; import com.example.a1512qjd.ui.fragment.ClassFragment; import com.example.a1512qjd.ui.fragment.HomePageFragment; /** * 该类是程序主界面,里面包括5个fragment */ public class MainActivity extends AppCompatActivity { //创建5个Fragment private HomePageFragment homePageFragment; private ClassFragment classFragment; private RadioGroup mRg; private FrameLayout mFlContent; private FragmentManager fragmentManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); setListener(); homePageFragment = new HomePageFragment(); classFragment = new ClassFragment(); fragmentManager = getSupportFragmentManager(); //默认显示首页 fragmentManager.beginTransaction().replace(R.id.flContent, homePageFragment).commit(); } private void setListener() { mRg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rbHomepage: //首页 fragmentManager.beginTransaction().replace(R.id.flContent, homePageFragment).commit(); break; case R.id.rbClass: fragmentManager.beginTransaction().replace(R.id.flContent, classFragment).commit(); break; case R.id.rbFind: break; case R.id.rbShopCar: break; case R.id.rbMine: break; } } }); } @Override protected void onDestroy() { super.onDestroy(); } private void initView() { mRg = (RadioGroup) findViewById(R.id.rg); mFlContent = (FrameLayout) findViewById(R.id.flContent); } }
SearchActivity
package com.example.a1512qjd.ui.activity; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import com.example.a1512qjd.R; import com.example.a1512qjd.ui.widget.FlowLayout; public class SearchActivity extends AppCompatActivity { private String[] mVals = new String[]{"苹果手机", "笔记本电脑", "电饭煲 ", "腊肉", "特产", "剃须刀", "宝宝", "康佳"}; private LayoutInflater mInflater; private FlowLayout mFlowLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); mInflater = LayoutInflater.from(this); mFlowLayout = (FlowLayout) findViewById(R.id.id_flowlayout); initData(); } public void initData() { /** * 找到搜索标签的控件 */ for (int i = 0; i < mVals.length; i++) { TextView tv = (TextView) mInflater.inflate( R.layout.search_label_tv, mFlowLayout, false); tv.setText(mVals[i]); final String str = tv.getText().toString(); //点击事件 tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); mFlowLayout.addView(tv);//添加到父View } } }
ShopCartActivity
package com.example.a1512qjd.ui.activity; import android.app.ProgressDialog; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.CheckBox; import android.widget.ExpandableListView; import android.widget.TextView; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.GetCartsBean; import com.example.a1512qjd.bean.SellerBean; import com.example.a1512qjd.presenter.GetCartsPresenterImp; import com.example.a1512qjd.ui.adapter.ElvShopcartAdapter; import com.example.a1512qjd.ui.inter.GetCartsView; import com.example.a1512qjd.utils.DialogUtil; import java.util.List; public class ShopCartActivity extends AppCompatActivity implements GetCartsView { private ExpandableListView mElv; private GetCartsPresenterImp getCartsPresenterImp; private ProgressDialog progressDialog; /** * 全选 */ private CheckBox mCbAll; /** * 合计: */ private TextView mTvMoney; /** * 去结算: */ private TextView mTvTotal; private ElvShopcartAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shop_cart); //初始化dialog progressDialog = DialogUtil.getProgressDialog(this); initView(); //绑定 getCartsPresenterImp = new GetCartsPresenterImp(this); SharedPreferences sharedPreferences = getSharedPreferences("user", Context.MODE_PRIVATE); String uid = sharedPreferences.getString("uid", "-1"); String token = sharedPreferences.getString("token", ""); getCartsPresenterImp.getCarts(uid, token); } @Override protected void onDestroy() { super.onDestroy(); getCartsPresenterImp.detach(); } private void initView() { mElv = (ExpandableListView) findViewById(R.id.elv); mCbAll = (CheckBox) findViewById(R.id.cbAll); mTvMoney = (TextView) findViewById(R.id.tvMoney); mTvTotal = (TextView) findViewById(R.id.tvTotal); mCbAll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (adapter != null) { progressDialog.show(); adapter.changeAllState(mCbAll.isChecked()); } } }); } @Override public void showData(List<SellerBean> groupList, List<List<GetCartsBean.DataBean.ListBean>> childList) { //判断所有商家是否全部选中 mCbAll.setChecked(isSellerAddSelected(groupList)); //创建适配器 adapter = new ElvShopcartAdapter(this, groupList, childList, getCartsPresenterImp, progressDialog); mElv.setAdapter(adapter); //获取数量和总价 String[] strings = adapter.computeMoneyAndNum(); mTvMoney.setText("总计:" + strings[0] + "元"); mTvTotal.setText("去结算("+strings[1]+"个)"); // //默认展开列表 for (int i = 0; i < groupList.size(); i++) { mElv.expandGroup(i); } //关闭进度条 progressDialog.dismiss(); } /** * 判断所有商家是否全部选中 * * @param groupList * @return */ private boolean isSellerAddSelected(List<SellerBean> groupList) { for (int i = 0; i < groupList.size(); i++) { SellerBean sellerBean = groupList.get(i); if (!sellerBean.isSelected()) { return false; } } return true; } }
WebViewActivity
package com.example.a1512qjd.ui.activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.webkit.WebSettings; import android.webkit.WebView; import com.example.a1512qjd.R; public class WebViewActivity extends AppCompatActivity { private WebView mWv; private String detailUrl; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); //接收地址 Intent intent = getIntent(); detailUrl = intent.getStringExtra("detailUrl"); initView(); mWv.loadUrl(detailUrl); } private void initView() { mWv = (WebView) findViewById(R.id.wv); WebSettings settings = mWv.getSettings(); //支持js settings.setJavaScriptEnabled(true); } }
adapter
ElvAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.content.Intent; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.TextView; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.ProductCatagoryBean; import com.example.a1512qjd.ui.activity.ListActivity; import com.example.a1512qjd.ui.inter.OnItemClickListener; import java.util.List; public class ElvAdapter extends BaseExpandableListAdapter { private Context context; private List<String> groupList; private List<List<ProductCatagoryBean.DataBean.ListBean>> childList; private LayoutInflater inflater; public ElvAdapter(Context context, List<String> groupList, List<List<ProductCatagoryBean.DataBean.ListBean>> childList) { this.context = context; this.groupList = groupList; this.childList = childList; inflater = LayoutInflater.from(context); } @Override public int getGroupCount() { return groupList.size(); } @Override public int getChildrenCount(int groupPosition) { return 1;//因为二级列表是一个RecylerView,所以返回1即可 } @Override public Object getGroup(int groupPosition) { return groupList.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { return childList.get(groupPosition).get(childPosition); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public boolean hasStableIds() { return true; } @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { GroupViewHolder groupViewHolder; if (convertView == null) { groupViewHolder = new GroupViewHolder(); convertView = inflater.inflate(R.layout.rvleft_item, null); groupViewHolder.tv = convertView.findViewById(R.id.tv); convertView.setTag(groupViewHolder); } else { groupViewHolder = (GroupViewHolder) convertView.getTag(); } //显示数据 groupViewHolder.tv.setText(groupList.get(groupPosition)); return convertView; } @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { ChildViewHolder childViewHolder; if (convertView == null) { childViewHolder = new ChildViewHolder(); convertView = inflater.inflate(R.layout.elv_rv, null); childViewHolder.rv = convertView.findViewById(R.id.rv); convertView.setTag(childViewHolder); } else { childViewHolder = (ChildViewHolder) convertView.getTag(); } //显示数据 final List<ProductCatagoryBean.DataBean.ListBean> listBeans = childList.get(groupPosition); //设置布局管理器 childViewHolder.rv.setLayoutManager(new GridLayoutManager(context, 3)); //设置适配器 ElvRvAdapter elvRvAdapter = new ElvRvAdapter(context, listBeans); childViewHolder.rv.setAdapter(elvRvAdapter); elvRvAdapter.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(int position) { //点击跳转到列表页面 Intent intent = new Intent(context, ListActivity.class); int pscid = listBeans.get(position).getPscid(); intent.putExtra("pscid", pscid); context.startActivity(intent); } @Override public void onLongItemClick(int position) { } }); return convertView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return false; } class GroupViewHolder { TextView tv; } class ChildViewHolder { RecyclerView rv; } }
ElvRvAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.ProductCatagoryBean; import com.example.a1512qjd.ui.inter.OnItemClickListener; import java.util.List; public class ElvRvAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<ProductCatagoryBean.DataBean.ListBean> listBeans; private LayoutInflater inflater; private OnItemClickListener onItemClickListener; public ElvRvAdapter(Context context, List<ProductCatagoryBean.DataBean.ListBean> listBeans) { this.context = context; this.listBeans = listBeans; inflater = LayoutInflater.from(context); } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.rvclass_item, parent, false); ElvRvAdapterViewHolder elvRvAdapterViewHolder = new ElvRvAdapterViewHolder(view); return elvRvAdapterViewHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { ElvRvAdapterViewHolder elvRvAdapterViewHolder = (ElvRvAdapterViewHolder) holder; ProductCatagoryBean.DataBean.ListBean listBean = listBeans.get(position); Glide.with(context).load(listBean.getIcon()).into(elvRvAdapterViewHolder.iv); elvRvAdapterViewHolder.tv.setText(listBean.getName()); //给条目设置点击事件 elvRvAdapterViewHolder.ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener != null) { onItemClickListener.onItemClick(position); } } }); } @Override public int getItemCount() { return listBeans.size(); } class ElvRvAdapterViewHolder extends RecyclerView.ViewHolder { private final ImageView iv; private final TextView tv; private final LinearLayout ll; public ElvRvAdapterViewHolder(View itemView) { super(itemView); ll = itemView.findViewById(R.id.ll); iv = itemView.findViewById(R.id.iv); tv = itemView.findViewById(R.id.tv); } } }
ElvShopcartAdapter
package com.example.a1512qjd.ui.adapter; import android.app.ProgressDialog; import android.content.Context; import android.content.SharedPreferences; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.bumptech.glide.Glide; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.GetCartsBean; import com.example.a1512qjd.bean.SellerBean; import com.example.a1512qjd.presenter.DeleteCartPresenterImp; import com.example.a1512qjd.presenter.GetCartsPresenterImp; import com.example.a1512qjd.presenter.UpdateCartsPresenterImp; import com.example.a1512qjd.ui.inter.DeleteCartView; import com.example.a1512qjd.ui.inter.UpdateCartsView; import com.example.a1512qjd.ui.widget.AddSubView; import java.util.List; public class ElvShopcartAdapter extends BaseExpandableListAdapter implements UpdateCartsView, DeleteCartView { private Context context; private List<SellerBean> groupList; private List<List<GetCartsBean.DataBean.ListBean>> childList; private LayoutInflater inflater; private final UpdateCartsPresenterImp updateCartsPresenterImp; private GetCartsPresenterImp getCartsPresenterImp; private final String uid; private final String token; private ProgressDialog progressDialog; private int productIndex; private int groupPosition; private boolean checked; private static final int GETCARTS = 0;//查询购物车 private static final int UPDATE_PRODUCT = 1; //更新商品 private static final int UPDATE_SELLER = 2; //更新卖家 private static int state = GETCARTS; private boolean allSelected; private final DeleteCartPresenterImp deleteCartPresenterImp; public ElvShopcartAdapter(Context context, List<SellerBean> groupList, List<List<GetCartsBean.DataBean.ListBean>> childList, GetCartsPresenterImp getCartsPresenterImp, ProgressDialog progressDialog) { this.context = context; this.groupList = groupList; this.childList = childList; inflater = LayoutInflater.from(context); this.getCartsPresenterImp = getCartsPresenterImp; //绑定 updateCartsPresenterImp = new UpdateCartsPresenterImp(this); deleteCartPresenterImp = new DeleteCartPresenterImp(this); SharedPreferences sharedPreferences = context.getSharedPreferences("user", Context.MODE_PRIVATE); uid = sharedPreferences.getString("uid", "-1"); token = sharedPreferences.getString("token", ""); //初始化进度对话框 this.progressDialog = progressDialog; } @Override public int getGroupCount() { return groupList.size(); } @Override public int getChildrenCount(int groupPosition) { return childList.get(groupPosition).size(); } @Override public Object getGroup(int groupPosition) { return groupList.get(groupPosition); } @Override public Object getChild(int groupPosition, int childPosition) { return childList.get(groupPosition).get(childPosition); } @Override public long getGroupId(int groupPosition) { return groupPosition; } @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } @Override public boolean hasStableIds() { return true; } @Override public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { final GroupViewHolder groupViewHolder; if (convertView == null) { groupViewHolder = new GroupViewHolder(); convertView = inflater.inflate(R.layout.shopcart_seller_item, null); groupViewHolder.cbSeller = convertView.findViewById(R.id.cbSeller); groupViewHolder.tvSeller = convertView.findViewById(R.id.tvSeller); convertView.setTag(groupViewHolder); } else { groupViewHolder = (GroupViewHolder) convertView.getTag(); } //设置值 SellerBean sellerBean = groupList.get(groupPosition); groupViewHolder.tvSeller.setText(sellerBean.getSellerName()); groupViewHolder.cbSeller.setChecked(sellerBean.isSelected()); //给商家checkbox设置点击事件 groupViewHolder.cbSeller.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //设置当前的更新状态 state = UPDATE_PRODUCT; //显示进度条 progressDialog.show(); //默认从第一个商品开始更新购物车状态 productIndex = 0; //全局记录一下当前更新的商家 ElvShopcartAdapter.this.groupPosition = groupPosition; //该商家是否选中 checked = groupViewHolder.cbSeller.isChecked(); //更新商家下的商品状态 updateProductInSeller(); } }); return convertView; } @Override public View getChildView(final int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { final ChildViewHolder childViewHolder; if (convertView == null) { childViewHolder = new ChildViewHolder(); convertView = inflater.inflate(R.layout.shopcart_seller_product_item, null); childViewHolder.cbProduct = convertView.findViewById(R.id.cbProduct); childViewHolder.iv = convertView.findViewById(R.id.iv); childViewHolder.tvTitle = convertView.findViewById(R.id.tvTitle); childViewHolder.tvPrice = convertView.findViewById(R.id.tvPrice); childViewHolder.tvDel = convertView.findViewById(R.id.tvDel); childViewHolder.addSubView = convertView.findViewById(R.id.addSubCard); convertView.setTag(childViewHolder); } else { childViewHolder = (ChildViewHolder) convertView.getTag(); } final GetCartsBean.DataBean.ListBean listBean = childList.get(groupPosition).get(childPosition); //根据服务器返回的select值,给checkBox设置是否选中 childViewHolder.cbProduct.setChecked(listBean.getSelected() == 1 ? true : false); childViewHolder.tvTitle.setText(listBean.getTitle()); childViewHolder.tvPrice.setText(listBean.getPrice() + ""); Glide.with(context).load(listBean.getImages().split("\\|")[0]).into(childViewHolder.iv); childViewHolder.addSubView.setNum(listBean.getNum() + ""); //给二级列表的checkbox设置点击事件 childViewHolder.cbProduct.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { state = GETCARTS; //显示进度条 progressDialog.show(); ElvShopcartAdapter.this.groupPosition = groupPosition; //调用更新购物车接口,改变购物车的状态 //获取卖家id String sellerid = groupList.get(groupPosition).getSellerid(); //获取pid String pid = listBean.getPid() + ""; //是否选中 boolean childChecked = childViewHolder.cbProduct.isChecked(); updateCartsPresenterImp.updateCarts(uid, sellerid, pid, "1", childChecked ? "1" : "0", token); } }); //给加号设置点击事件 childViewHolder.addSubView.setAddOnclickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressDialog.show(); state = GETCARTS; //获取sellerId String sellerid = groupList.get(groupPosition).getSellerid(); //获取pid int pid = listBean.getPid(); //获取数量 int num = listBean.getNum(); num += 1; //是否选中 String isChecked = childViewHolder.cbProduct.isChecked() ? "1" : "0"; //调用更新购物车的接口即可 updateCartsPresenterImp.updateCarts(uid, sellerid, pid + "", num + "", isChecked, token); } }); //给减号设置点击事件 childViewHolder.addSubView.setSubOnclickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressDialog.show(); state = GETCARTS; //获取当前商品的数量 int num = listBean.getNum(); if (num <= 1) { progressDialog.dismiss(); Toast.makeText(context, "数量不能小于1", Toast.LENGTH_SHORT).show(); return; } num -= 1; //获取sellerId String sellerid = groupList.get(groupPosition).getSellerid(); //获取pid int pid = listBean.getPid(); //是否选中 String isChecked = childViewHolder.cbProduct.isChecked() ? "1" : "0"; //更新购物车 updateCartsPresenterImp.updateCarts(uid, sellerid, pid + "", num + "", isChecked, token); } }); //给删除设置点击事件 childViewHolder.tvDel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { progressDialog.show(); state = GETCARTS; //获取pid int pid = listBean.getPid(); //删除购物车里的选项 deleteCartPresenterImp.deleteCart(uid, pid + "", token); } }); return convertView; } @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } //删除成功回调接口 @Override public void delSuccess() { getCartsPresenterImp.getCarts(uid, token); } class GroupViewHolder { CheckBox cbSeller; TextView tvSeller; } class ChildViewHolder { CheckBox cbProduct; ImageView iv; TextView tvTitle; TextView tvPrice; TextView tvDel; AddSubView addSubView; } //更新购物车成功回调的方法 @Override public void updataSuccess() { switch (state) { case GETCARTS: //更新成功以后调用查询购物车接口 productIndex = 0; groupPosition = 0; getCartsPresenterImp.getCarts(uid, token); break; case UPDATE_PRODUCT: //更新成功一个商品以后,再接着更新该商家下面的其它商品,直到没有商品为止 productIndex++; //下标是否越界 if (productIndex < childList.get(groupPosition).size()) { //可以继续跟新商品 updateProductInSeller(); } else { //商品已经全部更新完成,请查询购物车 state = GETCARTS; updataSuccess(); } break; case UPDATE_SELLER: //遍历所有商家下的商品,并更新状态 productIndex++; //下标是否越界 if (productIndex < childList.get(groupPosition).size()) { //可以继续跟新商品 updateProductInSeller(allSelected); } else { //商品已经全部更新完成,请查询购物车 productIndex = 0; groupPosition++; if (groupPosition < groupList.size()) { //可以继续跟新商品 updateProductInSeller(allSelected); } else { //商品已经全部更新完成,请查询购物车 state = GETCARTS; updataSuccess(); } } break; } } /** * 更新购物车列表成功回调的方法 */ // @Override // public void showData() { // progressDialog.dismiss(); // switch (state) { // case UPDATE_PRODUCT: // productIndex++; // //获取对应商家下的商品数量 // int size = childList.get(groupPosition).size(); // if (productIndex < size) { // //继续更新改商家的其它商品状态 // updateProductInSeller(); // } else { // state = GETCARTS; // showData(); // } // break; // case UPDATE_SELLER: // productIndex++; // if (productIndex < childList.get(groupPosition).size()) { // //继续更新改商家的其它商品状态 // updateProductInSeller(allSelected); // } else { // productIndex = 0; // groupPosition++; // if (groupPosition < childList.size()) { // updateProductInSeller(allSelected); // } else { // state = GETCARTS; // showData(); // } // } // break; // case GETCARTS: // //把商品下表还原成默认值0 // productIndex = 0; // //把商家下表还原成默认值0 // groupPosition = 0; // getCartsPresenterImp.getCarts(uid, token); // break; // } // // // } private void updateProductInSeller() { //获取SellerId SellerBean sellerBean = groupList.get(groupPosition); String sellerid = sellerBean.getSellerid(); //获取pid GetCartsBean.DataBean.ListBean listBean = childList.get(groupPosition).get(productIndex); int num = listBean.getNum(); int pid = listBean.getPid(); updateCartsPresenterImp.updateCarts(uid, sellerid, pid + "", num + "", checked ? "1" : "0", token); } private void updateProductInSeller(boolean bool) { //获取SellerId SellerBean sellerBean = groupList.get(groupPosition); String sellerid = sellerBean.getSellerid(); //获取pid GetCartsBean.DataBean.ListBean listBean = childList.get(groupPosition).get(productIndex); int pid = listBean.getPid(); int num = listBean.getNum(); updateCartsPresenterImp.updateCarts(uid, sellerid, pid + "", num + "", bool ? "1" : "0", token); } /** * 计算数量和价钱 * * @return */ public String[] computeMoneyAndNum() { double sum = 0; int num = 0; for (int i = 0; i < groupList.size(); i++) { for (int j = 0; j < childList.get(i).size(); j++) { //判断商品是否选中 GetCartsBean.DataBean.ListBean listBean = childList.get(i).get(j); if (listBean.getSelected() == 1) { //该商品为选中状态 sum += listBean.getPrice() * listBean.getNum(); num += listBean.getNum(); } } } return new String[]{sum + "", num + ""}; } public void changeAllState(boolean bool) { this.allSelected = bool; state = UPDATE_SELLER; //遍历商家下的商品,修改状态 updateProductInSeller(bool); } /* public void changeAllState(boolean bool) { this.allSelected = bool; state = UPDATE_SELLER; updateProductInSeller(bool); }*/ }
RvClassAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.CatagoryBean; import com.example.a1512qjd.ui.inter.OnItemClickListener; import java.util.List; public class RvClassAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<CatagoryBean.DataBean> list; private LayoutInflater inflater; private OnItemClickListener onItemClickListener; public RvClassAdapter(Context context, List<CatagoryBean.DataBean> list) { this.context = context; this.list = list; inflater = LayoutInflater.from(context); } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.rvclass_item, parent, false); ClassViewHoler classViewHoler = new ClassViewHoler(view); return classViewHoler; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { //显示数据 ClassViewHoler classViewHoler = (ClassViewHoler) holder; CatagoryBean.DataBean dataBean = list.get(position); Glide.with(context).load(dataBean.getIcon()).into(classViewHoler.iv); classViewHoler.tv.setText(dataBean.getName()); //给条目设置点击事件 classViewHoler.ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener != null) { onItemClickListener.onItemClick(position); } } }); } @Override public int getItemCount() { return list.size(); } class ClassViewHoler extends RecyclerView.ViewHolder { private final ImageView iv; private final TextView tv; private final LinearLayout ll; public ClassViewHoler(View itemView) { super(itemView); iv = itemView.findViewById(R.id.iv); tv = itemView.findViewById(R.id.tv); ll = itemView.findViewById(R.id.ll); } } }
RvLeftAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.graphics.Color; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.CatagoryBean; import com.example.a1512qjd.ui.inter.OnItemClickListener; import java.util.List; public class RvLeftAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<CatagoryBean.DataBean> list; private LayoutInflater inflater; private OnItemClickListener onItemClickListener; public RvLeftAdapter(Context context, List<CatagoryBean.DataBean> list) { this.context = context; this.list = list; inflater = LayoutInflater.from(context); } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.rvleft_item, parent, false); LeftViewHolder leftViewHolder = new LeftViewHolder(view); return leftViewHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { CatagoryBean.DataBean dataBean = list.get(position); LeftViewHolder leftViewHolder = (LeftViewHolder) holder; leftViewHolder.tv.setText(dataBean.getName()); //设置字体颜色 if (dataBean.getChecked()) { leftViewHolder.tv.setTextColor(Color.RED); leftViewHolder.tv.setBackgroundColor(Color.GRAY); } else { leftViewHolder.tv.setTextColor(Color.BLACK); leftViewHolder.tv.setBackgroundColor(Color.WHITE); } leftViewHolder.tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener != null) { onItemClickListener.onItemClick(position); } } }); } @Override public int getItemCount() { return list.size(); } class LeftViewHolder extends RecyclerView.ViewHolder { private final TextView tv; public LeftViewHolder(View itemView) { super(itemView); tv = itemView.findViewById(R.id.tv); } } /** * 选中后,改变字体颜色和背景色 * * @param position * @param bool */ public void changeCheck(int position, boolean bool) { //先还原一下 for (int i = 0;i<list.size();i++){ list.get(i).setChecked(false); } CatagoryBean.DataBean dataBean = list.get(position); dataBean.setChecked(bool); //刷新界面 notifyDataSetChanged(); } }
RvRecommendAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.AdBean; import com.example.a1512qjd.ui.inter.OnItemClickListener; import java.util.List; public class RvRecommendAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<AdBean.TuijianBean.ListBean> list; private LayoutInflater inflater; private OnItemClickListener onItemClickListener; public RvRecommendAdapter(Context context, List<AdBean.TuijianBean.ListBean> list) { this.context = context; this.list = list; inflater = LayoutInflater.from(context); } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.rvrecommend_item, parent, false); RecommendViewHolder recommendViewHolder = new RecommendViewHolder(view); return recommendViewHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { RecommendViewHolder recommendViewHolder = (RecommendViewHolder) holder; AdBean.TuijianBean.ListBean listBean = list.get(position); String images = listBean.getImages(); String[] split = images.split("\\|"); String url = split.length == 0 ? images : split[0]; Glide.with(context).load(url).into(recommendViewHolder.iv); recommendViewHolder.tv.setText(listBean.getTitle()); } @Override public int getItemCount() { return list.size(); } class RecommendViewHolder extends RecyclerView.ViewHolder { private final ImageView iv; private final TextView tv; public RecommendViewHolder(View itemView) { super(itemView); iv = itemView.findViewById(R.id.iv); tv = itemView.findViewById(R.id.tv); } } }
RvSecKillAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.AdBean; import com.example.a1512qjd.ui.inter.OnItemClickListener; import java.util.List; public class RvSecKillAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<AdBean.MiaoshaBean.ListBeanX> list; private LayoutInflater inflater; private OnItemClickListener onItemClickListener; public RvSecKillAdapter(Context context,List<AdBean.MiaoshaBean.ListBeanX> list) { this.context = context; this.list = list; inflater = LayoutInflater.from(context); } public void setOnItemClickListener(OnItemClickListener onItemClickListener){ this.onItemClickListener = onItemClickListener; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.rvseckill_item, parent, false); SecKillViewHolder secKillViewHolder = new SecKillViewHolder(view); return secKillViewHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { SecKillViewHolder secKillViewHolder = (SecKillViewHolder) holder; AdBean.MiaoshaBean.ListBeanX listBeanX = list.get(position); String url = listBeanX.getImages().split("\\|")[0]; Glide.with(context).load(url).into(secKillViewHolder.iv); secKillViewHolder.iv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener!=null){ onItemClickListener.onItemClick(position); } } }); } @Override public int getItemCount() { return list.size(); } class SecKillViewHolder extends RecyclerView.ViewHolder{ private final ImageView iv; public SecKillViewHolder(View itemView) { super(itemView); iv = itemView.findViewById(R.id.iv); } } }
XrvListAdapter
package com.example.a1512qjd.ui.adapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.ProductsBean; import java.util.List; public class XrvListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; private List<ProductsBean.DataBean> list; private LayoutInflater inflater; private OnListItemClickListener onListItemClickListener; public interface OnListItemClickListener { void OnItemClick(ProductsBean.DataBean dataBean); } public XrvListAdapter(Context context, List<ProductsBean.DataBean> list) { this.context = context; this.list = list; inflater = LayoutInflater.from(context); } public void setOnListItemClickListener(OnListItemClickListener onListItemClickListener) { this.onListItemClickListener = onListItemClickListener; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = inflater.inflate(R.layout.rvlist_item, parent, false); XlvViewHolder xlvViewHolder = new XlvViewHolder(view); return xlvViewHolder; } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { XlvViewHolder xlvViewHolder = (XlvViewHolder) holder; final ProductsBean.DataBean dataBean = list.get(position); String imgUrl = dataBean.getImages().split("\\|")[0]; Glide.with(context).load(imgUrl).into(xlvViewHolder.iv); xlvViewHolder.tvTitle.setText(dataBean.getTitle()); xlvViewHolder.tvPrice.setText("¥" + dataBean.getBargainPrice() + ""); //设置条目监听 xlvViewHolder.ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onListItemClickListener != null) { onListItemClickListener.OnItemClick(dataBean); } } }); } @Override public int getItemCount() { return list.size(); } class XlvViewHolder extends RecyclerView.ViewHolder { private final LinearLayout ll; private final ImageView iv; private final TextView tvTitle; private final TextView tvPrice; public XlvViewHolder(View itemView) { super(itemView); ll = itemView.findViewById(R.id.ll); iv = itemView.findViewById(R.id.iv); tvTitle = itemView.findViewById(R.id.tvTitle); tvPrice = itemView.findViewById(R.id.tvPrice); } } /** * 刷新 * * @param templist */ public void refresh(List<ProductsBean.DataBean> templist) { this.list.clear(); this.list.addAll(templist); notifyDataSetChanged(); } /** * 加载更多 * * @param list */ public void loadMore(List<ProductsBean.DataBean> list) { this.list.addAll(list); notifyDataSetChanged(); } }
fragment
ClassFragment
package com.example.a1512qjd.ui.fragment; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ExpandableListView; import android.widget.ImageView; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.CatagoryBean; import com.example.a1512qjd.bean.ProductCatagoryBean; import com.example.a1512qjd.presenter.CatagoryPresenterImp; import com.example.a1512qjd.presenter.ProductCatagoryPresenterImp; import com.example.a1512qjd.ui.adapter.ElvAdapter; import com.example.a1512qjd.ui.adapter.RvLeftAdapter; import com.example.a1512qjd.ui.inter.CatagoryView; import com.example.a1512qjd.ui.inter.OnItemClickListener; import com.example.a1512qjd.ui.inter.ProductCatagoryView; import java.util.List; /** * 分类 */ public class ClassFragment extends Fragment implements CatagoryView, ProductCatagoryView { private View view; private ImageView mIvZxing; private RecyclerView mRvLeft; private ImageView mIv; private ExpandableListView mElv; private CatagoryPresenterImp catagoryPresenterImp; private ProductCatagoryPresenterImp productCatagoryPresenterImp; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_class, null); //初始化组件 initView(view); //先绑定 catagoryPresenterImp = new CatagoryPresenterImp(this); productCatagoryPresenterImp = new ProductCatagoryPresenterImp(this); //请求数据 catagoryPresenterImp.getCatagory(); return view; } @Override public void onDestroy() { super.onDestroy(); //解绑 catagoryPresenterImp.detach(); } private void initView(View view) { mIvZxing = (ImageView) view.findViewById(R.id.ivZxing); mRvLeft = (RecyclerView) view.findViewById(R.id.rvLeft); mIv = (ImageView) view.findViewById(R.id.iv); mElv = (ExpandableListView) view.findViewById(R.id.elv); mIv.setBackgroundResource(R.drawable.timg); } @Override public void showData(final List<CatagoryBean.DataBean> data) { //设置布局管理器 mRvLeft.setLayoutManager(new LinearLayoutManager(getContext())); mRvLeft.addItemDecoration(new DividerItemDecoration(getContext(), RecyclerView.VERTICAL)); //创建适配器 final RvLeftAdapter adapter = new RvLeftAdapter(getContext(), data); //显示左侧列表数据 mRvLeft.setAdapter(adapter); //根据左侧列表第一项的cid去请求右侧的数据 productCatagoryPresenterImp.getProductCatagory(data.get(0).getCid() + ""); //设置第一个为默认选中 adapter.changeCheck(0, true); //设置点击事件 adapter.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(int position) { //改变DataBean里面check的属性值 adapter.changeCheck(position, true); //请求右侧对应的数据 productCatagoryPresenterImp.getProductCatagory(data.get(position).getCid() + ""); } @Override public void onLongItemClick(int position) { } }); } @Override public void showData(List<String> groupList, List<List<ProductCatagoryBean.DataBean.ListBean>> childList) { //使用ExpandableListView展示数据 ElvAdapter elvAdapter = new ElvAdapter(getContext(), groupList, childList); mElv.setAdapter(elvAdapter); //默认展开列表 for (int i = 0; i < groupList.size(); i++) { mElv.expandGroup(i); } } }
HomePageFragment
package com.example.a1512qjd.ui.fragment; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Toast; import com.dash.zxinglibrary.activity.CaptureActivity; import com.dash.zxinglibrary.activity.CodeUtils; import com.example.a1512qjd.R; import com.example.a1512qjd.bean.AdBean; import com.example.a1512qjd.bean.CatagoryBean; import com.example.a1512qjd.presenter.AdPresenterImp; import com.example.a1512qjd.presenter.CatagoryPresenterImp; import com.example.a1512qjd.ui.activity.WebViewActivity; import com.example.a1512qjd.ui.adapter.RvClassAdapter; import com.example.a1512qjd.ui.adapter.RvRecommendAdapter; import com.example.a1512qjd.ui.adapter.RvSecKillAdapter; import com.example.a1512qjd.ui.inter.AdView; import com.example.a1512qjd.ui.inter.CatagoryView; import com.example.a1512qjd.ui.inter.OnItemClickListener; import com.example.a1512qjd.utils.GlideImageLoader; import com.sunfusheng.marqueeview.MarqueeView; import com.youth.banner.Banner; import java.util.ArrayList; import java.util.List; /** * 首页 */ public class HomePageFragment extends Fragment implements AdView, CatagoryView { private Banner banner; private AdPresenterImp adPresenterImp; private CatagoryPresenterImp catagoryPresenterImp; private RecyclerView rvClass; private MarqueeView marqueeView; private RecyclerView rvSecKill; private RecyclerView rvRecommend; private ImageView ivZxing; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //绑定 adPresenterImp = new AdPresenterImp(this); catagoryPresenterImp = new CatagoryPresenterImp(this); //请求数据 adPresenterImp.getAd(); catagoryPresenterImp.getCatagory(); View view = inflater.inflate(R.layout.fragment_home, null); initView(view); setListener(); return view; } /** * 设置监听事件 */ private void setListener() { ivZxing.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getContext(), CaptureActivity.class); startActivityForResult(intent, 1); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1 && data != null) { Bundle bundle = data.getExtras(); if(bundle.getInt(CodeUtils.RESULT_TYPE)==CodeUtils.RESULT_SUCCESS){ String string = bundle.getString(CodeUtils.RESULT_STRING); //拿到最终结果 //Intent intent = new Intent(getContext(),WebViewActivity.class); } } } /** * 初始化组件 * * @param view */ private void initView(View view) { marqueeView = view.findViewById(R.id.marqueeView); initMarqueeView(); banner = (Banner) view.findViewById(R.id.banner); rvClass = view.findViewById(R.id.rvClass); //设置布局管理器 GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2, RecyclerView.HORIZONTAL, false); rvClass.setLayoutManager(gridLayoutManager); rvSecKill = view.findViewById(R.id.rvSecKill); //设置布局管理器 GridLayoutManager gridLayoutManager1 = new GridLayoutManager(getContext(), 1, RecyclerView.HORIZONTAL, false); rvSecKill.setLayoutManager(gridLayoutManager1); //设置布局管理器 rvRecommend = view.findViewById(R.id.rvRecommend); GridLayoutManager gridLayoutManager2 = new GridLayoutManager(getContext(), 2, RecyclerView.VERTICAL, false); rvRecommend.setLayoutManager(gridLayoutManager2); //设置图片加载器 banner.setImageLoader(new GlideImageLoader()); //二维码 ivZxing = view.findViewById(R.id.ivZxing); } @Override public void onStop() { super.onStop(); //结束轮播 banner.stopAutoPlay(); } /** * 初始化MarqueeView数据 */ private void initMarqueeView() { List<String> info = new ArrayList<>(); info.add("欢迎访问京东app"); info.add("大家有没有在 听课"); info.add("是不是还有人在睡觉"); info.add("你妈妈在旁边看着呢"); info.add("赶紧的好好学习吧 马上毕业了"); info.add("你没有时间睡觉了"); marqueeView.startWithList(info); } @Override public void onDestroy() { super.onDestroy(); //解绑 adPresenterImp.detach(); } /** * 显示banner轮播图 */ @Override public void show(AdBean adBean) { List<AdBean.DataBean> data = adBean.getData(); List<String> list = new ArrayList<>(); for (int i = 0; i < data.size(); i++) { list.add(data.get(i).getIcon()); } //设置图片集合 banner.setImages(list); //banner设置方法全部调用完毕时最后调用 banner.start(); //显示秒杀 showSeckill(adBean); //显示为您推荐 showRecommend(adBean); } private void showRecommend(AdBean adBean) { List<AdBean.TuijianBean.ListBean> list = adBean.getTuijian().getList(); RvRecommendAdapter rvRecommendAdapter = new RvRecommendAdapter(getContext(), list); rvRecommend.setAdapter(rvRecommendAdapter); } /** * 显示秒杀 * * @param adBean */ private void showSeckill(AdBean adBean) { final AdBean.MiaoshaBean miaosha = adBean.getMiaosha(); //给RecyclerView设置适配器 RvSecKillAdapter rvSecKillAdapter = new RvSecKillAdapter(getContext(), miaosha.getList()); rvSecKill.setAdapter(rvSecKillAdapter); rvSecKillAdapter.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(int position) { //跳转显示详情 //获取地址 String detailUrl = miaosha.getList().get(position).getDetailUrl(); Intent intent = new Intent(getContext(), WebViewActivity.class); intent.putExtra("detailUrl", detailUrl); startActivity(intent); } @Override public void onLongItemClick(int position) { } }); } @Override public void showError(Exception e) { } /** * 显示商品分类,即banner下面的那一部分 * * @param data */ @Override public void showData(final List<CatagoryBean.DataBean> data) { //把数据给RecyclerView显示 //给RecyclerView设置适配器 RvClassAdapter rvClassAdapter = new RvClassAdapter(getContext(), data); rvClass.setAdapter(rvClassAdapter); rvClassAdapter.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(int position) { Toast.makeText(getContext(), data.get(position).getName(), Toast.LENGTH_SHORT).show(); } @Override public void onLongItemClick(int position) { } }); } }
inter
AddCartView
package com.example.a1512qjd.ui.inter; public interface AddCartView { void showMsg(String msg); }
AdView
package com.example.a1512qjd.ui.inter; import com.example.a1512qjd.bean.AdBean; public interface AdView { void show(AdBean adBean); void showError(Exception e); }
CatagoryView
package com.example.a1512qjd.ui.inter; import com.example.a1512qjd.bean.CatagoryBean; import java.util.List; public interface CatagoryView { void showData(List<CatagoryBean.DataBean> data); }
DeleteCartView
package com.example.a1512qjd.ui.inter; public interface DeleteCartView { void delSuccess(); }
GetCartsView
package com.example.a1512qjd.ui.inter; import com.example.a1512qjd.bean.GetCartsBean; import com.example.a1512qjd.bean.SellerBean; import java.util.List; public interface GetCartsView { void showData(List<SellerBean> groupList, List<List<GetCartsBean.DataBean.ListBean>> childList); }
LoginView
package com.example.a1512qjd.ui.inter; import com.example.a1512qjd.bean.UserBean; public interface LoginView { void loginSuccess(UserBean userBean); }
OnItemClickListener
package com.example.a1512qjd.ui.inter; public interface OnItemClickListener { void onItemClick(int position); void onLongItemClick(int position); }
ProductCatagoryView
package com.example.a1512qjd.ui.inter; import com.example.a1512qjd.bean.ProductCatagoryBean; import java.util.List; public interface ProductCatagoryView { void showData(List<String> groupList, List<List<ProductCatagoryBean.DataBean.ListBean>> childList); }
ProductsView
package com.example.a1512qjd.ui.inter; import com.example.a1512qjd.bean.ProductsBean; import java.util.List; public interface ProductsView { void showData(List<ProductsBean.DataBean> list); }
UpdateCartsView
package com.example.a1512qjd.ui.inter; public interface UpdateCartsView { void updataSuccess(); }
widget
AddSubView
package com.example.a1512qjd.ui.widget; import android.content.Context; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import com.example.a1512qjd.R; public class AddSubView extends LinearLayout { private TextView sub; private TextView num; private TextView add; public AddSubView(Context context) { this(context, null); } public AddSubView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); View view = LayoutInflater.from(context).inflate(R.layout.add_sub_view, this); sub = findViewById(R.id.child_text_jian); num = findViewById(R.id.child_text_num); add = findViewById(R.id.child_text_add); } /** * 设置数量 * @param str */ public void setNum(String str) { num.setText(str); } /** * 获取数量 * * @return */ public String getNum() { return num.getText().toString(); } /** * 给加号设置点击事件 * * @param onclickListener */ public void setAddOnclickListener(OnClickListener onclickListener) { add.setOnClickListener(onclickListener); } /** * 给减号设置点击事件 * * @param onclickListener */ public void setSubOnclickListener(OnClickListener onclickListener) { sub.setOnClickListener(onclickListener); } }
FlowLayout
package com.example.a1512qjd.ui.widget; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; /** * 流布局 */ public class FlowLayout extends ViewGroup { /** * 存储所有的View */ private List<List<View>> mAllViews = new ArrayList<List<View>>(); /** * 每一行的高度 */ private List<Integer> mLineHeight = new ArrayList<Integer>(); public FlowLayout(Context context) { this(context, null); } public FlowLayout(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { //获取测量模式和系统指定的宽高 int sizeWidth = MeasureSpec.getSize(widthMeasureSpec); int modeWidth = MeasureSpec.getMode(widthMeasureSpec); int sizeHeight = MeasureSpec.getSize(heightMeasureSpec); int modeHeight = MeasureSpec.getMode(heightMeasureSpec); //定义最终要显示宽高 int width = 0; int height = 0; //定义行宽、行高 int lineWidth = 0; int lineHeight = 0; //获取有多少个子控件 int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { //获取每一个控件 View child = getChildAt(i); //测量每一个控件的宽高 measureChild(child, widthMeasureSpec, heightMeasureSpec); // 得到LayoutParams MarginLayoutParams lp = (MarginLayoutParams) child .getLayoutParams(); // 子View占据的宽度 int childWidth = child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin; // 子View占据的高度 int childHeight = child.getMeasuredHeight() + lp.topMargin + lp.bottomMargin; // 换行 判断 当前的宽度大于 开辟新行 if (lineWidth + childWidth > sizeWidth - getPaddingLeft() - getPaddingRight()) { // 对比得到最大的宽度 width = Math.max(width, lineWidth); // 重置lineWidth lineWidth = childWidth; // 记录行高 height += lineHeight; lineHeight = childHeight; } else // 未换行 { // 叠加行宽 lineWidth += childWidth; // 得到当前行最大的高度 lineHeight = Math.max(lineHeight, childHeight); } // 特殊情况,最后一个控件 if (i == childCount - 1) { width = Math.max(lineWidth, width); height += lineHeight; } } setMeasuredDimension( modeWidth == MeasureSpec.EXACTLY ? sizeWidth : width + getPaddingLeft() + getPaddingRight(), modeHeight == MeasureSpec.EXACTLY ? sizeHeight : height + getPaddingTop() + getPaddingBottom()// ); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { mAllViews.clear(); mLineHeight.clear(); // 当前ViewGroup的宽度 int width = getWidth(); int lineWidth = 0; int lineHeight = 0; // 存放每一行的子view List<View> lineViews = new ArrayList<View>(); int cCount = getChildCount(); for (int i = 0; i < cCount; i++) { View child = getChildAt(i); MarginLayoutParams lp = (MarginLayoutParams) child .getLayoutParams(); int childWidth = child.getMeasuredWidth(); int childHeight = child.getMeasuredHeight(); // 如果需要换行 if (childWidth + lineWidth + lp.leftMargin + lp.rightMargin > width - getPaddingLeft() - getPaddingRight()) { // 记录LineHeight mLineHeight.add(lineHeight); // 记录当前行的Views mAllViews.add(lineViews); // 重置我们的行宽和行高 lineWidth = 0; lineHeight = childHeight + lp.topMargin + lp.bottomMargin; // 重置我们的View集合 lineViews = new ArrayList<View>(); } lineWidth += childWidth + lp.leftMargin + lp.rightMargin; lineHeight = Math.max(lineHeight, childHeight + lp.topMargin + lp.bottomMargin); lineViews.add(child); }// for end // 处理最后一行 mLineHeight.add(lineHeight); mAllViews.add(lineViews); // 设置子View的位置 int left = getPaddingLeft(); int top = getPaddingTop(); // 行数 int lineNum = mAllViews.size(); for (int i = 0; i < lineNum; i++) { // 当前行的所有的View lineViews = mAllViews.get(i); lineHeight = mLineHeight.get(i); for (int j = 0; j < lineViews.size(); j++) { View child = lineViews.get(j); // 判断child的状态 if (child.getVisibility() == View.GONE) { continue; } MarginLayoutParams lp = (MarginLayoutParams) child .getLayoutParams(); int lc = left + lp.leftMargin; int tc = top + lp.topMargin; int rc = lc + child.getMeasuredWidth(); int bc = tc + child.getMeasuredHeight(); // 为子View进行布局 child.layout(lc, tc, rc, bc); left += child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin; } left = getPaddingLeft(); top += lineHeight; } } @Override public LayoutParams generateLayoutParams(AttributeSet attrs) { return new MarginLayoutParams(getContext(), attrs); } }
utils
DialogUtil
package com.example.a1512qjd.utils; import android.app.ProgressDialog; import android.content.Context; public class DialogUtil { public static ProgressDialog getProgressDialog(Context context) { ProgressDialog progressDialog = new ProgressDialog(context); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setMessage("正在加载..."); progressDialog.setCancelable(false); return progressDialog; } }
GlideImageLoader
package com.example.a1512qjd.utils; import android.content.Context; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.youth.banner.loader.ImageLoader; public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { /** 注意: 1.图片加载器由自己选择,这里不限制,只是提供几种使用方法 2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器, 传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行, 切记不要胡乱强转! */ //Glide 加载图片简单用法 Glide.with(context).load(path).into(imageView); } }
wxapi
WXEntryActivity
package com.example.a1512qjd.wxapi; //import com.umeng.socialize.weixin.view.WXCallbackActivity; import com.umeng.socialize.weixin.view.WXCallbackActivity; public class WXEntryActivity extends WXCallbackActivity { }
res
activity_list.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ui.activity.ListActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="#ff3660" android:gravity="center_vertical" android:orientation="horizontal"> <ImageView android:id="@+id/ivZxing" android:layout_width="30dp" android:layout_height="30dp" android:layout_marginLeft="15dp" android:background="@drawable/a_s"/> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_weight="1" android:background="@drawable/shape_search"></LinearLayout> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_alignParentRight="true" android:layout_marginRight="15dp" android:background="@drawable/my_msg_bai"/> </LinearLayout> <com.jcodecraeer.xrecyclerview.XRecyclerView android:id="@+id/xrv" android:layout_width="match_parent" android:layout_height="match_parent"></com.jcodecraeer.xrecyclerview.XRecyclerView> </LinearLayout>
activity_list_details.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ui.activity.ListDetailsActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="#33000000"> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:background="@drawable/leftjiantou"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="商品详情"/> <ImageView android:id="@+id/ivShare" android:layout_width="30dp" android:layout_height="30dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="15dp" android:background="@drawable/share"/> </RelativeLayout> <com.youth.banner.Banner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="200dp"></com.youth.banner.Banner> <TextView android:id="@+id/tvTitle" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/tvPrice" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/tvVipPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ff0000"/> <View android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"></View> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/tvShopCard" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="购物车"/> <TextView android:id="@+id/tvAddCard" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#ff0000" android:gravity="center" android:text="加入购物车"/> </LinearLayout> </LinearLayout>
activity_login.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/login_title_relative" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp"> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/cha"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="京东登录"/> </RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/login_title_relative" android:layout_margin="10dp" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="账号"/> <EditText android:id="@+id/edit_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入手机号"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码"/> <EditText android:id="@+id/edit_pwd" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入密码" android:inputType="textPassword" android:singleLine="true"/> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:gravity="center" android:onClick="login" android:text="登录"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="horizontal"> <TextView android:id="@+id/text_regist" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="手机快速注册"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="忘记密码"/> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" android:orientation="horizontal"> <ImageView android:id="@+id/login_by_wechat" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/umeng_socialize_wechat"/> <ImageView android:id="@+id/login_by_qq" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/umeng_socialize_qq"/> </LinearLayout> </RelativeLayout>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.activity.MainActivity"> <RadioGroup android:id="@+id/rg" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="60dp"> <RadioButton android:id="@+id/rbHomepage" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_homepage" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbClass" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_class" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbFind" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_find" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbShopCar" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_shopcar" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbMine" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_mine" android:button="@null" android:layout_height="match_parent"/> </RadioGroup> <FrameLayout android:id="@+id/flContent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/rg" /> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.activity.MainActivity"> <RadioGroup android:id="@+id/rg" android:layout_alignParentBottom="true" android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="60dp"> <RadioButton android:id="@+id/rbHomepage" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_homepage" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbClass" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_class" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbFind" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_find" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbShopCar" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_shopcar" android:button="@null" android:layout_height="match_parent"/> <RadioButton android:id="@+id/rbMine" android:layout_weight="1" android:layout_width="0dp" android:background="@drawable/tab_mine" android:button="@null" android:layout_height="match_parent"/> </RadioGroup> <FrameLayout android:id="@+id/flContent" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/rg" /> </RelativeLayout>
activity_search.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.activity.SearchActivity"> <com.example.a1512qjd.ui.widget.FlowLayout android:id="@+id/id_flowlayout" android:layout_width="match_parent" android:layout_height="wrap_content"></com.example.a1512qjd.ui.widget.FlowLayout> </LinearLayout>
activity_shop_cart.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ui.activity.ShopCartActivity"> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:text="购物车"/> <ExpandableListView android:id="@+id/elv" android:groupIndicator="@null" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"></ExpandableListView> <RelativeLayout android:layout_width="match_parent" android:layout_height="40dp"> <CheckBox android:id="@+id/cbAll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:text="全选"/> <TextView android:id="@+id/tvMoney" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:layout_toRightOf="@id/cbAll" android:text="合计:"/> <TextView android:id="@+id/tvTotal" android:layout_width="wrap_content" android:layout_height="match_parent" android:paddingLeft="10dp" android:paddingRight="10dp" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:textColor="#ffffff" android:background="#ff0000" android:gravity="center" android:layout_marginLeft="10dp" android:text="去结算:"/> </RelativeLayout> </LinearLayout>
activity_web_view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.activity.WebViewActivity"> <WebView android:id="@+id/wv" android:layout_width="match_parent" android:layout_height="match_parent"></WebView> </LinearLayout>
add_sub_view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/child_image" android:layout_marginRight="5dp" android:layout_toLeftOf="@+id/child_text_delete" android:orientation="horizontal"> <TextView android:id="@+id/child_text_jian" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/cart_biankuang" android:padding="5dp" android:text="-"/> <TextView android:id="@+id/child_text_num" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/cart_biankuang" android:paddingBottom="5dp" android:paddingLeft="8dp" android:paddingRight="8dp" android:paddingTop="5dp"/> <TextView android:id="@+id/child_text_add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/cart_biankuang" android:padding="5dp" android:text="+"/> </LinearLayout>
elv_rv.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView> </LinearLayout>
fragment_class.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="#ff3660" android:gravity="center_vertical" android:orientation="horizontal"> <ImageView android:id="@+id/ivZxing" android:layout_width="30dp" android:layout_height="30dp" android:layout_marginLeft="15dp" android:background="@drawable/a_s"/> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_weight="1" android:background="@drawable/shape_search"></LinearLayout> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_alignParentRight="true" android:layout_marginRight="15dp" android:background="@drawable/my_msg_bai"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <android.support.v7.widget.RecyclerView android:id="@+id/rvLeft" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3"></android.support.v7.widget.RecyclerView> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="7" android:orientation="vertical"> <ImageView android:id="@+id/iv" android:layout_width="match_parent" android:layout_height="150dp"/> <ExpandableListView android:id="@+id/elv" android:layout_width="match_parent" android:layout_height="match_parent" ></ExpandableListView> </LinearLayout> </LinearLayout> </LinearLayout>
fragment_home.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="#ff3660" android:gravity="center_vertical" android:orientation="horizontal"> <ImageView android:id="@+id/ivZxing" android:layout_width="30dp" android:layout_height="30dp" android:layout_marginLeft="15dp" android:background="@drawable/a_s"/> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_weight="1" android:background="@drawable/shape_search"></LinearLayout> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_alignParentRight="true" android:layout_marginRight="15dp" android:background="@drawable/my_msg_bai"/> </LinearLayout> <com.youth.banner.Banner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="200dp"/> <android.support.v7.widget.RecyclerView android:id="@+id/rvClass" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> <RelativeLayout android:layout_width="match_parent" android:layout_height="30dp" android:layout_margin="15dp" android:background="@drawable/shape_search" > <TextView android:id="@+id/tvJD" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="10dp" android:text="京东快报"/> <LinearLayout android:id="@+id/llMore" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:orientation="horizontal"> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000000"></View> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="更多"/> </LinearLayout> <com.sunfusheng.marqueeview.MarqueeView android:id="@+id/marqueeView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:layout_toLeftOf="@id/llMore" android:layout_toRightOf="@id/tvJD" app:mvAnimDuration="1000" app:mvDirection="bottom_to_top" app:mvInterval="3000" app:mvSingleLine="true" app:mvTextColor="#000000" app:mvTextSize="14sp"/> </RelativeLayout> <android.support.v7.widget.RecyclerView android:id="@+id/rvSecKill" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> <TextView android:layout_width="match_parent" android:layout_height="40dp" android:background="#33000000" android:gravity="center" android:text="为您推荐"/> <android.support.v7.widget.RecyclerView android:id="@+id/rvRecommend" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v7.widget.RecyclerView> </LinearLayout> </ScrollView>
rvclass_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:gravity="center" android:orientation="vertical"> <ImageView android:id="@+id/iv" android:layout_width="50dp" android:layout_height="50dp"/> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
rvleft_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center"/> </LinearLayout>
rvlist_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll" android:layout_width="match_parent" android:layout_height="100dp" android:orientation="horizontal"> <ImageView android:id="@+id/iv" android:layout_width="70dp" android:layout_height="70dp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:orientation="vertical"> <TextView android:id="@+id/tvTitle" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/tvPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:textColor="#ff0000"/> </LinearLayout> </LinearLayout>
rvrecommend_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical" android:padding="10dp"> <ImageView android:id="@+id/iv" android:layout_width="200dp" android:layout_height="200dp"/> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
rvseckill_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:padding="10dp" android:layout_height="wrap_content"> <ImageView android:id="@+id/iv" android:layout_width="90dp" android:layout_height="90dp"/> </LinearLayout>
search_label_tv.xml
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:textColor="#3f3e3e" android:background="#ffffff" android:textSize="14sp" android:text="Helloworld" > </TextView>
shopcart_seller_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="30dp" android:gravity="center_vertical" android:orientation="horizontal"> <CheckBox android:id="@+id/cbSeller" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp"/> <TextView android:id="@+id/tvSeller" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp"/> </LinearLayout>
shopcart_seller_product_item.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <CheckBox android:id="@+id/cbProduct" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="20dp"/> <TextView android:id="@+id/tvDel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="15dp" android:background="#ff0000" android:gravity="center_vertical" android:text="删除" android:textColor="#ffffff"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/tvDel" android:layout_toRightOf="@id/cbProduct" android:orientation="horizontal"> <ImageView android:id="@+id/iv" android:layout_width="70dp" android:layout_height="70dp" android:layout_gravity="center_vertical"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:orientation="vertical"> <TextView android:id="@+id/tvTitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp"/> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/tvPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:text="12312" android:textColor="#ff0000"/> <com.example.a1512qjd.ui.widget.AddSubView android:id="@+id/addSubCard" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true"></com.example.a1512qjd.ui.widget.AddSubView> </RelativeLayout> </LinearLayout> </LinearLayout> </RelativeLayout>
socialize_share_menu_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:orientation="vertical"> <com.umeng.socialize.shareboard.SocializeImageView android:id="@+id/socialize_image_view" android:layout_width="50dp" android:layout_height="50dp" android:padding="5dp" android:src="@drawable/umeng_socialize_menu_default" /> <TextView android:id="@+id/socialize_text_view" android:layout_width="63dp" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:ellipsize="end" android:singleLine="true" android:text="未知" android:textSize="12sp" /> </LinearLayout>
umeng_socialize_oauth_dialog.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#D4E0E5"> <RelativeLayout android:id="@+id/umeng_socialize_titlebar" android:layout_width="match_parent" android:layout_height="54dp" android:background="#0086DC"> <TextView android:id="@+id/umeng_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="" android:textColor="#ffffff" android:textSize="18sp" /> <RelativeLayout android:id="@+id/umeng_back" android:layout_width="60dp" android:layout_height="match_parent" android:onClick="onCancel" android:visibility="visible"> <ImageButton android:layout_width="12dp" android:layout_height="20dp" android:layout_centerVertical="true" android:background="@drawable/umeng_socialize_back_icon" android:layout_marginLeft="15dp" android:scaleType="center" /> </RelativeLayout> <TextView android:id="@+id/umeng_share_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:layout_marginRight="10dp" android:background="@drawable/umeng_socialize_btn_bg" android:padding="4dp" android:text="分享" android:textColor="#ffffff" /> </RelativeLayout> <RelativeLayout android:id="@+id/umeng_socialize_follow" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_alignParentBottom="true" android:background="#AAAAAA" android:visibility="visible"> <CheckBox android:id="@+id/umeng_socialize_follow_check" android:layout_width="20dp" android:layout_height="20dp" android:layout_centerVertical="true" android:layout_marginLeft="20dp" android:checked="true" android:visibility="gone" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:layout_toRightOf="@id/umeng_socialize_follow_check" android:text="关注官方微博" android:textColor="#f8f8f8" android:textSize="16sp" android:visibility="gone" /> </RelativeLayout> <!--<LinearLayout--> <!--android:id="@+id/webView_container"--> <!--android:layout_width="match_parent"--> <!--android:layout_height="match_parent"--> <!--android:layout_above="@id/umeng_socialize_follow"--> <!--android:layout_below="@id/umeng_socialize_titlebar"--> <!--android:orientation="horizontal"--> <!--android:visibility="visible" />--> <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#F2F5F6" android:layout_above="@id/umeng_socialize_follow" android:layout_below="@id/umeng_socialize_titlebar" android:visibility="visible" /> <RelativeLayout android:id="@+id/progress_bar_parent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/umeng_socialize_titlebar" android:background="#F2F5F6" > <LinearLayout android:layout_width="80dp" android:layout_height="80dp" android:layout_centerInParent="true" android:orientation="horizontal"> <ProgressBar android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_margin="10dp" /> </LinearLayout> </RelativeLayout> </RelativeLayout>
umeng_socialize_share.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#D4E0E5" android:id="@+id/root" android:orientation="vertical"> <RelativeLayout android:id="@+id/umeng_socialize_share_titlebar" android:layout_width="match_parent" android:layout_height="54dp" android:background="#0086DC"> <TextView android:id="@+id/umeng_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="" android:textColor="#ffffff" android:textSize="18sp" /> <RelativeLayout android:id="@+id/umeng_back" android:layout_width="50dp" android:layout_height="match_parent" android:onClick="onCancel" android:visibility="visible"> <ImageButton android:layout_width="12dp" android:layout_height="20dp" android:layout_centerVertical="true" android:layout_marginLeft="15dp" android:background="@drawable/umeng_socialize_back_icon" android:clickable="false" android:scaleType="center" /> </RelativeLayout> <TextView android:id="@+id/umeng_share_btn" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:gravity="center_vertical" android:paddingLeft="15dp" android:paddingRight="15dp" android:text="分享" android:textColor="#ffffff" android:textSize="15sp" /> </RelativeLayout> <EditText android:id="@+id/umeng_socialize_share_edittext" android:layout_width="fill_parent" android:layout_height="180dp" android:layout_below="@id/umeng_socialize_share_titlebar" android:paddingLeft="15dp" android:paddingRight="15dp" android:paddingTop="8dp" android:background="#ffffff" android:bufferType="spannable" android:gravity="top" android:hint="编辑分享内容" android:lineSpacingExtra="3dp" android:paddingBottom="10dp" android:textColor="#000000" android:textSize="15sp" /> <TextView android:id="@+id/umeng_socialize_share_word_num" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignRight="@id/umeng_socialize_share_edittext" android:background="#ffffff" android:layout_below="@id/umeng_socialize_share_edittext" android:paddingBottom="10dp" android:paddingRight="15dp" android:gravity="right" android:singleLine="true" android:textColor="#98999B" android:textSize="14sp" /> <RelativeLayout android:id="@+id/umeng_socialize_share_bottom_area" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/umeng_socialize_share_word_num" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:background="#F2F5F6" android:visibility="gone"> <RelativeLayout android:layout_width="62dp" android:layout_height="62dp" android:layout_centerVertical="true" android:layout_marginBottom="15dp" android:layout_marginLeft="15dp" android:id="@+id/umeng_image_edge" android:layout_marginTop="15dp" android:background="@drawable/umeng_socialize_edit_bg" > <ImageView android:id="@+id/umeng_share_icon" android:layout_width="60dp" android:layout_height="60dp" android:layout_centerInParent="true" android:src="#2c3035" /> </RelativeLayout> <TextView android:layout_width="280dp" android:id="@+id/umeng_web_title" android:layout_toRightOf="@id/umeng_image_edge" android:layout_marginLeft="40dp" android:layout_marginTop="20dp" android:textColor="#575A5C" android:singleLine="true" android:textSize="14sp" android:visibility="gone" android:layout_height="wrap_content" /> <ImageView android:id="@+id/umeng_del" android:layout_width="20dp" android:layout_height="20dp" android:layout_alignRight="@id/umeng_image_edge" android:layout_alignTop="@id/umeng_image_edge" android:layout_marginRight="-10dp" android:layout_marginTop="-10dp" android:background="@drawable/umeng_socialize_delete" /> </RelativeLayout> </RelativeLayout>