Android面试题精选

标签: android 面试 | 发表时间:2012-08-11 17:12 | 作者:ACE1985
出处:http://blog.csdn.net

问:怎样在Http连接中设置超时和代理?

Http连接的超时机制能够防止连接线程的无限期等待,一般可分为connect timeout和socket timeout,在Android中可以使用HttpClient和HttpURLConnection建立Http连接,因此存在两种设置超时的方式,首先设置连接超时和Socket读取超时的时间如下:

	private static final int HTTP_CONNECT_TIMEOUT = 20 * 000;
	private static final int HTTP_SOCKET_TIMEOUT = 20 * 000;

1)HttpClient方式

        HttpClient httpClient = new DefaultHttpClient();
        HttpParams params = httpClient.getParams();
        HttpConnectionParams.setConnectionTimeout(params, HTTP_CONNECT_TIMEOUT);
        HttpConnectionParams.setSoTimeout(params, HTTP_SOCKET_TIMEOUT);

2)HttpURLConnection方式

		try {
			URL url = new URL("http://www.baidu.com");
			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
			conn.setConnectTimeout(HTTP_CONNECT_TIMEOUT);
			conn.setReadTimeout(HTTP_SOCKET_TIMEOUT);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

Android应用程序访问互联网时,如果处于WIFI或者CMNET、UNINET或者3GNET,CTNET等接入方式时,无需设置代理即可顺利的访问网络,但是如果处于WAP环境下,那么就需要首先设置代理,之后才能访问互联网。Android通过WAP方式联网可参见 http://blog.csdn.net/ace1985/article/details/7844159 跟设置超时一样,设置代理同样有HttpClient和HttpURLConnection两种方式:

1)HttpClient方式

		HttpClient httpClient = new DefaultHttpClient();
		String host = Proxy.getDefaultHost(); //默认代理服务器地址
		int port = Proxy.getDefaultPort(); //默认代理服务器端口号
		HttpHost httpHost = new HttpHost(host, port);
		HttpParams params = httpClient.getParams();
		params.setParameter(ConnRouteParams.DEFAULT_PROXY, httpHost); //设置默认代理

1)HttpURLConnection方式

		String host = android.net.Proxy.getDefaultHost(); // 默认代理服务器地址
		int port = android.net.Proxy.getDefaultPort(); // 默认代理服务器端口号
		SocketAddress socketAddr = new InetSocketAddress(host, port);
		// 构造代理对象
		java.net.Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, socketAddr);
		try {
			URL url = new URL("www.baidu.com");
			// 设置代理
			HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}




作者:ACE1985 发表于2012-8-11 17:12:20 原文链接
阅读:8 评论:0 查看评论

相关 [android 面试] 推荐:

Android面试题精选

- - CSDN博客推荐文章
问:怎样在Http连接中设置超时和代理. Http连接的超时机制能够防止连接线程的无限期等待,一般可分为connect timeout和socket timeout,在Android中可以使用HttpClient和HttpURLConnection建立Http连接,因此存在两种设置超时的方式,首先设置连接超时和Socket读取超时的时间如下:.

android 面试题锦集

- - ITeye论坛最新讨论
Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗. 每种含义大家看SDK文档和具体跑下这样你的记忆会更深刻些. Activity和Task的启动模式有哪些.    有关在AndroidManifest.xml中的android:launchMode定义,主要有standard、singleTop、singleTask和singleInstance,同时对于android:taskAffinity这些问题大家也要了解,Android开发网在以前的文章中讲过,不过很多开发者仍然不是很清楚,这些基础问题我们以后仍然会再次总结.

android面试题收集

- - ITeye博客
1.    请描述下Activity的生命周期. 2.    如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态. 3.    如何将一个Activity设置成窗口的样式. 4.    如何退出Activity. 如何安全退出已调用多个Activity的Application.

android经典面试题集锦

- - CSDN博客推荐文章
四大组件之一,一般的,一个用户交互界面对应一个activity. setContentView() ,// 要显示的布局. , activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件. 我开发常用的的有ListActivity , PreferenceActivity ,TabAcitivty等….

Android笔试或者面试的几个题目

- - ITeye博客
    最近一直在帮项目组招聘Android开发人员. 面试的过程中,要去理解面试者的项目,要提出问题,也算是个自我提高的过程. 由于人基本已经招到了,我就把自己喜欢问的一些问题整理了一下,做成了这个笔试或者面试题目. 简单描述Android中有哪几种布局. 请用xml布局的方式简单写一下下面的UI.

Android开发面试题 71道经典题目

- - CSDN博客移动开发推荐文章
1.        下列哪些语句关于内存回收的说明是正确的. (b ) A、 程序员必须创建一个线程来释放内存.   B、 内存回收程序负责释放无用内存 .   C、 内存回收程序允许程序员直接释放内存 .   D、 内存回收程序可以在指定的时间释放内存对象 . 2.        下面异常是属于Runtime Exception 的是(abcd)(多选)      A、ArithmeticException .

给两到五年经验的Android面试者

- - 移动开发 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Android 面试之必问高级知识点

- - SegmentFault 最新的文章
Android 面试之必问Java基础. Android 面试之必问Android基础知识. 在Android早期的版本中,应用程序的运行环境是需要依赖Dalvik虚拟机的. 不过,在后来的版本(大概是4.x版本),Android的运行环境却换到了 Android Runtime,其处理应用程序执行的方式完全不同于 Dalvik,Dalvik 是依靠一个 Just-In-Time (JIT) 编译器去解释字节码.

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.