Rumah pembangunan bahagian belakang tutorial php xamarin怎样用get的方法将json值传给php服务端登录页

xamarin怎样用get的方法将json值传给php服务端登录页

May 15, 2018 pm 04:46 PM
javascript json xamarin

本篇文章主要介绍xamarin怎样用get的方法将json值传给php服务端登录页,感兴趣的朋友参考下,希望对大家有所帮助。

最近,抽空写了个用xamarin写个android传json给php服务端的程序,作为登录页使用,需要system.json组件,php端直接get到数据放进json里,不多说了,上代码,先搞个php服务端的,局域网内可以跨网段使用,亲测。

这是服务端上 6.php页面代码

<?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);
   
}
?>
Salin selepas log masuk

xamarin安卓端的代码如下:


先来个ui界面的代码

<?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>
Salin selepas log masuk

MainActivity.cs的代码

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();
                     });
                }
             }
        }
}
}
Salin selepas log masuk

相关推荐:

file_get_contents函数介绍与使用方法详解

PHP使用file_get_contents发送http请求功能简单

PHP自定义函数判断是否为Get、Post及Ajax提交的方法

Atas ialah kandungan terperinci xamarin怎样用get的方法将json值传给php服务端登录页. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara MySQL5.7 dan MySQL8.0? Apakah perbezaan antara MySQL5.7 dan MySQL8.0? Feb 19, 2024 am 11:21 AM

Apakah perbezaan antara MySQL5.7 dan MySQL8.0?

Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON May 04, 2024 pm 06:15 PM

Petua pengoptimuman prestasi untuk menukar tatasusunan PHP kepada JSON

Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON? May 06, 2024 pm 10:09 PM

Bagaimanakah anotasi dalam perpustakaan Jackson mengawal pensirilan dan penyahsirilan JSON?

Tutorial penggunaan Panda: Permulaan pantas untuk membaca fail JSON Tutorial penggunaan Panda: Permulaan pantas untuk membaca fail JSON Jan 13, 2024 am 10:15 AM

Tutorial penggunaan Panda: Permulaan pantas untuk membaca fail JSON

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP

Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar Unicode JSON kepada bahasa Cina Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar Unicode JSON kepada bahasa Cina Mar 05, 2024 pm 02:48 PM

Pemahaman mendalam tentang PHP: Kaedah pelaksanaan menukar Unicode JSON kepada bahasa Cina

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Jan 05, 2024 pm 01:37 PM

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah

Petua pantas untuk menukar tatasusunan PHP kepada JSON Petua pantas untuk menukar tatasusunan PHP kepada JSON May 03, 2024 pm 06:33 PM

Petua pantas untuk menukar tatasusunan PHP kepada JSON

See all articles