Question

Je veux faire l'application où je peux obtenir toutes les images, que ce soit au téléphone ou dans la mémoire externe.Je veux importer toutes les images de mon application.Comment peut-il être possible?Je suis venu savoir que c'est possible grâce à la connexion de fichier.Mais ne pas avoir une idée exacte.

Était-ce utile?

La solution

  1. Get all the file system roots using FileSystemRegistry.listRoots()
  2. Open connection to each root in turn using FileConnection fconn = (FileConnection)Connector.open(root)
  3. List the folder using fconn.list().
  4. For each entry in the list, if it ends with an image extension (file.getName().endsWith(".png") etc), then it's an image.
  5. If the entry is a folder (file.isDirectory() returns true) then use fconn.setFileConnection(folder) to traverse into that directory/
  6. Do the same recursively for all folders in all roots.

Autres conseils

Here is a code snippet I once used for my application. It more or less does the same in funkybros steps.

 protected void showFiles() {
        if (path == null) {
            Enumeration e = FileSystemRegistry.listRoots();
            path = DATAHEAD; //DATAHEAD = file:///
            setTitle(path);
            while (e.hasMoreElements()) {
                String root = (String) e.nextElement();
                append(root, null);
            }
            myForm.getDisplay().setCurrent(this);
        } else {
                        //this if-else just sets the title of the Listing Form
                        if (selectedItem != null) {
                            setTitle(path + selectedItem);
                        }
                        else {
                            setTitle(path);
                        }
            try {
// works when users opens a directory, creates a connection to that directory
                if (selectedItem != null) {
                    fileConncetion = (FileConnection) Connector.open(path + selectedItem, Connector.READ);
                } else // works when presses 'Back' to go one level above/up
                {
                    fileConncetion = (FileConnection) Connector.open(path, Connector.READ);
                }
// Check if the selected item is a directory
                if (fileConncetion.isDirectory()) {
                    if (selectedItem != null) {
                        path = path + selectedItem;
                        selectedItem = null;
                    }
                    //gathers the directory elements
                    Enumeration files = fileConncetion.list();
                    while (files.hasMoreElements()) {
                        String file = (String) files.nextElement();
                        append(file, null);
                    }
//
                    myForm.getDisplay().setCurrent(this);
                    try {
                        if (fileConncetion != null) {
                            fileConncetion.close();
                            fileConncetion = null;
                        }
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
                }//if (fileConncetion.isDirectory())
                else {
                    System.out.println(path);
                    //if it gets a file then calls the publishToServer() method
                    myForm.publishToServer();

                }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top