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

Android通过URL获取网络数据

阅读更多

 

本实例主要是通过URL获取网络资源,在具体一点,就是简单介绍如何获取网页文本资源。获取网络资源还有获取图片、视频、音频……资源,框架基本相似。

 

实验时出现两点小问题:1、抛出Connection Refused的异常;2、出现乱码。

 

     3、  myString = new String(baf.toByteArray(), "GBK");

                        //myString = EncodingUtils.getString(baf.toByteArray(), "GBK");

                        //myString = new String(baf.toByteArray());这个出现乱码,要在txt文件保存时选中utf-8

这三种任选一种。

当然,设置用户权限这个就不用说了!

Code:

package com.web.test;  

 

import java.io.BufferedInputStream;  

import java.io.InputStream;  

import java.net.URL;  

import java.net.URLConnection;  

 

import org.apache.http.util.ByteArrayBuffer;  

import org.apache.http.util.EncodingUtils;  

 

import android.app.Activity;  

import android.os.Bundle;  

import android.widget.TextView;  

/* 

 * 获取网络数据,这里展示如何获取网络上的一个poem.txt文本文件,架设了一个本地服务器 

 */  

 

public class HelloWeb extends Activity {  

    @Override  

    public void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.main);  

 

        TextView tv = new TextView(this);  

        String myString = null;  

 

        try {  

            URL uri = new URL("http://172.16.194.157:8080/my/my.txt");//注意,这里的URL地址必须为网络地址,  

            //URL uri = new URL("http://localhost:8080/my/poem.txt");  

            //本地地址http://localhost:8080/my/poem.txt会报Connection Refused的异常  

            URLConnection ucon = uri.openConnection();  

            InputStream is = ucon.getInputStream();  

            BufferedInputStream bis = new BufferedInputStream(is);  

            ByteArrayBuffer baf = new ByteArrayBuffer(100);  

            int current = 0;  

            while((current = bis.read()) != -1) {  

                baf.append((byte)current);  

            }  

 

            myString = new String(baf.toByteArray(), "GBK");  

            //myString = EncodingUtils.getString(baf.toByteArray(), "GBK");  

            //myString = new String(baf.toByteArray());这个出现乱码,要在txt文件保存时选中utf-8  

        } catch(Exception e) {  

            myString = e.getMessage();  

        }  

 

        tv.setText(myString);  

        this.setContentView(tv);  

    }  

}  

修改txt文本文件的编码格式

 

分享到:
评论

相关推荐

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

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

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

    综上所述,Android应用从网络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客户端从服务器端获取json数据并解析的实现代码

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

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

    总结,`Android Http URL Connection`和JSON的结合使用,可以帮助开发者实现从服务器获取数据并解析显示的功能。尽管现在有许多高级的网络库如`Retrofit`、`Volley`等,但理解基础的`HttpURLConnection`原理和JSON...

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

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

    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获取数据

    总的来说,Android中获取JSON和XML数据主要通过HTTP请求实现,GET适用于简单获取,POST适用于发送数据。处理数据时,JSON通常使用Gson,XML则有DOM和SAX等多种解析方式。在实际开发中,根据项目需求选择合适的工具和...

    从网络获取解析json的android demo

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

    Android Studio发起GET网络请求

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

    Android客户端抓取网络数据

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

    android 获取网络图片

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

    android获取网络资源

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

Global site tag (gtag.js) - Google Analytics