Autore Topic: eliminare e rinominate file o cartella selezionata....  (Letto 1596 volte)

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
eliminare e rinominate file o cartella selezionata....
« il: 22 Settembre 2011, 11:18:10 CEST »
0
ciao a tutti!!!!

ho questo cod.:

Codice (Java): [Seleziona]
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Folder extends ListActivity {
       
        private List<String> item = null;
        private List<String> path = null;
        private String root="/sdcard/songs/";
        private TextView myPath;
       
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.folder_main);
        myPath = (TextView)findViewById(R.id.path);
        getDir(root);
    }
   
    private void getDir(String dirPath)
    {
        myPath.setText("Location: " + dirPath);
       
        item = new ArrayList<String>();
        path = new ArrayList<String>();
       
        File f = new File(dirPath);
        File[] files = f.listFiles();
       
        if(!dirPath.equals(root))
        {

                item.add(root);
                path.add(root);
               
                //item.add("../");
                //path.add(f.getParent());
           
        }
       
        for(int i=0; i < files.length; i++)
        {
                        File file = files[i];
                        path.add(file.getPath());
                        if(file.isDirectory())
                                item.add(file.getName());
                        else
                                item.add(file.getName());
        }

        ArrayAdapter<String> fileList =
                new ArrayAdapter<String>(this, R.layout.row, item);
        setListAdapter(fileList);
    }

        @Override
        protected void onListItemClick(ListView l, View v, int position, long id) {
               
                File file = new File(path.get(position));
               
                if (file.isDirectory())
                {
                        if(file.canRead())
                                getDir(path.get(position));
                        else
                        {
                                new AlertDialog.Builder(this)
                                .setIcon(R.drawable.icon)
                                .setTitle("[" + file.getName() + "] Impossibile leggere la cartella !")
                                .setPositiveButton("OK",
                                                new DialogInterface.OnClickListener() {
                                                       
                                                       
                                                        public void onClick(DialogInterface dialog, int which) {
                                                                // TODO Auto-generated method stub
                                                        }
                                                }).show();
                        }
                }
                else
                {
                        new AlertDialog.Builder(this)
                                .setIcon(R.drawable.icon)
                                .setTitle("Eliminare la Playlist "+ file.getName()+"?")
                                .setPositiveButton("OK",
                                                new DialogInterface.OnClickListener() {
                                                        //eliminare o rinominare......
                                                       

                                                       
                                                        public void onClick(DialogInterface dialog, int which) {
                                                                // TODO Auto-generated method stub
                                                        }
                                                }).show();
                }
        }
}

con questo cod. posso solo visualizzare il nome del file selezionato....vorrei per'ora solo eliminare il file da me selezionato....

ho cercato ad internet...ma mi escono solo programmi...non riesco a trovare una spiegazione sulla gestione dei file....cioè eliminare copiare editare etc....mi potreste aiutare???
tutti possiamo programmare...basta volerlo!!!

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #1 il: 22 Settembre 2011, 11:20:44 CEST »
0
esiste google....
java eliminare file
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #2 il: 22 Settembre 2011, 11:28:17 CEST »
0
ahh!!! io facevo scrivendo...."android eliminare file"
tutti possiamo programmare...basta volerlo!!!

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #3 il: 22 Settembre 2011, 11:48:04 CEST »
0
ahh!!! io facevo scrivendo...."android eliminare file"
un consiglio:
quando devi fare qualcosa in generale su android, e usi classi varie, guarda il package delle classi stesse, in questo caso file:
File | Android Developers
java.io
quindi vuol dire che puoi tranquillamente cercare java eliminare file
:D
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #4 il: 22 Settembre 2011, 11:49:45 CEST »
0
ok! lo terrò presente!!!

grazie!!!! :D
tutti possiamo programmare...basta volerlo!!!

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #5 il: 22 Settembre 2011, 19:03:23 CEST »
0
ALLORA.....prima di tutto ho modificato la classe...

Codice (Java): [Seleziona]
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Folder extends ListActivity {
       
       
        private List<String> item = null;
        private List<String> path = null;
        private String root="/sdcard/";
        private TextView myPath;
       
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.folder_main);
        myPath = (TextView)findViewById(R.id.path);
        getDir(root);
    }
   
    private void getDir(String dirPath)
    {
        myPath.setText("Location: " + dirPath);
       
        item = new ArrayList<String>();
        path = new ArrayList<String>();
       
        File f = new File(dirPath);
        File[] files = f.listFiles();
       
        if(!dirPath.equals(root))
        {

                item.add(root);
                path.add(root);
               
                //item.add("../");
                //path.add(f.getParent());
           
        }
       
        for(int i=0; i < files.length; i++)
        {
                        File file = files[i];
                        path.add(file.getPath());
                        if(file.isDirectory())
                                item.add(file.getName());
                        else
                                item.add(file.getName());
        }

        ArrayAdapter<String> fileList =
                new ArrayAdapter<String>(this, R.layout.row, item);
        setListAdapter(fileList);
    }

        @Override
        protected void onListItemClick(ListView l, View v, int position, long id) {
                 //Quì inserire il cod. per eliminare la cartella clikkata.....
       
        }
         
}

ho trovato questo esempio per eliminare il file....

Codice (Java): [Seleziona]
public class DeleteDirectory {


    /**
     * Deletes the directory passed in.
     * @param dir Directory to be deleted
     */

    private static void doDeleteEmptyDir(String dir) {

        boolean success = (new File(dir)).delete();

        if (success) {
            System.out.println("Successfully deleted empty directory: " + dir);
        } else {
            System.out.println("Failed to delete empty directory: " + dir);
        }

    }

    /**
     * Deletes all files and subdirectories under "dir".
     * @param dir Directory to be deleted
     * @return boolean Returns "true" if all deletions were successful.
     *                 If a deletion fails, the method stops attempting to
     *                 delete and returns "false".
     */

    private static boolean deleteDir(File dir) {

        if (dir.isDirectory()) {
            String[] children = dir.list();
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }

        // The directory is now empty so now it can be smoked
        return dir.delete();
    }



    /**
     * Sole entry point to the class and application.
     * @param args Array of String arguments.
     */

    public static void main(String[] args) {

        doDeleteEmptyDir("new_dir1");
       
        String newDir2 = "new_dir2";
        boolean success = deleteDir(new File(newDir2));
        if (success) {
            System.out.println("Successfully deleted populated directory: " + newDir2);
        } else {
            System.out.println("Failed to delete populated directory: " + newDir2);
        }
       
    }

}

mi potreste aiutare???
tutti possiamo programmare...basta volerlo!!!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #6 il: 22 Settembre 2011, 19:18:14 CEST »
0
Qual'è il problema?

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #7 il: 22 Settembre 2011, 19:23:46 CEST »
0
Codice (Java): [Seleziona]
protected void onListItemClick(ListView l, View v, int position, long id) {
                 //Quì inserire il cod. per eliminare la cartella clikkata.....
       
        }
vorrei eliminare la cartella clikkata.....cioè all'evento click eliminare il file cliccatto.....(ovviamente mettendo un allertdialog come preavviso)...praticamente con questo cod. mi sce la lista dei file......ma vorrei che quando clikko sopra eliminasse il file clikkato.....spero di essere stato chiaro....
tutti possiamo programmare...basta volerlo!!!

Offline paul78

  • Utente normale
  • ***
  • Post: 359
  • Respect: +1
    • Mostra profilo
    • Android Code
  • Sistema operativo:
    Linux - Windows
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #8 il: 25 Settembre 2011, 10:40:58 CEST »
0
ciao a tutti!! ho ricostruito un file browser.....il problema è sempre nel delete....il cod. è questo...

Codice (Java): [Seleziona]
 @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long id)
        {
                File file = mFiles.get((int)id);
               
                if(file.isDirectory())
                {
                        browseTo(file);
                }
                else
                {
                        if(!mStandAlone)
                        {
                                // Send back the file that was selected
                                Uri path = Uri.fromFile(file);
                                Intent intent = new Intent(Intent.ACTION_PICK, path);
                                setResult(RESULT_OK, intent);                  
                                finish();
                        }
                        else
                        {
                                // Try to open it
                                Intent intent = new Intent(Intent.ACTION_VIEW);
                                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                intent.setDataAndType(Uri.fromFile(file), getMimeType(file));
                                startActivity(Intent.createChooser(intent, null));
                        }
                }
        }

        @Override
        public boolean onItemLongClick(AdapterView<?> parentView, View view, int arg2, long id)
        {
                final File file = mFiles.get((int)id);
                final File parent = file.getParentFile();
               
                new AlertDialog.Builder(FileBrowser.this)
        .setIcon(android.R.drawable.ic_menu_agenda)
        .setItems(R.array.file_options, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                switch(whichButton)
                {
        case 0: // Delete file selezionato                                     
                file.delete();
                        browseTo(parent);                    
                        break;
                }
                dialog.dismiss();
            }
        })
       .create().show();
               
                return true;
        }

quando installa l'applicazione ed elimino un file selezionato....non lo elimina!!!!! :'(
se mi potreste aiutare.....
tutti possiamo programmare...basta volerlo!!!

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:eliminare e rinominate file o cartella selezionata....
« Risposta #9 il: 26 Settembre 2011, 23:11:42 CEST »
0
Se non sbaglio, se stai usando sdk > 1.6 devi inserire i permessi nel manifest:
 "uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE".

Hai provato a fare in questo modo:

Codice: [Seleziona]
File file = new File(FilePath);
boolean deleted = file.delete();
FilePath è il percorso del file da eliminare esempio:

/sdcard/Directory/Esempio.txt

È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .