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);
}
}
在构造函数中,第一个参数是模型的名称。
我正在开发一个应用程序,它使用 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);
}
}
在构造函数中,第一个参数是模型的名称。