如何验证存储在wamp服务器中的xamarin中的用户登录信息



以下是我迄今为止所做的:

这是我的主要活动.cs:

using Android.App;
using Android.Widget;
using Android.OS;
using Android.Views.InputMethods;
using Android.Content;
using Android.Views;
namespace App
{
[Activity(Label = "App", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView (Resource.Layout.Main);
Button Login = (Button)FindViewById(Resource.Id.button1);
Login.Click += Login_Click;
}
private void Login_Click(object sender, System.EventArgs e)
{
EditText username = (EditText)FindViewById(Resource.Id.editText1);
EditText password = (EditText)FindViewById(Resource.Id.editText2);
Login(username.Text, password.Text);
//Intent Poziv = new Intent(this, typeof(AFLogcs));
//this.StartActivity(Poziv);
//this.Finish();
}
private void Login(string username, string password)
{
}
public override bool OnTouchEvent(MotionEvent e)
{
InputMethodManager imm = (InputMethodManager)GetSystemService(Context.InputMethodService);
EditText username = (EditText)FindViewById(Resource.Id.editText1);
EditText password = (EditText)FindViewById(Resource.Id.editText2);
//Cisti fokus
username.ClearFocus();
password.ClearFocus();
imm.HideSoftInputFromWindow(username.WindowToken, 0);
return base.OnTouchEvent(e);
}
}
}

我还在c:/wamp64/www/android文件夹中创建了三个php文件,用于连接到wamp服务器上的数据库。

这些文件是:

连接高压

<?php
$db_name = "korisnici";
$mysql_username = "root";
$mysql_password = "";
$server_name = "localhost";
$conn = mysqli_connect($server_name, $mysql_username, $mysql_password,$db_name);
if($conn){
echo "Connection sucessfull";
}
else{
echo "No connection";
}
?>

和Login.php

<?php
require "Conn.php";
$user_name = "Mpro";
$user_pass = "nice";
$mysql_qry = "SELECT* FROM korisnici WHERE korisnik LIKE '$user_name' and sifra LIKE '$user_pass'";
$result = mysqli_query($conn, $mysql_qry);
if(mysqli_num_rows($result) > 0){
echo "Uspjesan login";
}
else{
echo "login not success";
}

现在我的问题是如何从android editTexts传递用户名和密码的数据,并进行身份验证以查看用户是否存在。如果用户存在,则会调出新的活动,并显示该特定用户的另一个表中的用户信息。

此外,一旦获得了这些数据,用户就可以离线登录到他的应用程序,仍然可以看到存储的数据,但在再次连接到wifi后,应用程序将自动检查是否有更新,如果是,应用程序会将其从Wamp中提取并再次存储。

您不必共享数据记忆代码,但请为用户登录共享代码。提前谢谢。

我也使用Web服务登录系统。我使用了Xamarin android(MvvmCross),它使用了ViewModelNode JSWeb Service。因此,很抱歉,我无法帮你传递到另一个活动的代码和登录php

然而,我可以分享我是如何做到的。首先,我使用WebRequest类将用户名和密码传递给web服务。你应该看看。然后,web服务将回复登录凭据是对是错,android应用程序可以使用StreamReader读取响应。您可以在此处查看WebRequest的文档。

为了将登录保存为离线目的,我建议您使用ISharedPreferences类。它将把数据保存在永久存储器中。可以保存在那里的数据是基元数据,例如intbooleanstringfloatstringset。使用它,您可以存储boolean,以检查用户是否已登录(稍后用户注销后需要删除)、用户名和其他所需数据。在这个线程中查看

希望这能有所帮助。祝你的项目好运。

相关内容

  • 没有找到相关文章