程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# yield在WCF中的毛病用法(一)

C# yield在WCF中的毛病用法(一)

編輯:C#入門知識

C# yield在WCF中的毛病用法(一)。本站提示廣大學習愛好者:(C# yield在WCF中的毛病用法(一))文章只能為提供參考,不一定能成為您想要的結果。以下是C# yield在WCF中的毛病用法(一)正文


1、簡介

Android運用法式中普通都有多個Activity,在Activity中,經由過程挪用StartActivity辦法,並在該辦法的參數中傳遞Intent對象,便可以完成分歧Activity之間的切換和數據傳遞。

經由過程StartActivity辦法傳遞intent對象來啟動另外一個Activity時,可分為兩類:

l 顯式啟動:在創立的Intent對象中明白指定啟動的是哪一個Activity;

l 隱式啟動:安卓體系依據Intent的舉措和數據決議應當啟動哪一個Activity。

1、顯式啟動Activity

經由過程Intent顯式啟動一個Activity時,必需先創立一個Intent對象,並在該對象的結構函數中指明要啟動的目的組件名。例如:

var intent = new Intent(this, typeof(Activity1));

StartActivity(intent);

在這類情形下,除intent對象之外,沒有其他方法可以婚配組件名。

2、隱式啟動Activity

隱式啟動Activity是指Android體系依據過濾規矩主動去婚配對應的Intent,即不須要在Intent對象中明白指明啟動的是哪一個Activity,而是讓Android體系來決議應當啟動誰。在這類情形下,Android體系會主動婚配最合適處置intent的一個或多個Activity。婚配的Activity能夠是運用法式本身的,也能夠是Android體系內置的,還能夠是第3方運用法式供給的。是以,隱式啟動這類方法更強調了Android運用法式中組件的復用性。

留意,假如願望讓你的法式經由過程Activity展現某些舉措,例如打德律風、發郵件、發短信,或許應用activity中的數據等。這時候候,起首斟酌挪用體系供給的功效去完成(即:隱式啟動Activity的方法)。在這類情形下,只須要經由過程Intent指定響應的舉措便可,這是intent真正表現其價值的處所。例如:

var call = new Intent(Intent.ActionCall); //初始化一個德律風呼喚

call.SetData(Android.Net.Uri.Parse("tel:13811112222"));

StartActivity(call);

上面是經常使用的一些舉措常量:

留意:用C#表現這些舉措常量時,鍵入“Intent.”然後選擇一個常量便可。這些可選擇的常量去失落了分隔單詞的下劃線,並將每一個單詞的首字母改成年夜寫,其他字母改成小寫,例如:Intent.ActionCall。

除指定響應的舉措之外,還可以同時指定Uri,這類情形下,Android會挪用內置的閱讀器來隱式啟動一個Activity。例如:

Intent intent=new Intent(Intent.ActionView, Uri.Parse("http://www.谷歌.com");

StartActivity(intent);

3、封閉Activity

挪用Finish()可終止activity。也能夠挪用FinishActivity() 來終止你之前啟動了的一個自力的activity。

記住:顯式封閉Activity僅用於你相對不想讓用戶再前往這個activity的實例的情形。多半情形下,都不該該顯式挪用Finish()或許FinishActivity()來封閉acitivity,而是應當讓體系為你去治理它。 2、示例—ch1201IntentDemo

該例子演示若何經由過程Intent撥打德律風,和若何啟動另外一個Activity。

本例子須要運用法式具有“CALL_PHONE”權限。

1、運轉截圖

運轉前先在模仿器中添加一些接洽人及其德律風號碼(模仿器自己有這個功效,直接在模仿器中操作便可),然後再測試要撥出的號碼。

上面左圖是該例子的主界面,右圖是單擊【打德律風】按鈕後,在第2個界面中撥出的德律風號碼截圖。

下圖是單擊【轉到運動1】按鈕後的運轉截圖。

2、重要設計步調

(1)添加“CALL_PHONE”權限

在【處理計劃資本治理器】中,鼠標雙擊項目標【Properties】進入上面的界面,然後勾選“CALL_PHONE”選項:

設置後,體系就會主動在AndroidManifest.xml中添加上面的代碼:

<uses-permission android:name="android.permission.CALL_PHONE" />

(2)添加ch1201_Main.axml

在Resources\layout文件夾下添加該文件,模板選擇【Layout】:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button
  android:id="@+id/btn1"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="打德律風" />
 <Button
  android:id="@+id/btn2"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="轉到運動1" />
</LinearLayout>

 (3)添加ch1201_Layout1.axml

在Resources\layout文件夾下添加該文件,模板選擇【Layout】:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <TextView
  android:text="這是運動1的界面\n\n提醒:按【Back】按鈕前往"
  android:textAppearance="?android:attr/textAppearanceLarge"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/textView1"
  android:layout_gravity="center"
  android:layout_margin="30dp" />
</LinearLayout>

 (4)添加ch1201IntentDemoMain.cs

在SrcDemos文件夾下添加該文件,模板選擇【Activity】:

using Android.App;
using Android.Content;
using Android.OS;
using Android.Widget;

namespace MyDemos.SrcDemos
{
 [Activity(Label = "【例12-1】Intent根本用法1")]
 public class ch1201IntentDemoMain : Activity
 {
  protected override void OnCreate(Bundle savedInstanceState)
  {
   base.OnCreate(savedInstanceState);
   SetContentView(Resource.Layout.ch1201_Main);

   //啟動德律風撥號的Activity
   FindViewById<Button>(Resource.Id.btn1).Click += delegate
   {
    var call = new Intent(Intent.ActionCall);
    call.SetData(Android.Net.Uri.Parse("tel:13811112222"));
    StartActivity(call);
   };

   //啟動自界說的Activity
   FindViewById<Button>(Resource.Id.btn2).Click += delegate
   {
    var intent = new Intent(this, typeof(ch1201IntentDemoActivity1));
    StartActivity(intent);
   };
  }
 }
}

 (5)添加ch1201IntentDemoActivity1.cs

在SrcDemos文件夾下添加該文件,模板選擇【Activity】:

using Android.App;
using Android.OS;

namespace MyDemos.SrcDemos
{
 [Activity(Label = "【例12-1】Intent根本用法1")]
 public class ch1201IntentDemoActivity1 : Activity
 {
  protected override void OnCreate(Bundle savedInstanceState)
  {
   base.OnCreate(savedInstanceState);
   SetContentView(Resource.Layout.ch1201_Layout1);
  }
 }
}

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved