当前位置:首页 > 代码 > 正文

京东apijava源代码(京东开发平台)[20240420更新]

admin 发布:2024-04-20 00:28 154


今天给各位分享京东apijava源代码的知识,其中也会对京东开发平台进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么查看java官方的api的源代码

你的JDK安装目录下%Java_home%/src.zip文件就是源码,解压缩找到对应包下面的类即可。

如果是Eclipse开发,ctr+鼠标左击,出现不了源码的话,在弹出的视图中点击attach source,选择src.zip即可。

如何Debug JAVA api源码

用Eclipse Debug,当跟踪进jdk api里时(比如javax.swing包里的类),无法查看某些local filed的值。这是因为jdk里的代码在打包时删除了一些用于调试的信息,以减小安装包的体积。不过可以通过重新编译jdk源代码来恢复此功能。

1.在Eclipse里新建一个java工程,把jdk_home/src.zip解压缩,复制java,javax两个目录的源代码到新建工程的src目录下。

2.build整个工程。如果build报Access restriction错误,是因为源代码里调用了com.sun等包的内容。可设置eclipse忽略这些错误。修改如下:

Windows - Preferences - Java - Compiler - Errors/Warnings - Deprecated and trstricted API - Forbidden reference (access rules): - change to warning

3.可能还有个别错误,直接删除报错的源文件。

4.将编译得到的.class文件替换java_home/jre/lib/rt.jar文件里的.class文件。(用winrar打开rt.jar,直接把生成的java,javax包拖进去)。

重启eclipse。现在调试时,跟踪到jdk api里的代码时,可以查看到相关的variable的信息了。

java抓取京东商城商品信息,根据网页源文件如何写抓取如下信息:

听说过jsoup吗。很简单,两句话搞定。

Document   document = Jsoup

                        .connect("这个页面的url例如:")

                        .method(Connection.Method.GET)

                        .followRedirects(false)

                        .timeout(100000)

                        .get();

Element el=document.getElementById("zzh_jd")//div 开始的id 。

//然后这个element你想怎么用就怎么用了。

//jsoup的使用类似于javascript很方便。

java程序解析京东产品价格

网络爬虫吗

抓取网页内容,对于商品ID的price

建议分析下京东商品网页上的内容

京东面试题 java 动态代理主要怎么实现的

在目前的Java开发包中包含了对动态代理的支持,但是其实现只支持对接口的的实现。

其实现主要通过是java.lang.reflect.Proxy类和java.lang.reflect.InvocationHandler接口。

Proxy

类主要用来获取动态代理对象,InvocationHandler接口用来约束调用者实现,如下,HelloWorld接口定义的业务方

法,HelloWorldImpl是HelloWorld接口的实现,HelloWorldHandler是InvocationHandler接口实

现。代码如下:

业务接口:

public interface HelloWorld {

void sayHelloWorld() ;

}

业务接口实现:

public class HelloWorldImpl implements HelloWorld {

public void sayHelloWorld() {

System.out.println("Hello World!");

}

}

InvocationHandler实现,需要在接口方法调用前后加入一部份处理工作,这里仅仅在方法调用前后向后台输出两句字符串,其代码如下:

import java.lang.reflect.InvocationHandler;

import java.lang.reflect.Method;

public class HelloWorldHandler implements InvocationHandler {

//要代理的原始对象

private Object objOriginal;

/**

* 构造函数。

* @param obj 要代理的原始对象。

*/

public HelloWorldHandler(Object obj) {

this.objOriginal = obj ;

}

public Object invoke(Object proxy, Method method, Object[] args)

throws Throwable {

Object result ;

//方法调用之前

doBefore();

//调用原始对象的方法

result = method.invoke(this.objOriginal ,args);

//方法调用之后

doAfter();

return result ;

}

private void doBefore() {

System.out.println("before method invoke!");

}

private void doAfter() {

System.out.println("after method invoke!");

}

}

测试代码:

import java.lang.reflect.InvocationHandler;

import java.lang.reflect.Proxy;

public class Test {

public static void main(String[] args) {

HelloWorld hw = new HelloWorldImpl();

InvocationHandler handler = new HelloWorldHandler(hw);

HelloWorld proxy = (HelloWorld) Proxy.newProxyInstance(

hw.getClass().getClassLoader(),

hw.getClass().getInterfaces(),

handler);

proxy.sayHelloWorld();

}

}

?? 首先获取一个业务接口的实现对象;

?? 获取一个InvocationHandler实现,此处是HelloWorldHandler对象;

?? 创建动态代理对象;

?? 通过动态代理对象调用sayHelloWorld()方法,此时会在原始对象HelloWorldImpl. sayHelloWorld()方法前后输出两句字符串。

运行测试类输出如下:

before method invoke!

Hello World!

after method invoke!

此处Test类中的方法调用代码比较多,在我们的实际应用中可以通过配置文件来来简化客户端的调用实现。另外也可以通过动态代理来实现简单的AOP

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

/**

 * @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 ListView views = new ArrayListView(2);

private ListString titles = new ArrayListString(2);

private MKOfflineMap mOffline = null;

private OfflineMapManagerAdapter downAdapter;

private OfflineMapAdapter allSearchAdapter;

private OfflineExpandableListAdapter allCountryAdapter;

private ListOfflineMapItem itemsDown; // 下载或下载中城市

private ListOfflineMapItem itemsAll; // 所有城市,与热门城市及下载管理对象相同

private ListOfflineMapItem itemsProvince;

private ListListOfflineMapItem 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

{

ListOfflineMapItem filterList = new ArrayListOfflineMapItem();

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);

ListOfflineMapItem filterList = new ArrayListOfflineMapItem();

if (itemsAll != null  !itemsAll.isEmpty())

{

for (OfflineMapItem i : itemsAll)

{

if (i.getCityName().contains(key))

{

filterList.add(i);

}

}

}

allSearchAdapter.setDatas(filterList);

}

}

private void loadData()

{

new CsqBackgroundTaskVoid(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);

}

ListMKOLSearchRecord all = null;

try

{

all = mOffline.getOfflineCityList();

}

catch (Exception e)

{

e.printStackTrace();

}

if (all == null || all.isEmpty())

{

ToastUtil.showToastInfo(BaiduOfflineMapActivity.this, "未获取到离线地图城市数据,可能有其他应用正在使用百度离线地图功能!", false);

return null;

}

ListMKOLSearchRecord hotCity = mOffline.getHotCityList();

HashSetInteger hotCityIds = new HashSetInteger();

if (!hotCity.isEmpty())

{

for (MKOLSearchRecord r : hotCity)

{

hotCityIds.add(r.cityID);

}

}

itemsAll = new ArrayListOfflineMapItem();

itemsDown = new ArrayListOfflineMapItem();

itemsProvince = new ArrayListOfflineMapItem();

itemsProvinceCity = new ArrayListListOfflineMapItem();

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

// 全国概略图、直辖市、港澳 子城市列表

ArrayListMKOLSearchRecord childMunicipalities = new ArrayListMKOLSearchRecord();

proHot.cityName = "热门城市";

proHot.childCities = cs;

ListMKOLUpdateElement 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();

}

京东apijava源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于京东开发平台、京东apijava源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/35.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载