我正在尝试在 SD 卡上创建一个由用户输入命名的文件夹,运行它时我没有收到任何错误,但它也没有创建该文件夹。
以下是我为此活动编写的所有代码:
public class Jobselection extends AppCompatActivity
implements OnClickListener {
Button createButton;
EditText photogname;
EditText projnum;
EditText phase;
DatePicker datePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_jobselection);
createButton = (Button) findViewById(R.id.createButton);
createButton.setOnClickListener(this);
photogname = (EditText) findViewById(R.id.photographername);
projnum = (EditText) findViewById(R.id.projectnumber);
phase = (EditText) findViewById(R.id.phase);
datePicker = (DatePicker) findViewById(R.id.datePicker);
}
public static java.util.Date getDateFromDatePicker(DatePicker datePicker) {
int day = datePicker.getDayOfMonth();
int month = datePicker.getMonth();
int year = datePicker.getYear();
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day);
return calendar.getTime();
}
public void onClick(View createButton) {
String date = getDateFromDatePicker(datePicker).toString();
String photog = photogname.getText().toString();
String proj = projnum.getText().toString() + "." + phase.getText().toString();
String state;
state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File appDirectory = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + date + "/" + proj + "/" + photog);
boolean isDirectoryCreated = appDirectory.exists();
if (!isDirectoryCreated) {
isDirectoryCreated = appDirectory.mkdirs();
}
if (isDirectoryCreated) {
Toast.makeText(Jobselection.this, "Folder is created", Toast.LENGTH_LONG).show();
}
else
Log.d("error","dir.already exists");
}
Intent launchUnitLoc = new Intent(this, UnitLocation.class);
startActivity(launchUnitLoc);
}