在运行和调试时找不到类" com. google......."错误 - Android 编程



这是我收到的错误;

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 Toast 消息之后,它停止工作。

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.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;
    }
}

编译器似乎找不到您尝试导入的文件的位置。如图所示,com.google.web不是Android的标准软件包。如果这些文件位于其他位置,则可能需要调整生成路径以包含其位置。

是的,如上所述,只需在构建路径中包含所需的 jar 文件即可。

相关内容

最新更新