로그 문을 sdcard에 쓰려고합니다. 내가 그것을하기로 결정한 방법은 응용 프로그램 개체를 통해 sdcard에 파일을 만드는 것입니다. 이 방법은 정적 메서드 logToSdcard() 응용 프로그램의 모든 위치에서 호출 할 수 있습니다.android에서 sdcard에 로그 문 작성하기
포함 폴더 "/ RR3log /"가 만들어 지지만 "rr3LogFile.txt"라는 자체 파일에 기록됩니다. 그래서 여러 개의 rr3LogFile 파일에 각각 하나의 스테이 션이 있습니다.
모든 문을 하나의 rr3LogFile 파일에 쓸 수 있습니까? 미리 감사드립니다.
public class NfcScannerApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
File storageDir = new File(Environment
.getExternalStorageDirectory(), "/RR3log/");
storageDir.mkdir();
try {
if(outfile == null){
outfile=File.createTempFile("rr3LogFile", ".txt",storageDir);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void logToSdcard(String tag, String statement){
Log.e(TAG, "inside logtosdcard$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
String state = android.os.Environment.getExternalStorageState();
if(!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
try {
throw new IOException("SD Card is not mounted. It is " + state + ".");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
DateTime now = new DateTime();
DateTimeFormatter fmt = DateTimeFormat.forPattern("d-MMM-Y H:mm");
String dateStr = fmt.print(now);
try{
FileOutputStream fOut = new FileOutputStream(outfile);
OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);
myOutWriter.append(dateStr + " " + tag + " ");
myOutWriter.append(statement);
myOutWriter.append("\n");
myOutWriter.flush();
myOutWriter.close();
fOut.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
.
그런 다음 앱의 어느 곳에서나 활동합니다. 당신의 logToSdcard
방법에
@Override
protected void onResume() {
super.onResume();
Log.e(TAG, "inside entryactivity onResume");
NfcScannerApplication.logToSdcard(TAG, "inside entryactivity onResume");
'logcat '을 사용하여 로그를 쓸 수 있습니다. 이 답변보기 : http://stackoverflow.com/a/17609646/2198638. – Brtle
당신이하는 방식대로 앱을 호출 할 때마다 하나의 파일이 있으므로 createTempFile()을 사용하지 마십시오. 그런 다음 파일에 추가해야하는 [this FileOutputStream constructor] (http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html#FileOutputStream%28java.io.File, % 20 부울 % 29). – devconsole
@AddrallynWigolath 안녕하세요, 로그 파일을 만듭니다. 그러나 파일 관리자를 통해 파일을 탐색하고 클릭하면 '응용 프로그램을 사용할 수 없음'이라고 표시됩니다. 어떤 아이디어? 감사합니다 – turtleboy