我正在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
}
}
});
}
}
答案 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.
}
});