RestFul API App Android

时间:2015-05-31 13:52:06

标签: android api rest authentication login

我正在App Android中创建登录。我必须传递凭据才能访问并将它们与phpMyAdmin中加载的MySQL数据库进行比较。为此,我专门为此日志创建了API:

Route::post('/login', 'ApiController@login');   

下一步是连接应用程序并使其与此URL通信。我该如何连接?我找到了各种代码,但Android Studio告诉我他们的使用已被弃用。

我有这段代码。我会确保在其他地方,所以如果填写了电子邮件和密码字段,应用程序会与API进行通信,这样就可以登录了。有人可以帮帮我吗?放置目前为止编写的代码。

public class MainActivity extends ActionBarActivity {

    Button b1, errore;
    EditText ed1,ed2;

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

        b1 = (Button)findViewById(R.id.login);
        ed1 = (EditText)findViewById(R.id.email);
        ed2 = (EditText)findViewById(R.id.password);
        errore = (Button)findViewById(R.id.errore);

        errore.setVisibility(View.INVISIBLE);

        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if((ed1.length() == 0) && (ed2.length() == 0))
                {
                    errore.setVisibility(View.VISIBLE);
                }
                else
                {
                    //Logn with API
                }
            }
        });
    }
}

2 个答案:

答案 0 :(得分:0)

使用AsyncTask在邮件正文中发送带有用户名和密码的身份验证POST请求。在服务器端,将凭据与数据库进行比较,并将登录成功/失败标志作为响应发送。相应地处理响应。

答案 1 :(得分:0)

为了简化使用API​​的过程,通常建议您使用库来为您处理细节。例如,尝试AsyncHttpClient

然后你可以做类似的事情:

// login code
AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
asyncHttpClient.prepareGet("http://www.api.com/login").execute(new AsyncCompletionHandler<Response>(){

@Override
public Response onCompleted(Response response) throws Exception{
    // Do something with the Response
    // ...
    return response;
}

@Override
public void onThrowable(Throwable t){
    // Something wrong happened.
}
});