저는 Java 및 Android 개발에 익숙하지 않습니다. 글쓰기를 시도하는 앱에 어려움을 겪고 있습니다.다른 활동의 SD 카드에 텍스트보기 저장
기본적으로 앱은 하키 팀 코치 용이며 게임에서 통계를 기록하려고합니다.
내가 게임을 끝내고 SD 카드의 파일에 통계를 저장할 수 있기를 바란다면 나중에 실행하고 다시 설정할 수 있도록 새로운 앱을 다시 설정할 수 있습니다. 게임을 기록 할 수 있습니다.
현재 edittext 필드가 포함 된 저장 버튼을 누르면 새로운 활동이 열리므로 원하는 파일의 이름을 지정할 수 있지만 정보가있는 활동에서 정보를 가져 오는 방법을 알아낼 수는 없습니다. 기록했다.
지금까지 나는 다음과 같은 코드를 포함하는로드 Savetosd라는 클래스가 있습니다
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Savetosd extends Activity implements OnClickListener {
Button buttonsave;
EditText filename;
boolean isSDAvail = false, isSDWriteable = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
buttonsave = (Button) findViewById(R.id.buttonsave);
filename = (EditText) findViewById(R.id.filename);
buttonsave.setOnClickListener(this);
checkSDCard();
}
private void checkSDCard() {
// TODO Auto-generated method stub
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// write
isSDAvail = true;
isSDWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
// read only
isSDAvail = true;
isSDWriteable = false;
} else {
// stink
isSDAvail = false;
isSDWriteable = false;
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.buttonsave:
Log.d("Hockey", "Games");
if (isSDAvail && isSDWriteable) {
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
String name = filename.getText().toString();
File file = new File(path, name + ".txt");
try {
path.mkdirs();
FileOutputStream fOut = new FileOutputStream(file);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fOut);
myOutWriter.write(R.layout.activity_main);
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),
"Done writing SD " +filename.getText(),
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
finish();
}
break;
}
}
}
파일이 생성하지만 난 그것을 이야기하고 있지 않다 생각으로 거기에 아무것도 없다되고있는 textviews 및 잡으려고 그들의 가치,하지만이 일을하는 방법을 해결할 수 없습니다. 또한 파일은 내부 메모리에 다운로드 디렉토리에 생성되고 있지만 그것이 sdcard에 저장되기를 원합니다. 어떻게해야합니까?
다음이 도움이 될 수 있습니다. http://stackoverflow.com/questions/3551821/android-write-to-sd-card-folder 및 http://stackoverflow.com/questions/4531396/get-value-of-a -edit-text-field goodluck –