Я только новичок в разработке Android, и я создаю приложение, которое использует API Twitter, чтобы получить живой твиттер-канал. Однако, когда я нажимаю btn_twitter_stream
сбоев приложений, и я получаю ошибку благородных предшественников в моем LogCat AsyncTask #1 java.lang.RuntimeException: An error occurred while executing doInBackground()
AsyncTask # 1 java.lang.RuntimeException: Произошла ошибка во время выполнения doInBackground()
LogCat
02-05 13:12:37.445 11097-11204/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:361)
at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
at libcore.net.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:281)
at saveourcar.text.twitter.BasicRestClient.request(BasicRestClient.java:81)
at saveourcar.text.twitter.TwitterRestClient.request(TwitterRestClient.java:17)
at saveourcar.text.twitter.BasicRestClient.postSync(BasicRestClient.java:53)
at saveourcar.text.twitter.TwitterRestClient.getBearerToken(TwitterRestClient.java:104)
at saveourcar.text.twitter.TwitterRestClient$1.doInBackground(TwitterRestClient.java:56)
at saveourcar.text.twitter.TwitterRestClient$1.doInBackground(TwitterRestClient.java:43)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Posix.getaddrinfo(Native Method)
at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:59)
at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:361)
at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
at libcore.net.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:281)
at saveourcar.text.twitter.BasicRestClient.request(BasicRestClient.java:81)
at saveourcar.text.twitter.TwitterRestClient.request(TwitterRestClient.java:17)
at saveourcar.text.twitter.BasicRestClient.postSync(BasicRestClient.java:53)
at saveourcar.text.twitter.TwitterRestClient.getBearerToken(TwitterRestClient.java:104)
at saveourcar.text.twitter.TwitterRestClient$1.doInBackground(TwitterRestClient.java:56)
at saveourcar.text.twitter.TwitterRestClient$1.doInBackground(TwitterRestClient.java:43)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
at libcore.io.Posix.getaddrinfo(Native Method)
at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:59)
at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:361)
at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
at libcore.net.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:281)
at saveourcar.text.twitter.BasicRestClient.request(BasicRestClient.java:81)
at saveourcar.text.twitter.TwitterRestClient.request(TwitterRestClient.java:17)
at saveourcar.text.twitter.BasicRestClient.postSync(BasicRestClient.java:53)
at saveourcar.text.twitter.TwitterRestClient.getBearerToken(TwitterRestClient.java:104)
at saveourcar.text.twitter.TwitterRestClient$1.doInBackground(TwitterRestClient.java:56)
at saveourcar.text.twitter.TwitterRestClient$1.doInBackground(TwitterRestClient.java:43)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Не знаю, почему он бросает эту ошибку может занять кто-то быстрый взгляд на это, чтобы увидеть, если они может заметить что угодно. Этот код работал в примере, который я нашел, но по какой-то причине он не работает для меня.
Мой код выглядит залежи
Я думаю, что это класс, где мой вопрос ListTweetsActivity
public class ListTweetsActivity extends AppCompatActivity {
private static final String LOG_TAG = ListTweetsActivity.class.getSimpleName();
private TwitterRestClient mHttp;
private List<Tweet> mTweets;
private ListTweetsAdapter mTweetsAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tweets_list);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mTweets = new ArrayList<>();
mHttp = new TwitterRestClient(this);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.lst_items);
recyclerView.setLayoutManager(
new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));
mTweetsAdapter = new ListTweetsAdapter(this, mTweets);
recyclerView.setAdapter(mTweetsAdapter);
}
@Override
protected void onResume() {
super.onResume();
loadFeeds();
}
private void loadFeeds() {
mHttp.loadTweets("aaroadwatch", new HttpGetRequestListener() {
@Override
public void onSuccess(String result) {
Log.d(LOG_TAG, result);
List<Tweet> tweets = (new Gson()).fromJson(result,
new TypeToken<List<Tweet>>() {
}.getType());
mTweets.clear();
mTweets.addAll(tweets);
mTweetsAdapter.notifyDataSetChanged();
}
@Override
public void onFailure(Exception ex) {
Log.e(LOG_TAG, ex.getMessage());
Toast.makeText(ListTweetsActivity.this, ex.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
что не так с этим вопросом? : 1. информация об исключении, такая как: 'AsyncTask # 1 java.lang.RuntimeException: произошла ошибка при выполнении doInBackground()' iseles ... использовать 'ex.printStackTrace()' и предоставить полный logcat ... 2. тоже много ненужного кода ... используйте 'ex.printStackTrace()', чтобы определить, где (в каком классе и файле) проблема, и предоставить код только для этой части ... – Selvin
Вы добавили точки останова в методе doInBackground, чтобы сузить его вниз? Я не уверен, что кто-то может «взглянуть» на ваш код, увидев, как вы слишком много сделали. –
Я только новичок в этом вопросе. Сейчас я обновлю вопрос. –