中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

大(da)叔也說Xamarin~Android篇(pian)~調用遠(yuan)程API接口,發POST請求

回到目錄

Xamarin我們在(zai)上節(jie)已經教大家如何去部署它(ta)的(de)環(huan)境了,今天(tian)來說(shuo)一個(ge)實際的(de)例子,使用(yong)android客戶調用(yong).net web api的(de)一個(ge)接口,并發送POST請求(qiu),當服務(wu)端回到(dao)請求(qiu)后做出(chu)響(xiang)應(ying),客戶端android將響(xiang)應(ying)的(de)內容(rong)輸出(chu),并跳換到(dao)別一個(ge)Activity頁面,在(zai)新視圖(tu)上加載網(wang)頁內容(rong)到(dao)webView控件上,整個(ge)流(liu)程結束!

一 在主頁面上添加幾個表單元素,賬號,密碼,登(deng)陸按鈕(niu),并在Activity類的OnCreate方法(fa)中為它們賦值,并添加按鈕(niu)的click事件

     protected override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);
          
            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button> (Resource.Id.myButton);
            
            button.Click += delegate {
                button.Text = string.Format ("{0} clicks!", count++);
            };
            Android.Util.Log.Info ("normal", "日志zzl");
            var loginBtn = FindViewById<Button> (Resource.Id.loginBtn);
            var username = FindViewById<TextView> (Resource.Id.username);
            var password = FindViewById<TextView> (Resource.Id.password);
            var result = FindViewById<TextView> (Resource.Id.result);
            loginBtn.Click += delegate {

                string url = "//api.xuexiba.com/v1/User/Login";
                //創建HttpClient(注意傳入(ru)HttpClientHandler)
                using (var http = new HttpClient ()) {
                    var content = new FormUrlEncodedContent (new Dictionary<string, string> () { 
                        { "username",username.Text },
                        { "password",password.Text }
                        
                    });

                    var response = http.PostAsync (url, content);
                    result.Text = response.Result.Content.ReadAsStringAsync ().Result;
                 Intent intent = new Intent(this, typeof(ViewPageActivity));
                 StartActivity(intent);
 
                }
            };
        }

二 在ViewPageActivity里添加一個webView用(yong)來顯示網頁的內容,如下(xia)代碼

    protected override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);
            SetContentView (Resource.Layout.ViewPage);
            var webView = FindViewById<WebView> (Resource.Id.webView);
            //啟用Javascript Enable
            webView.Settings.JavaScriptEnabled = true;
            //載(zai)入網址(zhi)
            webView.LoadUrl ("//www.sina.com");
            //直接(jie)在當(dang)前webView上打開
             webView.SetWebViewClient (new CustWebViewClient ());

        }

注意,代碼webView.SetWebViewClient (new CustWebViewClient ())表示(shi)使(shi)用現有(you)的webView加載網(wang)頁(ye)內容,而如果不加這行,那(nei)么網(wang)頁(ye)將使(shi)用系(xi)統(tong)自(zi)帶的瀏覽(lan)器進行加載,

下載看一下CustWebViewClient 這個類的內容

 

public class CustWebViewClient : WebViewClient
    {
        public override bool ShouldOverrideUrlLoading (WebView view, string url)
        {
            view.LoadUrl (url);
            return true;
        }

    }

 

OK,在(zai)我們設計頁面(mian)時,可(ke)以(yi)直接從工具箱上進行(xing)拖動,最后布局向這樣

最后進行(xing)APK的生(sheng)成(cheng),我(wo)們的程序(xu)包(bao)就(jiu)算完成(cheng)了!

 回到目錄

posted @ 2015-12-02 22:41  張占嶺  閱讀(5941)  評論(1)    收藏  舉報