新手请教:conn.getInputStream();报错

酒比花香 2011-10-16 04:56:07
public InputStream getInputStreamFromUrl(String strUrl) throws Exception {

URL url = new URL(strUrl);
System.out.println("getInputStreamFromUrl " + url);
//打印出来10-16 08:51:21.920: INFO/System.out(1391): getInputStreamFromUrl http://10.0.0.4:8080/mp3/a1.mp3
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream inputStream = conn.getInputStream();//这句报错
System.out.println("getInputStreamFromUrl " + inputStream);
return inputStream;
}
访问Internet权限都已经给了。

哪位高人帮我看看,指导一下,不胜感激!

报错信息如下:
10-16 08:51:21.981: WARN/System.err(1391):
at com.download.HttpDownloader.getInputStreamFromUrl(HttpDownloader.java:83)
...全文
1944 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hao_le_er 2012-02-22
  • 打赏
  • 举报
回复
注意:

1. android文件的下载,一般是由service的线程来完成的,为什么这样做,原因是下载一般耗时比较长,我们不可能让用户等待文件下载完再做其它操作,所以我们一般情况下是启动service进行下载,这所以使用线程是为了保证多个下载任务之间不会相互冲突,当然下载完后,还需要发送通知消息,关于这些有空再写。

2. 我们所创建的Service需要在配置清单文件AndroidManifest.xml进行注册。

<service android:name=".service.MP3DownloadService" />
3. 我们读写SD Card需要对一定的permission(权限),这个也需要在AndroidManifest.xml进行注册。

<uses-permission android:name="android.permission.WIRTE_EXTERNAL_STORAGE"/>
androidlds 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 buleriver 的回复:]

是不是需要在
nputStream inputStream = conn.getInputStream();
之前调用
conn.connect()啊?
[/Quote]
就是这样 需要connect的
小裴同学 2011-10-17
  • 打赏
  • 举报
回复
public InputStream getDataAsInputStream(List<NameValuePair> params) {
InputStream result = null;
try {
httpRequest = new HttpPost(url);
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
httpResponse = httpClient.execute(httpRequest);

if (200 == httpResponse.getStatusLine().getStatusCode()) {
result = httpResponse.getEntity().getContent();
}
} catch (IOException e) {
Log.e("nimeimei", e.getMessage(), e);
return result;
}
return result;
}


public String intermessage(String str1, String str2) {
String url = "http://10.1.49.137:8080/Good/TestServlet";
HttpConnect httpConnect = new HttpConnect(url, context);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("meetid", str1));
params.add(new BasicNameValuePair("name", str2));
params.add(new BasicNameValuePair("username", LoginActivity.username));
String result = httpConnect.getDataAsString(params);
return result;
}
BuleRiver 2011-10-17
  • 打赏
  • 举报
回复
是不是需要在
nputStream inputStream = conn.getInputStream();
之前调用
conn.connect()啊?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧