2

Android に関する質問ではなく、Parse.com に関する質問ですが、あなたの助けが必要です。

Parse.com のアプリケーションのテーブルに画像ファイルがあります

ファイルは問題ありません。手動でダウンロードして視聴できます。

しかし、サーバーから既に取得している parseObject を使用して取得しようとすると、「null」になります

コード:

  byte[] imageFile = parseObject.getBytes(Statics.COL_IMAGE_FILE);

私は何を間違っていますか?

ps : parseObject の "estimatedData" フィールドに画像ファイルのデータ/リンクが表示されますが、取得できません。

4

2 に答える 2

8

Statics.COL_IMAGE_FILEが列の場合File、byte[]を取得するには次の手順を実行する必要があります。

ParseFile imageFile = (ParseFile)parseObject.get(Statics.COL_IMAGE_FILE);
imageFile.getDataInBackground(new GetDataCallback() {
  public void done(byte[] data, ParseException e) {
    if (e == null) {
      // data has the bytes for the image
    } else {
      // something went wrong
    }
  }
});
于 2013-01-25T00:28:10.447 に答える
4

私のアプリケーションからこのコード スニペットを参照してください。外側のクエリはファイルが関連付けられているオブジェクトを返し、内側のクエリはそのオブジェクトからファイルを返します。それが役に立てば幸い。

  ParseQuery<ParseObject> query = ParseQuery.getQuery("ClassName");
    query.whereEqualTo("Column", "Your_variable");
    query.getFirstInBackground(new GetCallback<ParseObject>() {
      public void done(ParseObject object, ParseException e) {
        if (object != null) {

            ParseFile file = (ParseFile)object.get("File_Coulumn");
            file.getDataInBackground(new GetDataCallback() {


            public void done(byte[] data, ParseException e) {
                if (e == null) {

                    bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
                    //use this bitmap as you want

                } else {
                  // something went wrong
                }
              }
            });

        } else {
            Toast.makeText(getApplicationContext(), "Exception", Toast.LENGTH_SHORT) .show();

        }
      }
    });
于 2013-12-31T08:00:18.023 に答える