私はアンドロイドプログラミングで簡単な疑いがあります。私はJavaのcoding.soに精通していないので、それは簡単な問題かもしれません。Javaでオブジェクトを作成する
最初の2行では、別のアクティビティからこのアクティビティに渡された配列を取得しています...次に、配列リストを作成しています。私は4行目にオブジェクトを作成しています。今問題が来る... 私は、私はBaseFeedParserクラスでそれを渡す必要があるURLの値を取得するためのforループを実行する必要があります。しかし、私は4行目を使用することはできません。つまり、ループ内でオブジェクトを作成するのは、毎回新しいオブジェクトを作成するためです。発生しないはずです...どうすればこの問題を修正できますか?事前に
Intent myintent = getIntent();
String[] ActiveURL = myintent.getStringArrayExtra("URL");
List<String> titles = new ArrayList<String>();
BaseFeedParser parser = new BaseFeedParser(url);
// fetching all active URLs
for (int i = 0; i < ActiveURL.length + 1; i++) {
url = ActiveURL[i];
messages.addAll(parser.parse());
}
// now getting the titles out of the messages for display
for (Message msg : messages) {
titles.add(msg.getTitle());
}
おかげで...
BasefeedParseオブジェクトを毎回作成したくない場合は、BasefeedParserでコンストラクタを削除してから、そのURLをXMLParserクラスのparser.parser(URL)メソッドに渡す必要があります。ベースフィードパーサーURLの値を割り当てる別のメソッドを作成して、何らかの方法でBasefeedParserを実行します。これもエラーにつながる可能性があります。 –
変数には小文字から始まるJavaの規約があります。 ActiveUrlをアクティブなURLに変更します。実際に私はあなたのコードを理解していない...私はインターネットで見つけたBaseFeedParserは、抽象クラスです。なぜ新しいObjectを作成できないのですか? – gregory561
Java(そして、Androidもそうだと思いますが)オブジェクトの作成には基本的な問題はありません。 BaseFeedParserを作成するのが非常に高価な場合にのみ問題が発生しますが、なぜこのような状況になるのかわかりません。 (私はAPIを知らない) –