Android 应用程序引擎:应用程序在尝试访问CloudBackendFragment类时崩溃
我正在使用谷歌提供的移动后端启动器。我已经添加了我自己的活动,我正在使用CloudBackend和CloudBackendFragment类。当我试图打开活动时,它崩溃了。我想这是因为我在onCreate方法中初始化了CloudBackendFragment对象。但是根据示例留言簿活动,我需要它来执行插入和查询数据存储。 代码Android 应用程序引擎:应用程序在尝试访问CloudBackendFragment类时崩溃,android,eclipse,google-app-engine,google-cloud-endpoints,google-cloud-datastore,Android,Eclipse,Google App Engine,Google Cloud Endpoints,Google Cloud Datastore,我正在使用谷歌提供的移动后端启动器。我已经添加了我自己的活动,我正在使用CloudBackend和CloudBackendFragment类。当我试图打开活动时,它崩溃了。我想这是因为我在onCreate方法中初始化了CloudBackendFragment对象。但是根据示例留言簿活动,我需要它来执行插入和查询数据存储。 代码 public class Regform extends Activity implements OnListener{ private CloudBackendFrag
public class Regform extends Activity implements OnListener{
private CloudBackendFragment mProcessingFragment1;
private FragmentManager mFragmentManager;
private Button register;
private Button show;
private static final String PROCESSING_FRAGMENT_TAG = "BACKEND_FRAGMENT";
private static final String TAG="Registration";
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG,"Entered the onCreate method");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_regform);
final EditText firstName = (EditText) findViewById(R.id.firstName);
final EditText lastName = (EditText) findViewById(R.id.lastName);
final EditText email = (EditText) findViewById(R.id.email);
final EditText phoneNumber = (EditText) findViewById(R.id.phone);
final EditText username = (EditText) findViewById(R.id.userName);
final EditText password = (EditText) findViewById(R.id.password);
register = (Button) findViewById(R.id.register);
show=(Button) findViewById(R.id.Show);
final Button login = (Button) findViewById(R.id.login);
mFragmentManager=getFragmentManager();
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
mProcessingFragment1 = (CloudBackendFragment) mFragmentManager.
findFragmentByTag(PROCESSING_FRAGMENT_TAG);
// If not retained (or first time running), create a new one
if (mProcessingFragment1 == null) {
mProcessingFragment1 = new CloudBackendFragment();
mProcessingFragment1.setRetainInstance(true);
fragmentTransaction.add(mProcessingFragment1, PROCESSING_FRAGMENT_TAG);
}
fragmentTransaction.commit();
register.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Log.i(TAG,"Entered the regiter method");
CloudEntity reg = new CloudEntity("Registration");
reg.put("FirstName", firstName.getText().toString());
reg.put("LastName", lastName.getText().toString());
reg.put("Email", email.getText().toString());
reg.put("phoneno", phoneNumber.getText());
reg.put("username",username.getText().toString());
reg.put("password",password.getText().toString());
CloudCallbackHandler<CloudEntity> handler = new CloudCallbackHandler<CloudEntity>() {
@Override
public void onComplete(final CloudEntity result) {
firstName.setText("");
lastName.setText("");
email.setText("");
phoneNumber.setText("");
firstName.setEnabled(true);
lastName.setEnabled(true);
email.setEnabled(true);
phoneNumber.setEnabled(true);
register.setEnabled(true);
password.setEnabled(true);
username.setEnabled(true);
}
@Override
public void onError(final IOException exception) {
handleEndpointException(exception);
}
};
// execute the insertion with the handler
mProcessingFragment1.getCloudBackend().insert(reg, handler);
firstName.setEnabled(false);
lastName.setEnabled(false);
email.setEnabled(false);
phoneNumber.setEnabled(false);
register.setEnabled(false);
}
});
公共类Regform扩展活动实现OnListener{
私有云后端片段MPProcessingFragment1;
私人碎片管理器MFFragmentManager;
专用按钮寄存器;
私人按钮秀;
私有静态最终字符串处理\u FRAGMENT\u TAG=“BACKEND\u FRAGMENT”;
私有静态最终字符串TAG=“注册”;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
Log.i(标记“输入onCreate方法”);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_regform);
final EditText firstName=(EditText)findViewById(R.id.firstName);
最终EditText lastName=(EditText)findViewById(R.id.lastName);
最终EditText电子邮件=(EditText)findViewById(R.id.email);
最终EditText电话号码=(EditText)findViewById(R.id.phone);
最终EditText用户名=(EditText)findViewById(R.id.username);
最终EditText密码=(EditText)findViewById(R.id.password);
寄存器=(按钮)findviewbyd(R.id.register);
show=(按钮)findviewbyd(R.id.show);
最终按钮登录=(按钮)findViewById(R.id.login);
MFFragmentManager=getFragmentManager();
FragmentTransaction FragmentTransaction=MFFragmentManager.beginTransaction();
MPProcessingFragment1=(CloudBackendFragment)MFFragmentManager。
findFragmentByTag(处理片段标记);
//如果未保留(或首次运行),请创建一个新的
如果(MPProcessingFragment1==null){
mpProcessingFragment1=新的CloudBackendFragment();
MPProcessingFragment1.setRetainInstance(真);
fragmentTransaction.add(MPProcessingFragment1,PROCESSING_FRAGMENT_标记);
}
fragmentTransaction.commit();
register.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
Log.i(标记“输入注册表方法”);
CloudEntity reg=新的CloudEntity(“注册”);
reg.put(“FirstName”,FirstName.getText().toString());
reg.put(“LastName”,LastName.getText().toString());
reg.put(“Email”,Email.getText().toString());
reg.put(“phoneno”,phoneNumber.getText());
reg.put(“username”,username.getText().toString());
reg.put(“password”,password.getText().toString());
CloudCallbackHandler=新的CloudCallbackHandler(){
@凌驾
未完成的公共void(最终CloudEntity结果){
firstName.setText(“”);
lastName.setText(“”);
email.setText(“”);
phoneNumber.setText(“”);
firstName.setEnabled(true);
lastName.setEnabled(true);
email.setEnabled(true);
phoneNumber.setEnabled(真);
register.setEnabled(true);
password.setEnabled(true);
username.setEnabled(true);
}
@凌驾
公共无效onError(最终IOException){
handleEndpointException(异常);
}
};
//使用处理程序执行插入
mpProcessingFragment1.getCloudBackend().insert(reg,handler);
firstName.setEnabled(false);
lastName.setEnabled(false);
email.setEnabled(false);
phoneNumber.setEnabled(假);
register.setEnabled(false);
}
});
我对appengine和android比较陌生。请帮我