为什么我不能从cloudmine、android应用程序中检索自定义类?
我在cloudmine数据库中存储了一个自定义cloudmine对象类。然而,当我试图找回它时,什么都没有发生。这不是重审。即使在cloudmine仪表板上,每次应用程序运行时,它都会不断地说“已检索对象”。这是我的代码,用于未获取对象的活动为什么我不能从cloudmine、android应用程序中检索自定义类?,android,Android,我在cloudmine数据库中存储了一个自定义cloudmine对象类。然而,当我试图找回它时,什么都没有发生。这不是重审。即使在cloudmine仪表板上,每次应用程序运行时,它都会不断地说“已检索对象”。这是我的代码,用于未获取对象的活动 package com.android.nest; import java.sql.Time; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator
package com.android.nest;
import java.sql.Time;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import com.cloudmine.api.CMApiCredentials;
import com.cloudmine.api.CMObject;
import com.cloudmine.api.rest.CMStore;
import com.cloudmine.api.rest.callbacks.CMObjectResponseCallback;
import com.cloudmine.api.rest.response.CMObjectResponse;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class ScheduleActivity extends Activity
{
// Find this in your developer console
private static final String APP_ID = "********";
// Find this in your developer console
private static final String API_KEY = "*******";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_schedule);
CMApiCredentials.initialize(APP_ID, API_KEY, getApplicationContext());
CMStore store = CMStore.getStore();
store.loadApplicationObjectsOfClass(MyObject.CLASS_NAME, new CMObjectResponseCallback()
{
public void onCompletion(CMObjectResponse response)
{
System.out.println("onCompletion Method");
for(CMObject object : response.getObjects())
{
System.out.println("inside for loop");
MyObject tempObject = (MyObject) object;
Toast.makeText(ScheduleActivity.this, "getting cloudmine object", Toast.LENGTH_LONG).show();
}
}
});
}
}
以下是我注册该类的方式:
static{
try
{
ClassNameRegistry.register(MyObject.CLASS_NAME, MyObject.class);
}catch(Exception e)
{
e.printStackTrace();
}
}
看起来您正在重写类名,因此您需要调用
ClassNameRegistry.register()
并在按类加载对象之前传入类名和类。CloudMine应该可以很好地处理哈希映射-您可以发布MyObject代码吗?另外,父对象与子对象之间存在哪些问题?只要您在子类中重写getClassName,给它一个与父类不同的名称,或者不重写它们中的任何一个,这应该可以正常工作。我已经在主活动中注册了它,比如下面的静态{try{ClassNameRegistry.register(MyObject.class_name,MyObject.class);}catch(异常e){e.printStackTrace();}}出于某种原因,Cloudmine不喜欢Hashtmaps,但在hashtable中,一切都正常!然而,将对象从父对象强制转换回子对象时出现了一些主要问题,不知道为什么,所以我不得不合并到一个类中。