2010-10-01 4 views
1

J'ai une requête dans mon application Android qui tire tous les chemins d'image d'une table personnalisée et les affiche dans une galerie. Le problème est avec ma base de données que je ne peux pas sembler obtenir une ligne de la base de données à un String []. Je peux facilement obtenir les résultats d'un listArray mais j'ai besoin du chemin de l'image dans une chaîne ou un tableau de chaînes. Je veux être en mesure de cliquer sur une image dans la galerie et avoir tirer vers le haut plein écran pour pouvoir zoomer sur ou le supprimer, etc. Ceci est la requête de base que j'utiliseAndroid: résultats du curseur à la chaîne []

public void listimages() { 

    SimpleCursorAdapter adapter; 

    String[] columns = {"Image", "ImageDate", "_id"}; 

    query = new TableImages(this); 

    queryString = query.getData("images", columns, null, null, null, null, "ImageDate", "DESC"); 

    int to[] = {R.id._id1, R.id._id2}; 
    adapter = new SimpleCursorAdapter(this, R.layout.imagelist, queryString, columns, to); 

    Gallery g = (Gallery) findViewById(R.id.gallery); 
    g.setAdapter(adapter); 
    g.setOnItemClickListener(this); 

    try { 
     query.destroy(); 
    } catch (Throwable e) { 
     e.printStackTrace(); 
    } 
} 

public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    Intent i = new Intent(ViewAllImages.this, ImageViewer.class); 
    Bundle b = new Bundle(); 
    //I want to be able to use this -> b.putString("image_path", Image); 
    b.putlong("id", id); 
    i.putExtras(b); 
    startActivity(i); 
} 

Ceci passe la ID à mon activité suivante et l'activité suivante interroge la base de données en tirant ce chemin d'image. Je dois encore utiliser un listview pour afficher l'image qui fait planter l'application sur le téléphone en raison de l'utilisation de la mémoire (l'image est trop grande).

Je peux compresser l'image mais j'ai besoin du chemin comme une chaîne et je ne peux pas comprendre comment faire cela sans créer un fournisseur de contenu personnalisé ou en ajoutant un textview et en utilisant gettext.toString et c'est juste getto. Ma tête me tue comme c'est avec toute la lecture et le codage que j'ai fait lol. J'ai cherché partout sur Google et sur différents forums, mais j'ai de la difficulté à trouver une réponse.

Existe-t-il un moyen d'utiliser la requête existante et d'obtenir une chaîne ou un tableau de chaînes comme résultat?

Merci.

Répondre

0

Je viens de terminer la construction d'un fournisseur de contenu personnalisé. Maintenant, j'ai beaucoup plus de flexibilité dans mes requêtes.

Questions connexes