博客
关于我
android emulator 通过代理访问web service
阅读量:798 次
发布时间:2023-03-22

本文共 1383 字,大约阅读时间需要 4 分钟。

在Android模拟器中配置网络代理是一个常见的开发任务,以下将详细介绍如何在不同网络库中实现正确的网络访问。

首先,在Android模拟器中启动Android 2.2 emulator,并进入设置界面,依次选择Wireless & network -> Mobile networks -> Access Point Names。在列表中找到并打开Telkila设置。完成以上步骤后,系统浏览器可以访问互联网,但程序中的WebView或HttpConnection等仍无法访问互联网。

要实现程序的网络访问,需要在AndroidManifest.xml中添加相应的权限:

对于WebView的配置,建议在Activity中获取WebView实例,并设置其缓存模式和平台通知:

WebView mWebView = (WebView) findViewById(R.id.webView1);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
mWebView.enablePlatformNotifications();

对于URLConnection的使用,可以通过获取默认代理地址和端口来配置:

URL url = new URL(urlStr);
SocketAddress sa = new InetSocketAddress(android.net.Proxy.getDefaultHost(), android.net.Proxy.getDefaultPort());
Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP, sa);
URLConnection conn = url.openConnection(proxy);
InputStream is = conn.getInputStream();

对于HttpClient的配置,需要设置代理参数:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpHost httpHost = new HttpHost(host, port);
httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, httpHost);

在实际开发中,需要根据网络类型选择是否配置代理。以下是判断网络类型的示例:

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null) {
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni != null) {
if (!ni.getTypeName().equals("WIFI")) {
// 代理配置
}
}
}

通过以上方法,可以根据网络类型正确配置代理,实现程序的网络访问。

转载地址:http://axqfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现RodCutting棒材切割最大利润算法(附完整源码)
查看>>
Objective-C实现Romberg算法(附完整源码)
查看>>
Objective-C实现RRT路径搜索(附完整源码)
查看>>
Objective-C实现rsa 密钥生成器算法(附完整源码)
查看>>
Objective-C实现RSA密码算法(附完整源码)
查看>>
Objective-C实现runge kutta龙格-库塔法算法(附完整源码)
查看>>
Objective-C实现segment tree段树算法(附完整源码)
查看>>
Objective-C实现selection sort选择排序算法(附完整源码)
查看>>
Objective-C实现sha256算法(附完整源码)
查看>>
Objective-C实现shell sort希尔排序算法(附完整源码)
查看>>
Objective-C实现SinglyLinkedList单链表算法(附完整源码)
查看>>
Objective-C实现skew heap倾斜堆算法(附完整源码)
查看>>
Objective-C实现Skip List跳表算法(附完整源码)
查看>>
Objective-C实现slack message松弛消息算法(附完整源码)
查看>>
Objective-C实现slow sort慢排序算法(附完整源码)
查看>>
Objective-C实现tanh函数功能(附完整源码)
查看>>
Objective-C实现z-algorithm算法(附完整源码)
查看>>
Objective-C实现zellers congruence泽勒一致算法(附完整源码)
查看>>
Objective-C实现Zero One Knapsack零一背包计算算法(附完整源码)
查看>>
Objective-C实现一个Pangram字符串至少包含一次所有字母算法(附完整源码)
查看>>