【发布时间】:2015-11-02 13:30:02
【问题描述】:
我是 rxandroid 新手,现在我想使用 rxandroid 访问互联网而不使用 AsyncTask,我在下面写了一些代码
```
Observable<String> o= Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> sub) {
sub.onNext("http://192.168.191.1/test3.html");//The test url in my computer ,it works ok;
}
});
Subscriber<String> mySubscriber = new Subscriber<String>() {
@Override
public void onNext(String s) {
InputStream in = null;
try {
in = new URL(s).openStream();
} catch (IOException e) {
e.printStackTrace();
}
Reader r = null;
try {
r = new InputStreamReader(in, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
char[] buffer = new char[8000];
try {
r.read(buffer);
} catch (IOException e) {
e.printStackTrace();
}
Log.d("AAA", new String(buffer));
}
@Override
public void onCompleted() { }
@Override
public void onError(Throwable e) { }
};
o.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(mySubscriber);
```
它没有导致任何崩溃,但我无法获得任何输出,有人知道如何解决吗?非常感谢。
【问题讨论】:
-
你有输出吗?尝试添加一些日志记录,并阅读以下内容:stackoverflow.com/help/mcve。在这个问题的当前状态下,很难猜出你的错误在哪里。
标签: android android-asynctask rx-java rx-android