このサイトの記事のタイトルを解析して、Android アプリのリストビューに表示しようとしています。私のコードは次のようになります。
public class MainActivity extends Activity {
ArrayList<String> mTitles = new ArrayList<String>();
ListView mListView;
ArrayAdapter<String> mAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = (ListView) findViewById(R.id.listView);
processTitles();
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, mTitles);
mListView.setAdapter(mAdapter);
}
private void processTitles() {
String URL = "http://beep.tv2.dk/nyheder";
try {
Document doc = Jsoup.connect(URL).userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19").timeout(10000).get();
Elements titles = doc.select("h2[class=title");
for(Element title: titles) {
mTitles.add(title.text());
}
if(mTitles.size() == 0) {
mTitles.add("Empty result");
}
} catch (Exception ex) {
ex.printStackTrace();
mTitles.clear();
mTitles.add("Exception: " + ex.toString());
}
}
}
スタック オーバーフローに関する多くの記事を読んでも、アプリを開くたびにアプリがクラッシュし続ける理由がわかりません。