本实例主要是通过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 获取网络资源需要在 AndroidManifest.xml 文件中加入访问因特网服务的权限,然后使用 URL 和 URLConnection 类来打开 URL 链接并读取数据,最后将读到的数据转换为可读取的字符串。 在这个过程中...
综上所述,Android应用从网络URL获取并显示图片的过程涉及网络请求、数据解析、图片加载及缓存策略等多个环节。使用合适的网络库和图片加载库能有效提高效率和用户体验。在实际开发中,应根据项目需求选择最适合的...
在 Android 应用程序中,我们可以使用 HttpClient 来获取网络数据,例如从服务器获取登录信息、获取数据列表等。 下面是一个使用 HttpClient 获取网络数据的实例: 首先,我们需要在 Android 项目中添加 ...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了将网络上的数据加载到ListView中,我们通常会使用...通过这种方式,可以有效地从网络获取数据并显示在ListView上,同时避免了主线程阻塞问题。
在Android开发中,获取网页数据是一项常见的任务,无论是从ASPX、PHP或其他类型的网页服务器获取信息,都是通过网络请求来实现的。本文将详细介绍如何在Android应用中简单地获取网页数据,以及涉及到的关键技术。 ...
本工具包专注于如何在Android应用中利用URL来获取网络数据。下面将详细介绍这个工具包的关键知识点。 首先,Android系统为了防止应用在主线程中进行耗时操作,如网络请求,引入了Android应用的运行时环境限制。因此...
通过以上步骤,你可以在Android应用中实现从网络获取数据,将其存储到本地,并提供查看功能。项目“android获取网络数据到本地并查看.doc”可能详细阐述了这些步骤,包括具体的代码示例和可能遇到的问题解决方法。
首先客户端从服务器端获取json数据 1、利用HttpUrlConnection 代码如下:/** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exception */ public static String readParse(String urlPath) ...
总结,`Android Http URL Connection`和JSON的结合使用,可以帮助开发者实现从服务器获取数据并解析显示的功能。尽管现在有许多高级的网络库如`Retrofit`、`Volley`等,但理解基础的`HttpURLConnection`原理和JSON...
//获取数据集名称为obj的数据 Log.d("jsonArray数据输出:", String.valueOf(jsonArray)); for (int i = 0; i (); i++) { BasSection novels = BasSection.sectionData(jsonArray.getJSONObject(i));//把数据存在...
在Android开发中,将网络获取的数据展示到ListView是一种常见的需求,尤其在处理动态加载和大量数据展示时。这个源码示例"Android高级应用源码-通过httpclient获取到JSON数据,展示到ListView.zip"正是关于这个主题...
通过`ConnectivityManager`,我们可以获取到设备当前的网络连接信息,包括网络类型(如Wi-Fi、移动数据等)以及是否连接。一旦确定了网络连接,我们可以通过计算一定时间内数据传输的字节数来估算网速。 以下是一个...
在这个项目中,我们关注的是如何在Android应用中使用XML解析器获取网络数据,结合Fragment框架进行界面展示,并且实现图片的本地缓存。下面将详细介绍这些知识点。 1. XML解析:XML(eXtensible Markup Language)...
总的来说,Android中获取JSON和XML数据主要通过HTTP请求实现,GET适用于简单获取,POST适用于发送数据。处理数据时,JSON通常使用Gson,XML则有DOM和SAX等多种解析方式。在实际开发中,根据项目需求选择合适的工具和...
通过这个简单的Android Demo,我们可以学习到如何利用Volley从网络获取JSON数据,并对其进行解析。实际项目中,你可能还需要考虑网络连接的稳定性、数据缓存、错误重试等复杂情况。在开发过程中,确保遵循最佳实践,...
在Android开发中,获取网络数据是常见的需求,通常我们通过HTTP协议发起GET或POST请求来实现。本教程将详细介绍如何在Android Studio中使用Java编写代码发起GET网络请求,适合初学者学习。 首先,理解GET请求的基本...
在Android客户端开发中,抓取网络数据是常见的需求,它使得应用能够获取远程服务器上的信息,更新内容,发送用户数据等。本篇文章将详细讲解如何在Android应用中使用HTTP协议来实现这一功能,并结合标签"HTTP"以及...
在Android平台上,获取并显示网络图片是常见的任务,特别是在开发涉及用户界面的应用程序时。这里我们将深入探讨如何在Android中实现这一功能,包括使用Bitmap、内存优化以及使用现代的加载库如Glide或Picasso。 ...
在Android平台上,获取网络...总之,Android获取网络资源涉及网络请求库的选择、线程管理、数据解析以及异常处理等多个方面。开发者可以根据项目需求和性能要求,选择合适的工具和策略,实现高效、稳定的网络资源获取。