XMLを使ってRSSフィードを読むためのチュートリアルに従っていました。だから私は、誰かが説明することができます願っています。:(私は非常に視覚的な学習者だと人の教示は言葉でそれを説明しようとしたことを知っているが、悲しいことに、私は理解していなかったしてください。今AndroidでJava Pull Parserを理解しようとする - Java
StringBuilder tempBuffer = new StringBuilder();
try{
URL xmlUrl = new URL(URLPath);
HttpURLConnection httpURLConnection = (HttpURLConnection) xmlUrl.openConnection();
int response = httpURLConnection.getResponseCode();
Log.d("Downloaded Data", " Response Code:" + response);
InputStream is = httpURLConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
int charRead;
char[] buffer = new char[500];
while(true){
charRead = isr.read(buffer);
if(charRead <= 0){
break;
}
tempBuffer.append(String.copyValueOf(buffer, 0, charRead));
}
return tempBuffer.toString();
私が欲しいものストリームの読み込みに関してcharRead = isr.read(バッファ)を実行するとどういう意味ですか?
OKay。あなたが言ったことから、すべてのコードは、ストリームから500文字を取り出し、それをバッファ配列に入れて、charReadに割り当てて、読み込まれた文字数がゼロになるまでストリームを終了するまで続けます。この場合、ループが完了してから再起動すると、バッファにはすでに値が設定されていませんか?私はバッファの目的について混乱していると思う。 – Ridhwaan
バッファには最後に読み取った結果が格納されます。したがって、500バイトで読み込み、処理してから、次の500で読み込み、ストリームが完了するまで処理します。だから、ループの最上部には既にバッファ変数が設定されていますが、既に使用しているデータで上書きされても構いません。新しいバッファを割り当てない理由は効率です。このループは迅速に反復され、割り当ては遅くなる可能性があります。 –