我是新來的java和android開發,我正在努力與我試圖寫一個應用程序。從不同的活動保存textview到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和他們的價值觀,但我無法解決如何做到這一點。此外,該文件正在被創建在內存中的下載目錄中,因爲它被告知,但我希望它被保存在SD卡上,我該怎麼做?
這些可能有所幫助:http://stackoverflow.com/questions/3551821/android-write-to-sd-card-folder和http://stackoverflow.com/questions/4531396/get-value-of-a -edit-text-field goodluck –