Я пытаюсь извлечь текст из простого текстового файла, загруженного на веб-сайт, доступный непосредственно по ссылке, которую я использовал в своем коде, но по какой-то причине не работает. Используя инструмент отладки, я узнал, что он выбрасывает исключение после строки HttpResponse. Я понятия не имею, как решить эту проблему. (Извините за мой длинный вопрос, я новичок в андроид и StackOverflow)не может получить текст из файла на веб-сайте android
package com.example.trial;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.BufferedHttpEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends Activity {
DefaultHttpClient httpclient = new DefaultHttpClient();
TextView TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
HttpGet httppost = new HttpGet(
"http://www.androidworkshopmit.webs.com/abc.txt");
HttpResponse response = httpclient.execute(httppost);
HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line + "\n");
}
TextView.setText(total);
} catch (Exception e) {
System.out.print("hi, there is some error!");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Ответы верны. Если вы читаете, что называется ошибкой, это называется NetworkOnMainThreadException. Довольно очевидно, что это значит. Не разрешено подключение к сети. –