2013-02-15 4 views
0

Je déjà à travers l'insertion des données d'Android au nuage et ce que je suis en train de faire, je veux obtenir les données du nuage qui est stocké (à ma compréhension) liste l'objet « contient la chaîne type de données dans les nuages ​​» et le mettre dans le TextView voici mon code:Comment obtenir des données à partir de nuage à android

package com.cloud.test; 

import java.util.List; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 

import com.parse.FindCallback; 
import com.parse.Parse; 
import com.parse.ParseException; 
import com.parse.ParseObject; 
import com.parse.ParseQuery; 

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     //id from the cloud and perfectly working 
     Parse.initialize(this, "idp7tOItFQ1TeQ87NqG5okzgsTzBZSfOmTh3LjbJ", "sPlps2HcBLzfBcZTG8uUFPi5gHkGbwFYVGHhGtwd"); 


    } 
    public void onClick(View v) { 
     switch (v.getId()) { 
     case R.id.btn1: 
      /** 
      * this is for inserting data to cloud 
      */ 
      EditText et1 = (EditText)findViewById(R.id.et1); 
      EditText et2 = (EditText)findViewById(R.id.et2); 
      EditText et3 = (EditText)findViewById(R.id.et3); 
      String name = et1.getText().toString(); 
      int price = Integer.parseInt(et2.getText().toString()); 
      String desc = et3.getText().toString(); 
      ParseObject test = new ParseObject("Wardrobe"); 

      test.put("price", price); 
      test.put("name", name); 
      test.put("description", desc); 
      test.saveInBackground(); 
      break; 

     case R.id.btn2: 
      /** 
      * below is my problem, i don't know how do i actually get the data from the list 
      * which is all String 
      */ 
      ParseQuery query = new ParseQuery("Wardrobe"); 
      query.whereEqualTo("description", "male"); 
      query.findInBackground(new FindCallback() { 
       @Override 
       public void done(List<ParseObject> dataList, ParseException e) { 
        // TODO Auto-generated method stub 
        if (e == null) { 
         TextView tv1 = (TextView)findViewById(R.id.tv1); 
         TextView tv2 = (TextView)findViewById(R.id.tv2); 
         TextView tv3 = (TextView)findViewById(R.id.tv3); 
          /** 
          * here i want to set the data to the TextView to be viewed by the user 
          */ 
          Log.d("score", "Retrieved " + dataList.size() + " scores"); 
         } else { 
          Log.d("score", "Error: " + e.getMessage()); 
         } 
       } 
      }); 
      break; 
     default: 
      break; 
     } 

    } 
} 

Merci à l'avance pour me aider

Voici une mise à jour j'utilise String.value(dataList); et ce que je reçois est-ce [email protected], [email protected]

Répondre

0

Sauf si vous avez une méthode toString substituée pour imprimer quelque chose de différent, il imprime la classe et ce que je pense être l'adresse mémoire ou quelque chose comme ça. Si vous voulez utiliser String.value (ou toString - même chose), vous devez remplacer la méthode toString de ParseObject. Si vous ne voulez pas, ou n'avez pas accès à ce code, vous devez construire manuellement la chaîne que vous voulez à partir des méthodes getter fournies par la classe ParseObject.

0
public void done(List<ParseObject> dataList, ParseException e) { 
        // TODO Auto-generated method stub 
        if (e == null) { 

          TextView tv1 = (TextView)findViewById(R.id.tv1); 
         for(int x = 0; x < scoreList.size(); x++) 
         { 
         String d = scoreList.get(x).getString("name");       
         tv1.setText(tv1.getText()+" "+d); 
         } 
          Log.d("score", "Retrieved " + dataList.size() + " scores"); 
         } else { 
          Log.d("score", "Error: " + e.getMessage()); 
         } 
       } 
      }); 
Questions connexes