你必须要录制一个新的每次更改文件名,这样你就可以添加日期时间为文件名,创造出独特的名称:用于显示项目
String dateTime = new SimpleDateFormat("dd-MM-yyyy hh-mm-ss aa",Locale.getDefault()).format(new Date());
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Recordings/recording -" + dateTime + ".3gp";
你必须创建一个数据库来保存文件名,并从数据库文件名时要显示的记录列表
String DIR_DATABASE = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Recordings";
String sqliteQuery= "CREATE TABLE IF NOT EXISTS Recordings (ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , fileName VARCHAR)"
SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "db.sqlite", null);
database.execSQL(sqliteQuery);
和将数据插入到数据库的使用:
SQLiteDatabase database = SQLiteDatabase.openDatabase(DIR_DATABASE + "db.sqlite", null, 0);
ContentValues values = new ContentValues();
values.put("fileName", outputFile);
database.insert("Recordings", "", values);
然后读取文件名从数据库中使用此行:
Cursor cursor = database.rawQuery("SELECT fileName FROM Recordings", null);
ArrayList<String> fileNames = new ArrayList<>();
while (cursor.moveToNext()) {
String fileName = cursor.getString(0);
fileNames.add(fileName);
}
cursor.close();
database.close();
,最后将它们添加到您的列表适配器:
listRecord.addAll(fileNames);
listAdapter = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, listRecord);
recordList.setAdapter(listAdapter);
我希望能够录制多个文件。 –
记录一个文件。停止录制。记录第二个文件。停止录制。记录第三个文件。停止录制。等等。 – CommonsWare
现在编写代码的方式是在录制另一个时间时替换旧文件,纠正我,如果我错了... –