我刚刚创建了一个MVC4 WebApplication。此应用程序使用数据库(由CodeFirst创建),其中包含用户信息(aspnet Membership)和所有其他信息。
我现在正在尝试制作一个使用与MVC4 Web应用程序相同的数据库的Android应用程序。但我不知道如何实现登录系统。
我正在考虑使用用户名和密码向服务器(当前是本地)发送帖子请求。 (稍后将加密)。但我不知道如何做到这一点。
任何人都可以帮我解决登录系统问题吗? 我应该对Web应用程序进行一些更改以实现我的目标吗?
提前致谢!
更新 我现在尝试以下方法: 我刚刚编写了以下按下按钮时运行的功能
android:onClick="login"
我的java函数:
public void login(){
String userName = "Isf";
String password = "admin123!";
HttpClient httpClient = new DefaultHttpClient();
//I run my MVC Application local
//Logon page: http://localhost:2657/Account/LogOn
HttpPost httpPost = new HttpPost("http://10.0.2.2/Account/LogOn");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("username", userName));
nameValuePairs.add(new BasicNameValuePair("password", password));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Response from the Http Request
HttpResponse response = httpClient.execute(httpPost);
} catch (IOException e) {
Log.e("Exception", "IOException", e);
} catch (Exception e) {
Log.e("Exception", "General Exception", e);
}
}
但是当我运行我的MVC项目并在Android上按下我的登录按钮时,我收到以下消息: “应用程序登录(proces com.example.login)意外停止。请再试一次。” (我用我的手机和模拟器试了一下) 有谁知道我做错了什么?
答案 0 :(得分:2)
您使用的是asyncTasks吗?请求无法在主线程中发送,asynctask将创建一个新线程。 Android上的开发者网站上有一些很好的文档:asynctask
答案 1 :(得分:0)