`
qianlong1207
  • 浏览: 36540 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android通过URL获取网络数据(2)

阅读更多

//第一种
	/**
	 * 获取参数(ArrayList<NameValuePair> nameValuePairs,String url)后post给远程服务器
	 * 将获得的返回结果(String)返回给调用者
	 * 本函数适用于查询数量较少的时候
	 * qian.long
	 * 2011-06-07
	 */
	public String posturl(ArrayList<NameValuePair> nameValuePairs,String url) {
	    String result = "";
	    String tmp= "";
	    InputStream is = null;
	    try {
	        HttpClient httpclient = new DefaultHttpClient();
	        HttpPost httppost = new HttpPost(url);
	        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
	        HttpResponse response = httpclient.execute(httppost);
	        HttpEntity entity = response.getEntity();
	        is = entity.getContent();
	    } catch(Exception e) {
	        return "Fail to establish http connection!";
	    }
	 
	    try {
	        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
	        StringBuilder sb = new StringBuilder();
	        String line = null;
	        while ((line = reader.readLine()) != null) {
	            sb.append(line + "\n");
	        }
	        is.close();
	 
	        tmp = sb.toString();
	    } catch (Exception e) {
	        return "Fail to convert net stream!";
	    }
	 
	    try {
	        JSONArray jArray = new JSONArray(tmp);
	        for(int i = 0; i < jArray.length(); i++) {
	            JSONObject json_data = jArray.getJSONObject(i);
	            Iterator<?> keys=json_data.keys();
	            while(keys.hasNext()) {
	                result += json_data.getString(keys.next().toString());
	            }
	        }
	    } catch (JSONException e) {
	        return "The URL you post is wrong!";
	    }
	 
	    return result;
	}
	 
	//第二种
	/**
	 * 获取参数指定的网页代码,将其返回给调用者,由调用者对其解析
	 * 返回String
	 * qian.long
	 * 2011-06-07
	 */
	public String posturl(String url) {
	    InputStream is = null;
	    String result = "";
	 
	    try {
	        HttpClient httpclient = new DefaultHttpClient();
	        HttpPost httppost = new HttpPost(url);
	        HttpResponse response = httpclient.execute(httppost);
	        HttpEntity entity = response.getEntity();
	        is = entity.getContent();
	    } catch(Exception e) {
	        return "Fail to establish http connection!"+e.toString();
	    }
	 
	    try{
	        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
	        StringBuilder sb = new StringBuilder();
	        String line = null;
	        while ((line = reader.readLine()) != null) {
	            sb.append(line + "\n");
	        }
	        is.close();
	 
	        result=sb.toString();
	    } catch (Exception e) {
	        return "Fail to convert net stream!";
	    }
	 
	    return result;
	}
	 
	//第三种
	/**
	 * 获取指定地址的网页数据
	 * 返回数据流
	 * qian.long
	 * 2011-06-07
	 */
	public InputStream streampost(String remote_addr) {
	    URL infoUrl = null;
	    InputStream inStream = null;
	    try {
	        infoUrl = new URL(remote_addr);
	        URLConnection connection = infoUrl.openConnection();
	        HttpURLConnection httpConnection = (HttpURLConnection)connection;
	        int responseCode = httpConnection.getResponseCode();
	        if(responseCode == HttpURLConnection.HTTP_OK) {
	            inStream = httpConnection.getInputStream();
	        }
	    } catch (MalformedURLException e) {
	        // TODO Auto-generated catch block
	        e.printStackTrace();
	    } catch (IOException e) {
	        // TODO Auto-generated catch block
	        e.printStackTrace();
	    }
	    return inStream;
	}
 
分享到:
评论

相关推荐

    Android通过网络URL获取图片并显示

    综上所述,Android应用从网络URL获取并显示图片的过程涉及网络请求、数据解析、图片加载及缓存策略等多个环节。使用合适的网络库和图片加载库能有效提高效率和用户体验。在实际开发中,应根据项目需求选择最适合的...

    Android通过URL获取网络资源.doc

    Android 通过 URL 获取网络资源需要在 AndroidManifest.xml 文件中加入访问因特网服务的权限,然后使用 URL 和 URLConnection 类来打开 URL 链接并读取数据,最后将读到的数据转换为可读取的字符串。 在这个过程中...

    android:通过httpclient向网络端获取数据的精短小实例

    在 Android 应用程序中,我们可以使用 HttpClient 来获取网络数据,例如从服务器获取登录信息、获取数据列表等。 下面是一个使用 HttpClient 获取网络数据的实例: 首先,我们需要在 Android 项目中添加 ...

    Android-ListAdapter获取网络数据

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了将网络上的数据加载到ListView中,我们通常会使用...通过这种方式,可以有效地从网络获取数据并显示在ListView上,同时避免了主线程阻塞问题。

    Android开发简单获取网页数据

    在Android开发中,获取网页数据是一项常见的任务,无论是从ASPX、PHP或其他类型的网页服务器获取信息,都是通过网络请求来实现的。本文将详细介绍如何在Android应用中简单地获取网页数据,以及涉及到的关键技术。 ...

    Android通过URL访问网络资源工具包

    本工具包专注于如何在Android应用中利用URL来获取网络数据。下面将详细介绍这个工具包的关键知识点。 首先,Android系统为了防止应用在主线程中进行耗时操作,如网络请求,引入了Android应用的运行时环境限制。因此...

    android获取网络数据到本地并查看.zip

    通过以上步骤,你可以在Android应用中实现从网络获取数据,将其存储到本地,并提供查看功能。项目“android获取网络数据到本地并查看.doc”可能详细阐述了这些步骤,包括具体的代码示例和可能遇到的问题解决方法。

    Android Http URL Connection获取数据并JSON解析

    本教程将深入探讨如何使用`HttpURLConnection`从远程服务器获取数据,并结合JSON解析技术将数据展示在Android设备上。 一、HttpURLConnection介绍 `HttpURLConnection`是Java `java.net`包下的类,它是Android系统...

    android客户端从服务器端获取json数据并解析的实现代码

    首先客户端从服务器端获取json数据 1、利用HttpUrlConnection 代码如下:/** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exception */ public static String readParse(String urlPath) ...

    Android高级应用源码-通过httpclient获取到JSON数据,展示到ListView.zip

    在Android开发中,将网络获取的数据展示到ListView是一种常见的需求,尤其在处理动态加载和大量数据展示时。这个源码示例"Android高级应用源码-通过httpclient获取到JSON数据,展示到ListView.zip"正是关于这个主题...

    Android 获取当前网速质量调整网络请求

    通过`ConnectivityManager`,我们可以获取到设备当前的网络连接信息,包括网络类型(如Wi-Fi、移动数据等)以及是否连接。一旦确定了网络连接,我们可以通过计算一定时间内数据传输的字节数来估算网速。 以下是一个...

    Android解析xml文件获取网络数据http请求,带Fragment框架,图片缓存本地

    在这个项目中,我们关注的是如何在Android应用中使用XML解析器获取网络数据,结合Fragment框架进行界面展示,并且实现图片的本地缓存。下面将详细介绍这些知识点。 1. XML解析:XML(eXtensible Markup Language)...

    android get,post获取数据

    2. 打开连接,通过`openConnection()`方法获取`HttpURLConnection`对象。 3. 设置请求方法为GET,通过`setRequestMethod("GET")`。 4. 连接服务器,调用`connect()`方法。 5. 读取响应,通过`getInputStream()`或`...

    Android Studio获取网络JSON数据并处理的方法

    //获取数据集名称为obj的数据 Log.d("jsonArray数据输出:", String.valueOf(jsonArray)); for (int i = 0; i (); i++) { BasSection novels = BasSection.sectionData(jsonArray.getJSONObject(i));//把数据存在...

    从网络获取解析json的android demo

    通过这个简单的Android Demo,我们可以学习到如何利用Volley从网络获取JSON数据,并对其进行解析。实际项目中,你可能还需要考虑网络连接的稳定性、数据缓存、错误重试等复杂情况。在开发过程中,确保遵循最佳实践,...

    Android客户端抓取网络数据

    在Android客户端开发中,抓取网络数据是常见的需求,它使得应用能够获取远程服务器上的信息,更新内容,发送用户数据等。本篇文章将详细讲解如何在Android应用中使用HTTP协议来实现这一功能,并结合标签"HTTP"以及...

    Android Studio发起GET网络请求

    在Android开发中,获取网络数据是常见的需求,通常我们通过HTTP协议发起GET或POST请求来实现。本教程将详细介绍如何在Android Studio中使用Java编写代码发起GET网络请求,适合初学者学习。 首先,理解GET请求的基本...

    android 获取网络图片

    在Android平台上,获取并显示网络图片是常见的任务,特别是在开发涉及用户界面的应用程序时。这里我们将深入探讨如何在Android中实现这一功能,包括使用Bitmap、内存优化以及使用现代的加载库如Glide或Picasso。 ...

    android获取网络资源

    在Android平台上,获取网络...总之,Android获取网络资源涉及网络请求库的选择、线程管理、数据解析以及异常处理等多个方面。开发者可以根据项目需求和性能要求,选择合适的工具和策略,实现高效、稳定的网络资源获取。

Global site tag (gtag.js) - Google Analytics