java - 如何从 parse.com 数据库(Android)中检索数据?

标签 java android parse-platform

我是 Android 新手,一直在尝试使用 Parse.com。他们网站上提供的代码 fragment 非常有用。我已经能够将数据从我的应用程序发送到数据库,这意味着它正在连接到正确的数据库。但我无法从中检索到正确的数据。无论我使用什么对象 ID,它总是返回 null 或 0(取决于它是字符串还是整数)。我的代码如下:

public class MainActivity extends ActionBarActivity {



    TextView tv;
    Button b;
    String playerName;
    ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
    //int score;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);
        tv=(TextView) findViewById (R.id.tv);
        b=(Button) findViewById (R.id.button1);
        Parse.initialize(this, "n12BWwZwk*************3dyKnuIUU", "vVi4TwI***************4peRD1VwyJ9CHw");
        final ParseObject gameScore = new ParseObject("GameScore");
       /* gameScore.put("score", 900);
        gameScore.put("playerName", "Pranav");
        gameScore.put("cheatMode", false);
        gameScore.saveInBackground();
      */


        query.whereEqualTo("objectId", "PnfRaUtHjB");
        query.findInBackground(new FindCallback<ParseObject>() {

            @Override
            public void done(List<ParseObject> arg0, ParseException arg1) {
                // TODO Auto-generated method stub
                if (arg1==null)
                {
                    int score=gameScore.getInt("score");
                    tv.setText("Player score - "+score);
                    Log.d("PTesting", "Player Score");
                    //Toast.makeText(getApplicationContext(), "Reached till Toast "+score,
                        //     Toast.LENGTH_LONG).show();

                }
                else
                {
                    Log.d("score", "Error: " + arg1.getMessage());
                }
            }

        });

}
}

我已经尝试将 [ query.whereEqualto ]playerName 一起使用并得分。相同的结果。

我也试过这个:

ParseQuery<ParseObject> query=ParseQuery.getQuery("GameScore");
        query.getInBackground("YsHLfJ7tUB", new GetCallback<ParseObject>() {

            @Override
            public void done(ParseObject arg0, ParseException arg1) {
                // TODO Auto-generated method stub

                if (arg1==null)
                {
                    int score = gameScore.getInt("score");
                    playerName = gameScore.getString("playerName");
                    boolean cheatMode = gameScore.getBoolean("cheatMode");
                    tv.setText("Updating "+playerName);

                }
                else
                {
                    Log.d("score", "Error: " + arg1.getMessage());
                }
            }

返回的值为 0 或 null。

数据库看起来像这样:

http://i.imgur.com/SsUO8AG.jpg

最佳答案

您使用错误的对象进行检索。 试试这个。

ParseQuery<ParseObject> query=ParseQuery.getQuery("GameScore");
        query.getInBackground("YsHLfJ7tUB", new GetCallback<ParseObject>() {

            @Override
            public void done(ParseObject arg0, ParseException arg1) {
                // TODO Auto-generated method stub

                if (arg1==null)
                {
                    int score = arg0.getInt("score");
                    playerName = arg0.getString("playerName");
                    boolean cheatMode = arg0.getBoolean("cheatMode");
                    tv.setText("Updating "+playerName);

                }
                else
                {
                    Log.d("score", "Error: " + arg1.getMessage());
                }
            }

我会建议使用子类进行解析。 http://blog.parse.com/2013/05/30/parse-on-android-just-got-classier/

关于java - 如何从 parse.com 数据库(Android)中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28633368/

相关文章:

java - 既然jdbc是一个接口(interface),我们如何在jdbc中使用prepare语句

java - 获取 Pop3message 的负大小

java - 没有绑定(bind)变量的 PreparedStatement 会影响性能吗?

android - 在 Android Studio 中设置布局预览 API

c# - fragment 内的 MVVMCross-Android 动态 fragment 并管理每个 fragment 的导航堆栈

php - Parse.com - Parse PHP SDK - 如何通过指针字段查询数据?

java - 两次 eclipse 警告的原因

Android Studio 编译原生代码显示 "fcntl(): Bad file descriptor"

ios - 隐藏从API发送的重置密码电子邮件上的Parse.com URL

android - 4.1 中的 java.lang.NoClassDefFoundError 和 5.1.using multidex 在 android studio 中工作