私は単にリストビューでRSSフィードのテキストを表示するだけのアンドロイドアプリケーションを持っています。アプリケーションは、メインアクティビティの特定の行にブレークポイントを持つ、デバッグモードで実行したときにのみフィードを取得します。非同期タスクは、デバッグモード(アンドロイド)でデータを取得するだけです
フィードが非同期的に取得されるため、これが起こる理由の1つになる可能性がありますが、デバッガを使わずにアプリケーションを実行するとフィードを即時に表示する方法がわかりません。ここで
が主な活動である:ここでは
public class MainActivity extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> headlines = new ArrayList<>();
RetrieveFeed getXML = new RetrieveFeed();
getXML.execute();
headlines = getXML.heads();
// Binding data
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, headlines);
setListAdapter(adapter);
}}
は、バックグラウンドでバックグラウンド検索を行うクラスです:
public class RetrieveFeed extends AsyncTask {
URL url;
ArrayList<String> headlines = new ArrayList();
ArrayList<String> links = new ArrayList();
@Override
protected Object doInBackground(Object[] params) {
try {
//does specific stuff here :)
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return headlines;
}
private InputStream getInputStream(URL url) {
try {
return url.openConnection().getInputStream();
} catch (IOException e) {
return null;
}
}
public ArrayList<String> heads()
{
return headlines;
}}
ありがとうございました! – HaroldHibari