LoopBack Android 不是 loginUser

LoopBack Android not loginUser

我正在开发一个应用程序,它使用 Loopback 的 Android SDK 来发出 REST 请求。当我尝试登录用户时遇到问题,我收到该错误

08-03 10:44:21.149 12375-12375/com.marcoferraioli.loopback E/Chatome: Login E
                                                                       org.apache.http.client.HttpResponseException: Not Found
                                                                           at com.loopj.android.http.AsyncHttpResponseHandler.sendResponseMessage(AsyncHttpResponseHandler.java:404)
                                                                           at com.loopj.android.http.AsyncHttpRequest.makeRequest(AsyncHttpRequest.java:161)
                                                                           at com.loopj.android.http.AsyncHttpRequest.makeRequestWithRetries(AsyncHttpRequest.java:178)
                                                                           at com.loopj.android.http.AsyncHttpRequest.run(AsyncHttpRequest.java:109)
                                                                           at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                                                                           at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                           at java.lang.Thread.run(Thread.java:818)

我已经创建用户 class

package com.marcoferraioli.loopback;

public class User extends com.strongloop.android.loopback.User {
}

和 UserRepository class

package com.marcoferraioli.loopback;

public class UserRepository extends com.strongloop.android.loopback.UserRepository<User> {

    public interface LoginCallback extends com.strongloop.android.loopback.UserRepository.LoginCallback<User> {
        }

    public UserRepository() {
        super("admin", null, User.class);
    }

}

这是 MainActivity

package com.marcoferraioli.loopback;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import com.strongloop.android.loopback.AccessToken;
import com.strongloop.android.loopback.RestAdapter;
import com.strongloop.android.loopback.callbacks.ListCallback;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    private TextView textProva;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textProva = (TextView) findViewById(R.id.prova);

        RestAdapter adapter = new RestAdapter(getApplicationContext(), "http://********:3000/api");

        OperaRepository operaRepository = adapter.createRepository(OperaRepository.class);

        operaRepository.findAll(new ListCallback<Opera>(){ //This work
            @Override
            public void onSuccess(List<Opera> objects) {
                for (Opera opera : objects){
                    textProva.append("\n" + opera.toString());
                }
            }

            @Override
            public void onError(Throwable t) {
                Log.e("Error", "findAll", t);
            }
        });

        UserRepository userRepo = adapter.createRepository(UserRepository.class);

        userRepo.loginUser("super@admin.it" , "superadmin" , new UserRepository.LoginCallback() {
            @Override
            public void onSuccess(AccessToken token, User currentUser) {
                textProva.append("\n" + token.getUserId() + ":" + currentUser.getId());
            }

            @Override
            public void onError(Throwable t) {
                Log.e("Chatome", "Login E", t);
            }
        });

    }
}

如何解决这个问题?

P.S:我已经关注了https://docs.strongloop.com/display/public/LB/Android+SDK#AndroidSDK-Usersandauthentication

我已经解决了这个问题,我在 UserRepository 中有错误 class,这是正确的代码:

package com.marcoferraioli.loopback;

public class UserRepository extends com.strongloop.android.loopback.UserRepository<User> {

    public interface LoginCallback extends com.strongloop.android.loopback.UserRepository.LoginCallback<User> {
        }

    public UserRepository() {
        super("user", null, User.class);
    }

}

在构造函数中,第一个参数是模型的名称。