簡體   English   中英

在Android中以編程方式重命名/刪除音頻庫中的音頻文件

[英]Rename/Delete audio file from gallery in android programatically

列出了庫中的所有音頻文件,這是我的重命名和刪除音頻文件列表的代碼。通過使用此代碼,我可以對列表執行重命名和刪除操作,僅對那些不影響音頻文件的對象執行重命名和刪除操作,如何執行重命名和刪除操作基於我的代碼在畫廊中的音頻文件上,我嘗試通過使用File此操作,但沒有成功,我的代碼有任何錯誤,請糾正我,這是我的代碼變量

ListView myList;
    List values;
    ArrayAdapter adapter;
    MediaPlayerActivity mp = new MediaPlayerActivity();

使用contextmenu重命名和刪除的代碼

case CONTEXT_MENU_DELETE:

            Toast.makeText(
                    this,
                    "You selected item " + context_menu_number
                            + " from the context menu", Toast.LENGTH_SHORT)
                    .show();
            Toast.makeText(
                    this,
                    "You removed item " + number_of_item_in_listview
                            + " from the list", Toast.LENGTH_SHORT).show();
            values.remove(number_of_item_in_listview);
            // myadapter.notifyDataSetChanged(); //if this does not work,
            // reinitialize the adapter:
            adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, android.R.id.text1,
                    values);
            myList.setAdapter(adapter);
            File f = new File(path + filename);
            if (f != null && f.exists()) {
                // delete it
                f.delete();
            }
            return (true);

case CONTEXT_MENU_RENAME:

        AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle("öğeyi yeniden adlandırmak");
        alert.setMessage("Seçili öğe için yeni bir isim girin");

        final EditText input = new EditText(this);
        alert.setView(input);

        alert.setPositiveButton("tamam",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int whichButton) {
                        String value = input.getText().toString();
                        values.set(number_of_item_in_listview, value
                                + ".3gp");
                        adapter.notifyDataSetChanged();
                        /*
                         * File sdcard =
                         * Environment.getExternalStorageDirectory(); File
                         * from = new File(sdcard,"from.txt"); File to = new
                         * File(sdcard,"to.txt"); from.renameTo(to);
                         */
                        File f = new File(path + filename);
                        if (f != null && f.exists()) {
                            File from = new File(f, f.getName());
                            File to = new File(f, value);
                            from.renameTo(to);
                        }

                    }
                });

        alert.setNegativeButton("iptal",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                            int whichButton) {
                    }
                });
        alert.show();
        return (true);
    }
    return (super.onOptionsItemSelected(item));
}

重命名文件:可以正常工作:將此代碼放在要更改名稱的位置。

File sdcard = new File(Environment.getExternalStorageDirectory(), "sample");
            String fromFullPath = "/username556596268.mp3";
            String toFullPath = "/username.mp3";

            File from = new File(sdcard,fromFullPath);
          File to = new File(sdcard,toFullPath);
            from.renameTo(to);

這里“ sample”是我的sdcard主目錄名稱,“ fromFullPath”是我的文件名,它位於示例目錄中,“ toFullPath”是我的更改名稱。

刪除文件:工作正常:將此代碼放在要刪除文件的位置。

File sdcard = new File(Environment.getExternalStorageDirectory(), "sample");
            String fromFullPath = "/username556596268.mp3";

            File from = new File(sdcard,fromFullPath);
            from.delete();
from.deleteOnExit();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM