我已经完成了从安卓到云的数据插入,我想要从云中获取数据,在我的理解中,列出对象“在云中包含字符串数据类型”,并将其设置到TextView中。
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;
}
}
}先谢谢你帮我
这是我使用String.value(dataList);的更新,我得到的是这个com.parse.ParseObject@44f904b8, com.parse.ParseObject@44f90a30
发布于 2013-02-16 08:28:45
除非你有一个被覆盖的toString方法来打印一些不同的东西,否则它会打印出类以及我认为的内存地址或类似的东西。如果您想使用String.value (或与toString相同的东西),则需要覆盖ParseObject的toString方法。如果您不想使用该代码,或者无法访问该代码,则需要从ParseObject类提供的getter方法手动构建所需的字符串。
发布于 2013-02-16 10:37:26
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());
}
}
});https://stackoverflow.com/questions/14896626
复制相似问题