求一套完整的JAVA WEB项目的网络购物网站源代码

谢谢... 谢谢 展开
 我来答
YouCii
2015-08-11 · TA获得超过808个赞
知道小有建树答主
回答量:182
采纳率:100%
帮助的人:53.8万
展开全部
/**
 * @description: 
 * @author chenshiqiang E-mail:csqwyyx@163.com
 * @date 2014年9月7日 下午2:51:50   
 * @version 1.0   
 */
package com.example.baidumap;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.text.Editable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ExpandableListView;
import android.widget.ListView;
import com.baidu.mapapi.map.offline.MKOLSearchRecord;
import com.baidu.mapapi.map.offline.MKOLUpdateElement;
import com.baidu.mapapi.map.offline.MKOfflineMap;
import com.baidu.mapapi.map.offline.MKOfflineMapListener;
import com.example.baidumap.adapters.OfflineExpandableListAdapter;
import com.example.baidumap.adapters.OfflineMapAdapter;
import com.example.baidumap.adapters.OfflineMapManagerAdapter;
import com.example.baidumap.interfaces.OnOfflineItemStatusChangeListener;
import com.example.baidumap.models.OfflineMapItem;
import com.example.baidumap.utils.CsqBackgroundTask;
import com.example.baidumap.utils.ToastUtil;
import com.example.system.R;

public class BaiduOfflineMapActivity extends Activity implements MKOfflineMapListener, OnOfflineItemStatusChangeListener
{

// ------------------------ Constants ------------------------

// ------------------------- Fields --------------------------

private ViewPager viewpager;
private PagerTabStrip pagertab;

private MySearchView svDown;
private ListView lvDown;

private MySearchView svAll;
private ExpandableListView lvWholeCountry;
private ListView lvSearchResult;

private List<View> views = new ArrayList<View>(2);
private List<String> titles = new ArrayList<String>(2);

private MKOfflineMap mOffline = null;

private OfflineMapManagerAdapter downAdapter;
private OfflineMapAdapter allSearchAdapter;
private OfflineExpandableListAdapter allCountryAdapter;

private List<OfflineMapItem> itemsDown; // 下载或下载中城市
private List<OfflineMapItem> itemsAll; // 所有城市,与热门城市及下载管理对象相同

private List<OfflineMapItem> itemsProvince;
private List<List<OfflineMapItem>> itemsProvinceCity;

// ----------------------- Constructors ----------------------

// -------- Methods for/from SuperClass/Interfaces -----------

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offline_map);

// final String packname = this.getPackageName();
// PackageInfo packageInfo;
// try
// {
// packageInfo = this.getPackageManager().getPackageInfo(packname, PackageManager.GET_SIGNATURES);
//
//
// if (code == -00)
// {
// 初始化离线地图管理
mOffline = new MKOfflineMap();
mOffline.init(this);

initViews();

viewpager.setCurrentItem(1);
// }
// }
// catch (NameNotFoundException e)
// {
// e.printStackTrace();
// }
}

private boolean isResumed = false;

@Override
protected void onResume()
{
super.onResume();

if (!isResumed)
{
isResumed = true;
loadData();
}
}

@Override
protected void onDestroy()
{
super.onDestroy();

mOffline.destroy();
}

/**
 * 
 * @author chenshiqiang E-mail:csqwyyx@163.com
 * @param type
 *            事件类型: MKOfflineMap.TYPE_NEW_OFFLINE, MKOfflineMap.TYPE_DOWNLOAD_UPDATE, MKOfflineMap.TYPE_VER_UPDATE.
 * @param state
 *            事件状态: 当type为TYPE_NEW_OFFLINE时,表示新安装的离线地图数目. 当type为TYPE_DOWNLOAD_UPDATE时,表示更新的城市ID.
 */
@Override
public void onGetOfflineMapState(int type, int state)
{
switch (type)
{
case MKOfflineMap.TYPE_DOWNLOAD_UPDATE:
MKOLUpdateElement update = mOffline.getUpdateInfo(state);

if (setElement(update, true) != null)
{
if (itemsDown != null && itemsDown.size() > 1)
{
Collections.sort(itemsDown);
}

refreshDownList();

}
else
{
downAdapter.notifyDataSetChanged();
}

allSearchAdapter.notifyDataSetChanged();
allCountryAdapter.notifyDataSetChanged();
break;

case MKOfflineMap.TYPE_NEW_OFFLINE:
// 有新离线地图安装
Log.d("OfflineDemo", String.format("add offlinemap num:%d", state));
break;

case MKOfflineMap.TYPE_VER_UPDATE:
// 版本更新提示
break;
}
}

/**
 * 百度下载状态改变(暂停--》恢复)居然不回调,所以改变状态时自己得增加接口监听状态改变刷新界面
 * 
 * @author chenshiqiang E-mail:csqwyyx@163.com
 * @param item
 *            有状态改变的item
 * @param removed
 *            item是否被删除
 */
@Override
public void statusChanged(OfflineMapItem item, boolean removed)
{
if (removed)
{
for (int i = itemsDown.size() - 1; i >= 0; i--)
{
OfflineMapItem temp = itemsDown.get(i);
if (temp.getCityId() == item.getCityId())
{
itemsDown.remove(i);
}
}
refreshDownList();

}
else
{
loadData();
downAdapter.notifyDataSetChanged();
}

allSearchAdapter.notifyDataSetChanged();
allCountryAdapter.notifyDataSetChanged();
}

// --------------------- Methods public ----------------------

public void toDownloadPage()
{
viewpager.setCurrentItem(0);
}

// --------------------- Methods private ---------------------

private void initViews()
{
// TODO
viewpager = (ViewPager) findViewById(R.id.viewpager);
pagertab = (PagerTabStrip) findViewById(R.id.pagertab);

LayoutInflater inf = LayoutInflater.from(this);
View v1 = inf.inflate(R.layout.view_offline_download, null, false);
svDown = (MySearchView) v1.findViewById(R.id.svDown);
lvDown = (ListView) v1.findViewById(R.id.lvDown);
views.add(v1);

View v2 = inf.inflate(R.layout.view_offline_countrys, null, false);
svAll = (MySearchView) v2.findViewById(R.id.svAll);
lvWholeCountry = (ExpandableListView) v2.findViewById(R.id.lvWholeCountry);
lvSearchResult = (ListView) v2.findViewById(R.id.lvSearchResult);
views.add(v2);

titles.add("下载管理");
titles.add("城市列表");

pagertab.setTabIndicatorColor(0xff00cccc);
pagertab.setDrawFullUnderline(false);
pagertab.setBackgroundColor(0xFF38B0DE);
pagertab.setTextSpacing(50);

viewpager.setOffscreenPageLimit(2);
viewpager.setAdapter(new MyPagerAdapter());

svDown.setSearchListener(new MySearchView.SearchListener()
{
@Override
public void afterTextChanged(Editable text)
{
refreshDownList();
}

@Override
public void search(String text)
{
}
});

svAll.setSearchListener(new MySearchView.SearchListener()
{
@Override
public void afterTextChanged(Editable text)
{
refreshAllSearchList();
}

@Override
public void search(String text)
{
}
});

downAdapter = new OfflineMapManagerAdapter(this, mOffline, this);
lvDown.setAdapter(downAdapter);

allSearchAdapter = new OfflineMapAdapter(this, mOffline, this);
lvSearchResult.setAdapter(allSearchAdapter);

allCountryAdapter = new OfflineExpandableListAdapter(this, mOffline, this);
lvWholeCountry.setAdapter(allCountryAdapter);
lvWholeCountry.setGroupIndicator(null);
}

/**
 * 刷新下载列表, 根据搜索关键字及itemsDown 下载管理数量变动时调用
 */
private void refreshDownList()
{
String key = svDown.getInputText();
if (key == null || key.length() < 1)
{
downAdapter.setDatas(itemsDown);

}
else
{
List<OfflineMapItem> filterList = new ArrayList<OfflineMapItem>();
if (itemsDown != null && !itemsDown.isEmpty())
{
for (OfflineMapItem i : itemsDown)
{
if (i.getCityName().contains(key))
{
filterList.add(i);
}
}
}

downAdapter.setDatas(filterList);
}
}

/**
 * 刷新所有城市搜索结果
 */
private void refreshAllSearchList()
{
String key = svAll.getInputText();
if (key == null || key.length() < 1)
{
lvSearchResult.setVisibility(View.GONE);
lvWholeCountry.setVisibility(View.VISIBLE);

allSearchAdapter.setDatas(null);

}
else
{
lvSearchResult.setVisibility(View.VISIBLE);
lvWholeCountry.setVisibility(View.GONE);

List<OfflineMapItem> filterList = new ArrayList<OfflineMapItem>();
if (itemsAll != null && !itemsAll.isEmpty())
{
for (OfflineMapItem i : itemsAll)
{
if (i.getCityName().contains(key))
{
filterList.add(i);
}
}
}

allSearchAdapter.setDatas(filterList);
}
}

private void loadData()
{

new CsqBackgroundTask<Void>(this)
{
@Override
protected Void onRun()
{
// TODO Auto-generated method stub
// 导入离线地图包
// 将从官网下载的离线包解压,把vmp文件夹拷入SD卡根目录下的BaiduMapSdk文件夹内。
// 把网站上下载的文件解压,将\BaiduMap\vmp\l里面的.dat_svc文件,拷贝到手机BaiduMapSDK/vmp/h目录下
int num = mOffline.importOfflineData();
if (num > 0)
{
ToastUtil.showToastInfo(BaiduOfflineMapActivity.this, "成功导入" + num + "个离线包", false);
}

List<MKOLSearchRecord> all = null;
try
{
all = mOffline.getOfflineCityList();
}
catch (Exception e)
{
e.printStackTrace();
}
if (all == null || all.isEmpty())
{
ToastUtil.showToastInfo(BaiduOfflineMapActivity.this, "未获取到离线地图城市数据,可能有其他应用正在使用百度离线地图功能!", false);
return null;
}

List<MKOLSearchRecord> hotCity = mOffline.getHotCityList();
HashSet<Integer> hotCityIds = new HashSet<Integer>();
if (!hotCity.isEmpty())
{
for (MKOLSearchRecord r : hotCity)
{
hotCityIds.add(r.cityID);
}
}

itemsAll = new ArrayList<OfflineMapItem>();
itemsDown = new ArrayList<OfflineMapItem>();
itemsProvince = new ArrayList<OfflineMapItem>();
itemsProvinceCity = new ArrayList<List<OfflineMapItem>>();

// cityType 0:全国;1:省份;2:城市,如果是省份,可以通过childCities得到子城市列表

// 全国概略图、直辖市、港澳 子城市列表
ArrayList<MKOLSearchRecord> childMunicipalities = new ArrayList<MKOLSearchRecord>();

proHot.cityName = "热门城市";
proHot.childCities = cs;
List<MKOLUpdateElement> updates = mOffline.getAllUpdateInfo();
if (updates != null && updates.size() > 0)
{
}

@Override
protected void onResult(Void result)
{
// TODO Auto-generated method stub
refreshDownList();
refreshAllSearchList();

allCountryAdapter.setDatas(itemsProvince, itemsProvinceCity);
}
}.execute();
}
追问
这是带着地图的?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万企明道
2024-08-07 广告
开源低代码开发平台,作为现代软件开发的新兴力量,为上海万企明道软件有限公司等企业提供了一种高效、灵活的软件构建方式。这类平台通过图形化界面和预置的组件库,显著降低了编程门槛,加速了应用开发周期。它们鼓励技术创新与共享,让非专业开发者也能快速... 点击进入详情页
本回答由万企明道提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式