官术网_书友最值得收藏!

  • Xamarin Blueprints
  • Michael Williams
  • 205字
  • 2021-07-08 11:48:24

Setting up IoC with Android

Now for the IoC implementation. It works exactly the same as iOS; let's add the Android module:

    public class DroidModule : IModule 
    { 
        public void Register(ContainerBuilder builer) 
        { 
            builer.RegisterType<TextToSpeechDroid> ().As<ITextToSpeech> ().SingleInstance (); 
        } 
    } 

Easy, right?

Now we have to set up the IoC container in our MainActivity.cs class; simply copy the iOS function in the AppDelegate file called initIoC and paste this into the MainActivity class, replace the instantiation of the iOSModule with your DroidModule, then simply add the function call after the initialization of Xamarin.Forms:

protected override void OnCreate (Bundle bundle) 
        { 
            base.OnCreate (bundle); 
 
            global::Xamarin.Forms.Forms.Init (this, bundle); 
 
            InitIoC (); 
 
            LoadApplication (new App ()); 
        } 
 
        private void InitIoC() 
        { 
            IoC.CreateContainer (); 
            IoC.RegisterModule (new DroidModule()); 
            IoC.RegisterModule (new PCLModule()); 
            IoC.StartContainer (); 
        } 

Note

You may have issues trying to get the speech to work on Android. One thing you may need to set up first is within Settings | Controls | Text-to-Speech options. Here is where you will have to install voice data if the default has not already been installed. If you run the app and no speech occurs, you will have to configure the voice data.

That's all for Android, now try running the app and hear some speech.

主站蜘蛛池模板: 阳高县| 康保县| 井冈山市| 屯昌县| 高密市| 交城县| 利川市| 扬州市| SHOW| 安塞县| 永川市| 香格里拉县| 延津县| 泰宁县| 本溪| 临泽县| 万载县| 军事| 眉山市| 阿城市| 惠东县| 湖南省| 台安县| 个旧市| 阿拉善左旗| 儋州市| 台东县| 宜昌市| 陆川县| 乌什县| 全南县| 三台县| 巫山县| 天峻县| 教育| 徐汇区| 安仁县| 菏泽市| 临沧市| 美姑县| 承德市|