找不到类“;通用域名格式。谷歌……”;运行和调试时出错-Android编程
以下是我收到的错误找不到类“;通用域名格式。谷歌……”;运行和调试时出错-Android编程,android,android-asynctask,Android,Android Asynctask,以下是我收到的错误 05-16 04:42:07.579: E/dalvikvm(548): Could not find class 'com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$MyConstraintViolation', referenced from method com.google.web.bindery.requestfactory.shared.impl.AbstractReq
05-16 04:42:07.579: E/dalvikvm(548): Could not find class 'com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$MyConstraintViolation', referenced from method com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$StandardPayloadDialect.processPayload
05-16 04:42:08.209: E/dalvikvm(548): Could not find class 'javax.validation.ConstraintViolation', referenced from method com.google.web.bindery.requestfactory.shared.Receiver.onConstraintViolation
这是主类的代码。它停止工作后,Hello吐司消息,我只是为了实验
package com.ncwitmobileapp;
import com.ncwitmobileapp.R;
import com.ncwitmobileapp.client.MyRequestFactory;
import com.ncwitmobileapp.client.MyRequestFactory.HelloWorldRequest;
import com.ncwitmobileapp.client.MyRequestFactory.NCWITMOBILEAPPRequest;
import com.google.gwt.core.client.GWT;
import com.google.web.bindery.requestfactory.shared.Receiver;
import com.google.web.bindery.requestfactory.shared.ServerFailure;
import android.R.color;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Editable;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Login_Screen extends Activity
{
private static final String TAG = "Techchicks";
/**
* The current context.
*/
private Context mContext = this;
@Override
public void onCreate(Bundle savedInstanceState)
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.logins);
final Button login = (Button)findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener() {
public void onClick(View lb) {
//communicate with App Engine
//goes to the Menu Page
//gets username and password from user(Editables)
EditText un=(EditText)findViewById(R.id.username);
EditText ps=(EditText)findViewById(R.id.password);
final String username = un.getText().toString();
final String password = ps.getText().toString();
final Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
login.setEnabled(false);
Log.i(TAG, "preparing request to send to server");
login.setEnabled(false);
Log.i(TAG, "preparing request to send to server");
// Use an AsyncTask to avoid blocking the UI thread
new AsyncTask<Void, Void, String>() {
private String message;
@Override
protected String doInBackground(Void... arg0) {
MyRequestFactory requestFactory = Util.getRequestFactory(mContext, MyRequestFactory.class);
final NCWITMOBILEAPPRequest request = requestFactory.nCWITMOBILEAPPRequest();
Log.i(TAG, "Sending request to server");
request.getAuthenticatedTechicksmember(username, password).fire(new Receiver<String>() {
@Override
public void onFailure(ServerFailure error) {
message = "Failure: " + error.getMessage();
}
@Override
public void onSuccess(String result) {
message = result;
Log.i(TAG,"got back a hello world message");
}
});
CharSequence tet = message;
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, tet, duration);
toast.show();
return message;
}
}.execute();
}
});
Button register = (Button)findViewById(R.id.register);
register.setOnClickListener(new View.OnClickListener() {
public void onClick(View lb) {
//goes to the Registration Page
}
});
Button forgotpassword = (Button)findViewById(R.id.forgotpassword);
forgotpassword.setOnClickListener(new View.OnClickListener() {
public void onClick(View lb) {
//goes to the Forgot Password Page
}
});
}
}
package com.ncwitmobileapp;
进口com.ncwitmobileapp.R;
导入com.ncwitmobileapp.client.MyRequestFactory;
导入com.ncwitmobileapp.client.MyRequestFactory.HelloWorldRequest;
导入com.ncwitmobileapp.client.MyRequestFactory.NCWITMOBILEAPPRequest;
导入com.google.gwt.core.client.gwt;
导入com.google.web.bindery.requestfactory.shared.Receiver;
导入com.google.web.bindery.requestfactory.shared.ServerFailure;
导入android.R.color;
导入android.app.Activity;
导入android.content.Context;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.text.Editable;
导入android.util.Log;
导入android.view.view;
导入android.view.Window;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
公共类登录屏幕扩展活动
{
私有静态最终字符串TAG=“Techchicks”;
/**
*当前环境。
*/
私有上下文mContext=此;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
requestWindowFeature(窗口。功能\u无\u标题);
super.onCreate(savedInstanceState);
setContentView(R.layout.logins);
最终按钮登录=(按钮)findViewById(R.id.login);
login.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图lb){
//与应用程序引擎通信
//转到菜单页
//从用户获取用户名和密码(可编辑)
EditText un=(EditText)findViewById(R.id.username);
EditText ps=(EditText)findViewById(R.id.password);
最终字符串username=un.getText().toString();
最终字符串密码=ps.getText().toString();
最终上下文=getApplicationContext();
CharSequence text=“您好,敬酒!”;
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、文本、持续时间);
toast.show();
login.setEnabled(false);
Log.i(标记“准备发送到服务器的请求”);
login.setEnabled(false);
Log.i(标记“准备发送到服务器的请求”);
//使用AsyncTask避免阻塞UI线程
新建异步任务(){
私有字符串消息;
@凌驾
受保护的字符串doInBackground(无效…arg0){
MyRequestFactory requestFactory=Util.getRequestFactory(mContext,MyRequestFactory.class);
最终NCWITMOBILEAPPRequest请求=requestFactory.NCWITMOBILEAPPRequest();
Log.i(标记“向服务器发送请求”);
request.getAuthenticatedTechKSMember(用户名、密码).fire(新接收者(){
@凌驾
public void onFailure(服务器故障错误){
message=“Failure:+error.getMessage();
}
@凌驾
成功时的公共void(字符串结果){
消息=结果;
Log.i(标记“收到一条hello world消息”);
}
});
CharSequence tet=消息;
int duration=Toast.LENGTH\u SHORT;
Toast Toast=Toast.makeText(上下文、tet、持续时间);
toast.show();
返回消息;
}
}.execute();
}
});
按钮寄存器=(按钮)findviewbyd(R.id.register);
register.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图lb){
//转到注册页面
}
});
Button forgotpassword=(按钮)findViewById(R.id.forgotpassword);
forgotpassword.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图lb){
//转到忘记密码页面
}
});
}
}
下面是服务类的代码:
package com.ncwitmobileapp.server;
import java.util.List;
import java.util.logging.Logger;
import com.ncwitmobileapp.annotation.ServiceMethod;
public class NCWITMOBILEAPPService {
private static final Logger log = Logger.getLogger(NCWITMOBILEAPPService.class.getName());
public NCWITMOBILEAPPService() {
}
@ServiceMethod
public Techicksmember createTechicksmember() {
// TODO Auto-generated method stub
return null;
}
@ServiceMethod
public static String getAuthenticatedTechicksmember(String userName, String password) {
log.info("Called authenticateTechicksmember");
log.info("userName = " + userName + " password = " + password);
// return ("Success");
Datastore db = new Datastore();
Techicksmember member = db.find(userName);
if (member==null){
return "Member not existant";
}
if (member.getPassword()==password){
return "Identity validated!";
}
return "Identity Invalidated";
}
@ServiceMethod
public Techicksmember readTechicksmember(Long id) {
// TODO Auto-generated method stub
return null;
}
@ServiceMethod
public Techicksmember updateTechicksmember(Techicksmember techicksmember) {
// TODO Auto-generated method stub
return null;
}
@ServiceMethod
public void deleteTechicksmember(Techicksmember techicksmember) {
// TODO Auto-generated method stub
}
@ServiceMethod
public List<Techicksmember> queryTechicksmembers() {
// TODO Auto-generated method stub
return null;
}
}
package com.ncwitmobileapp.server;
导入java.util.List;
导入java.util.logging.Logger;
导入com.ncwitmobileapp.annotation.ServiceMethod;
公共类NCWITMOBILEAPPService{
私有静态最终记录器log=Logger.getLogger(NCWITMOBILEAPPService.class.getName());
公共NCWITMOBILEAPPService(){
}
@服务方法
公共技术成员createTechicksmember(){
//TODO自动生成的方法存根
返回null;
}
@服务方法
公共静态字符串GetAuthenticatedTechKSMember(字符串用户名、字符串密码){
log.info(“称为authenticateTechicksmember”);
log.info(“userName=“+userName+”password=“+password”);
//回报(“成功”);
Datastore db=新数据存储();
Techicksmember=db.find(用户名);
if(成员==null){
返回“成员不存在”;
}
if(member.getPassword()==密码){
返回“身份验证!”;
}
返回“身份无效”;
}
@服务方法
public Techicksmember readTechicksmember(长id){
//TODO自动生成的方法存根
返回null;
}
@服务方法
public Techicksmember UpdateTechChicksMember(Techicksmember Techicksmember){
//TODO自动生成的方法存根
返回null;
}
@服务方法
公众的