저는 Android Studio가 처음입니다. 기본적으로 QR 스캐너에 대한 일종의 기록 파일을 만드는 것입니다. 내가 스캔 한 내용은 History.txt 파일에 저장됩니다. 그것은 작동하지만 내가 의도 한 방식이 아닙니다. 이것은 첫 번째 스캔 후 내역을 확인하는 결과였다 :ListView로 텍스트 파일 읽기 (앱이 ListView에 두 번 추가)?
그리고 이것은 내가 두 번째 스캔 검사 할 때 발생하는 것입니다 : 이것은 내 OutputWriter 코드가
입니다 :
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("History.txt", Context.MODE_APPEND));
outputStreamWriter.write(rawResult.getText()); // the scan result
outputStreamWriter.append("\n\r");
outputStreamWriter.close();
} catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
그리고 이것은 기록을 표시하는 활동입니다 :
public class ResultsActivity extends AppCompatActivity {
ListView ResultsListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_results);
ResultsListView = (ListView) findViewById(R.id.ResultsListView);
readFromFile();
}
private String readFromFile() {
String ret = "";
ArrayList<String> lines = new ArrayList<>(); // stores lines from text file.
try {
InputStream inputStream = openFileInput("History.txt");
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();
while ((receiveString = bufferedReader.readLine()) != null) {
stringBuilder.append(receiveString);
lines.add(stringBuilder.toString());
}
inputStream.close();
// put results in ListView
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, lines);
ResultsListView.setAdapter(adapter);
}
} catch (FileNotFoundException e) {
Log.e("Exception", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("Exception", "Can not read file: " + e.toString());
}
return ret;
}
}
왜 ListView에 두 가지 항목이 나타나는지 잘 모르겠습니다. 언젠가 그것을 보았지만 아무 것도 보지 못했습니다. 이것이 간단한 오류 일 경우 내 사과. Android Studio에 익숙해지고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다. 고맙습니다.
rawResult.getText()
결과를 아직 확인하셨습니까? 함수 readFromFile()은 괜찮습니다. 나는 당신의 잘못을 생각한다. –