2017-02-02 17 views
1

Googleのモバイルバックエンドスターターの例に基づいたシステムを持っていますので、データストアにAndroid Appを読み書きすることができます。私のJSPでAndroid AppはJSP経由で作成されたデータストアエンティティを見ることができません

は、私はこのようなエンティティを追加している:Googleのクラウドでのデータストアを見てみると

CloudEntity newPost = new CloudEntity(kindname); 

    newPost.put("propertyname", propertyvalue); 

    CloudBackendMessaging cbm = mProcessingFragment.getCloudBackend(); 
    cbm.insert(newPost, handler); 

  Entity ent = new Entity(KeyFactory.createKey(table, "CE:" + UUID.randomUUID().toString())); 
      ent.setProperty("_createdAt", new Date()); 
      ent.setProperty("_createdBy", user); 
      ent.setProperty("_kindName", table); 
      // owner??? 
      ent.setProperty("_updatedAt", new Date()); 
      ent.setProperty("_updatedBy", user); 
      ... 
      datastore.put(ent); 

アプリ自体は、このように同じ種類のエンティティを作成し、コンソールでは、エンティティはすべて同じように見えますが、実際のデータ形式とレイアウトに違いはありません。それはすべて良い見えます。

私は、Androidアプリからクエリを実行すると:

mProcessingFragment.getCloudBackend().listByProperty("kindname", "property", Filter.Op.EQ, datastring, Order.DESC, 1000, Scope.PAST, handler); 

アプリから追加されたエンティティのみが示されています。エンティティを表示させるためにJSPで何をする必要があるかについての助けがあれば大歓迎です。

PS。私はJSPからエンティティを削除しようとしましたが、それは確かにクエリによって見られるので、キャッシュの問題ではありません。

答えて

0

私はついにこの1つを取り除きました。ウェブサイトは「_createdBy」と「_updatedByは」

User user = userService.getCurrentUser(); 

これらは、Googleのデベロッパーコンソール内の他のすべての文字列のように見えるが、彼らは実際にじゃない、あなただけに「ユーザー」に設定フィールドを持つレコードを作成していました個々のフィールドを編集して教えてください。

私のアンドロイドアプリがロードされていたときに、すべてのレコードをこのファイルまで読み込んだ後、報告されていないエラーで停止していたとします。

修正点は、単にuserではなくuser.toString()でレコードを作成することでした。

0

考えられる理由の1つに名前空間があります。名前空間は通常、データストア内のデータを分離するために使用されます。

あなたのアプリがデータストアネームスペースを設定しているのを見たことがありますか?

+0

私はドキュメントを見て、データストア上の名前空間の選択についてクラウドコンソールをチェックしましたが、私は何も持っていないので、すべてデフォルトの名前空間を使用していると仮定する必要があります。私は確かに過去にこれを行うためのコードを追加していません。それがそれを説明したので、残念です。提案していただきありがとうございます。 – Abbeytekmd

関連する問題