


Wie verwendet Xamarin die Get-Methode, um den JSON-Wert an die Anmeldeseite des PHP-Servers zu übergeben?
May 15, 2018 pm 04:46 PMDieser Artikel stellt hauptsächlich vor, wie Xamarin die Get-Methode verwendet, um den JSON-Wert an die PHP-Server-Anmeldeseite zu übergeben. Ich hoffe, dass er für alle hilfreich ist.
Kürzlich habe ich mir die Zeit genommen, ein Programm mit Xamarin zu schreiben, um JSON von Android auf den PHP-Server zu übertragen. Es wird als Anmeldeseite verwendet und benötigt die Komponente system.json. Die PHP-Seite erhält die Daten direkt und fügt es in json ein. Nun zum Code: Erstellen Sie zunächst einen PHP-Server. Er kann über mehrere Netzwerksegmente hinweg verwendet werden.
Dies ist der 6.php-Seitencode auf dem Server
<?php // array for JSON response $response = array(); // check for required fields if (isset($_GET['name']) && isset($_GET['password']) ) { $name = $_GET['name']; $pwd = $_GET['password']; if($name=="aaa" & $pwd=="222") { // successfully inserted into database $response["success"] = 1; $response["message"] = "sucess"; // echoing JSON response echo json_encode($response); $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "成功"; fwrite($myfile, $txt); fclose($myfile); } else { // failed to insert row $response["success"] = 0; $response["message"] = "name or password is wrong"; // echoing JSON response echo json_encode($response); $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "用户名或密码错误"; fwrite($myfile, $txt); fclose($myfile); } } else { // required field is missing $response["success"] = 0; $response["message"] = "the require is not compition "; // echoing JSON response echo json_encode($response); $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "缺少"; fwrite($myfile, $txt); fclose($myfile); } ?>
Der Code für Xamarin Android lautet wie folgt:
Beginnen wir mit dem Code der UI-Schnittstelle
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1"> <TextView android:text="用户名:" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/textView1" /> <EditText android:inputType="textMultiLine" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/editText1" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout3"> <TextView android:text="密码:" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/textView2" /> <EditText android:inputType="date" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/editText2" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout2" android:gravity="center"> <Button android:text="登录" android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/button1" /> </LinearLayout> </LinearLayout>
MainActivity.cs-Code
using Android.App; using Android.Widget; using Android.OS; using System.Json; using System.Net; using System.IO; using System; using Android.Content; using System.Linq; namespace App10 { [Activity(Label = "App10", MainLauncher = true)] public class MainActivity : Activity { Button btn_login; EditText txt_name; EditText txt_pwd; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); btn_login = FindViewById<Button>(Resource.Id.button1); txt_name = FindViewById<EditText>(Resource.Id.editText1); txt_pwd = FindViewById<EditText>(Resource.Id.editText2); btn_login.Click += Btn_lgoin_Click; } private void Btn_lgoin_Click(object sender, System.EventArgs e) { string name = txt_name.Text; string pwd = txt_pwd.Text; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pwd)) { Toast.MakeText(this, "请输入用户名和密码!!", ToastLength.Long).Show(); return; } else { //JSON请求URL GET的方式 string url = "http://192.168.0.45:8081/jsontest/6.php?name="+name+"&password="+pwd; //创建一个请求 var httpReq = (HttpWebRequest)HttpWebRequest.Create(new Uri(url)); httpReq.BeginGetResponse(new AsyncCallback(ReadXamarin), httpReq); } } //异步回调方法 public void ReadXamarin(IAsyncResult asyn) { var httpReq = (HttpWebRequest)asyn.AsyncState; //获取响应 using (var httpRes = (HttpWebResponse) httpReq.EndGetResponse(asyn)) { //判断是否成功获取响应 if (httpRes.StatusCode == HttpStatusCode.OK) { //读取响应 var text = new StreamReader(httpRes.GetResponseStream()).ReadToEnd(); //切换到UI线程,否则无法对控件进行操作 RunOnUiThread(() => { Toast.MakeText(this, text, ToastLength.Long).Show(); }); } } } } }
Verwandte Empfehlungen:
Detaillierte Einführung und Verwendung der Funktion „file_get_contents“
PHP verwendet file_get_contents zum Senden einer HTTP-Anfrage. Die Funktion ist einfach
Das obige ist der detaillierte Inhalt vonWie verwendet Xamarin die Get-Methode, um den JSON-Wert an die Anmeldeseite des PHP-Servers zu übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Was ist der Unterschied zwischen MySQL5.7 und MySQL8.0?

Tipps zur Leistungsoptimierung für die Konvertierung von PHP-Arrays in JSON

Wie steuern Anmerkungen in der Jackson-Bibliothek die JSON-Serialisierung und -Deserialisierung?

Tutorial zur Pandas-Nutzung: Schnellstart zum Lesen von JSON-Dateien

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode

Vertiefendes Verständnis von PHP: Implementierungsmethode zur Konvertierung von JSON Unicode in Chinesisch

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript

Schnelle Tipps zum Konvertieren von PHP-Arrays in JSON
