6

我想使用解析数据库来开发 Web 应用程序,因为数据将从台式 PC 上传,并且将在解析移动应用程序中完成相同的检索。

是否可以将解析数据库用于网站后端?

因为我想对应用程序和桌面版本使用相同的解析数据库。

任何人都可以通过提供一些想法来帮助我吗?

提前致谢。

4

1 回答 1

15
Is it possible to use the parse database for website backend ?

是的,有可能:.NET 指南REST API

Since I want to use same parse database for application and desktop version.

是的,您可以为应用程序和桌面版本使用相同的数据库。


对于使用 ANDROID 创建对象的存储数据,例如:

ParseObject gameScore = new ParseObject("GameScore");
gameScore.put("score", 1337);
gameScore.put("playerName", "Sean Plott");
gameScore.put("cheatMode", false);
gameScore.saveInBackground();

上面的代码是在 parse.com 中创建表(使用对象存储数据时会自动创建数据库。)检查仪表板:如下图所示

在此处输入图像描述

对于获取数据尝试这种方式:

ParseQuery query = new ParseQuery("GameScore");
query.getInBackground("xWMyZ4YEGZ", new GetCallback() {
  public void done(ParseObject object, ParseException e) {
    if (e == null) {
      // object will be your game score
    } else {
      // something went wrong
    }
  }
});

您可以使用相同的方式用于 WEB 应用程序以及桌面应用程序(REST API


对于创建表用户,我必须创建如下对象:

ParseObject gameScore = new ParseObject("User");
    gameScore.put("First Name", "dhaval");
    gameScore.put("Last Name", "Sodha");
    gameScore.put("Email", "xyz@gmail.com");
    gameScore.put("Phone", "9876543210");
    gameScore.put("Address", "xyz");
    gameScore.put("City", "ahmedabad");
    gameScore.put("Country", "India");
    gameScore.saveInBackground();

上面的对象将创建带有字段的表(ID,名字,姓氏,电子邮件,电话,地址,城市,...时间,创建...等


编辑:


获取类似 ( SELECT * FROM USER WHERE CITY = 'AHMEDABAD' and COUNTRY = 'INDIA')的数据

           ParseQuery lotsOfWins = new ParseQuery("User");
            lotsOfWins.whereEqualTo("city", "Ahmedabad");

            ParseQuery fewWins = new ParseQuery("User");
            fewWins.whereEqualTo("country", "India");

            List<ParseQuery> queries = new ArrayList<ParseQuery>();
            queries.add(lotsOfWins);
            queries.add(fewWins);

            ParseQuery mainQuery = ParseQuery.or(queries);
            mainQuery.findInBackground(new FindCallback() {
            public void done(List<ParseObject> scoreList, ParseException e) {
                if (e == null) {
                    Log.d("score", "Retrieved " + scoreList.size() + " scores");
                    // HERE SIZE is 0 then 'No Data Found!'
                } else {
                    Log.d("score", "Error: " + e.getMessage());
                }
            }

在这里:public void done(List<ParseObject> scoreList, ParseException e)你得到对象的结果

List<ParseObject>: 是查询返回的对象列表。

ParseException: 如果发生是例外..

所以,scoreList.size()给你查询返回的所有对象的总大小。

如何获取数据:

String username = scoreList.getString("username");

如何保存文件:(任何 MIME 类型,如 png、jpg、doc、txt....等)它适用于所有人

使用以下代码上传文件:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
                USERIMAGE.compress(Bitmap.CompressFormat.PNG, 100, stream);
                byte[] byteArray = stream.toByteArray();
                String UsetPhoto = "user"+System.currentTimeMillis()+"image";
                ParseFile file = new ParseFile(UsetPhoto, byteArray);

                ParseObject gameScore = new ParseObject("UserDetails");
                gameScore.put("userName", "" + userName.getText().toString());
                gameScore.put("userPhoto", "" + file);
                gameScore.saveInBackground();

使用上述对象从解析 API 中检索文件:

ParseFile applicantResume = (ParseFile)gameScore.get("userPhoto");
            applicantResume.getDataInBackground(new GetDataCallback() {
              public void done(byte[] data, ParseException e) {
                if (e == null) {
                  // data has the bytes for the resume
                } else {
                  // something went wrong
                }
              }
            });

在这里你得到:public void done(byte[] data, ParseException e)

byte[]:byte[]文件(无论文件类型如何 - 如果您已上传 png,则将该字节另存为 png)。

ParseException: 如果发生是例外..

于 2013-05-10T06:21:26.647 回答