Xamarinアプリでスクリーンレットを使用する

Xamarinアプリでスクリーンレットを使用する

ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。

あなたがしたらのscreenletsを使用して起動することができます 準備 Liferayの画面を使用するようにXamarinプロジェクトを。 スクリーンレットのリファレンスドキュメントでは、利用可能なスクリーンレットについて説明しています。

スクリーンレットの使用は非常に簡単です。 このチュートリアルでは、Xamarinアプリにスクリーンレットを挿入して構成する方法を示します。あなたはすぐにスクリーンレットマスターになります\!

Xamarin.iOS

次の手順に従って、Xamarin.iOSアプリにスクリーンレットを挿入します。

  1. ストーリーボード(Visual StudioのiOSデザイナーまたはXcodeのInterface Builder)にビュー(UIView)を挿入します。 XIBファイルを編集している場合は、XIBの親ビュー内にビューを挿入する必要があることに注意してください。

  2. ビューのクラスを、使用するスクリーンレットのクラスに設定します。 たとえば、Login Screenletのクラスは LoginScreenletです。 Visual StudioでXamarin Designer for iOSを使用している場合は、View Controllerのコードで参照できるように、ビューに名前を付ける必要もあります。

    たとえば、次のビデオは、Xamarin Designer for iOSストーリーボードにログインスクリーンレットを挿入するための最初の2つの手順を示しています。

  3. ViewletにScreenletのデリゲートを実装して、アプリでScreenletの動作を構成します。 Screenletがトリガーするイベントをリッスンするようにアプリを構成するには、Screenletのデリゲートメソッドを実装し、View Controllerをデリゲートとして登録します。 各デリゲートメソッドに必ず [Export(...)]注釈を付けてください。 これにより、メソッドがScreensで機能するために必要なObjective-Cから呼び出せるようになります。 必要なScreenlet属性も設定する必要があります。 各Liferay Screenletの リファレンスドキュメント は、利用可能な属性とデリゲートメソッドがリストされています。

    たとえば、Login Screenletのデリゲート ILoginScreenletDelegateを実装するView Controllerは次のとおりです。 ViewDidLoad() メソッドは、スクリーンレットの ThemeName 属性を設定し(ThemeName は、 BaseScreenlet 継承を介してすべてのスクリーンレットで使用可能)、View Controllerをデリゲートとして登録します。 このView Controllerは、 OnLoginResponseUserAttributes メソッドも実装します。このメソッドは、ログインが成功すると呼び出されます。 また、このメソッドの [Export(...)] 注釈にも注意してください。

    public partial class ViewController : UIViewController, ILoginScreenletDelegate
    {
        protected ViewController(IntPtr handle) : base(handle) {}
    
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
    
            // Set the Screenlet's attributes
            this.loginScreenlet.ThemeName = "demo";
    
            // Registers this view controller as the delegate 
            this.loginScreenlet.Delegate = this;
        }
    
        ...
    
        // Delegate methods
    
        [Export("screenlet:onLoginResponseUserAttributes:")]
        public virtual void OnLoginResponseUserAttributes(BaseScreenlet screenlet, 
            NSDictionary<NSString, NSObject> attributes)
        {
            ...
        }
    }
    

参照してください ショーケース- iOSアプリ Liferayののscreenletsを使用してビューコントローラの例については。

Xamarin.Android

次の手順に従って、Xamarin.Androidアプリにスクリーンレットを挿入します。

  1. アプリのレイアウトAXMLファイルを開き、アクティビティまたはフラグメントレイアウトにスクリーンレットのXMLを挿入します。 たとえば、アクティビティの FrameLayoutにあるログインスクリーンレットのXMLは次のとおりです。

    <?xml version="1.0" encoding="utf-8"?>
    

    <com.liferay.mobile.screens.auth.login.LoginScreenlet android:id=“@+id/login_screenlet” android:layout_width=“match_parent” android:layout_height=“match_parent” app:basicAuthMethod=“email”/>

  2. スクリーンレットの属性を設定します。 Liferayスクリーンレットの場合は、 スクリーンレットリファレンスドキュメント を参照して、スクリーンレットの必須およびサポートされる属性を確認してください。 このスクリーンショットは、設定されているログインスクリーンレットの属性を示しています。

    図1:アプリのレイアウトAXMLファイルを介してスクリーンレットの属性を設定できます。

  3. Screenletがトリガーするイベントをリッスンするようにアプリを構成するには、アクティビティまたはフラグメントクラスにScreenletのリスナーインターフェイスを実装します。 リスナーインターフェイスについては、 Screenletのリファレンスドキュメント を参照してください。 次に、そのアクティビティまたはフラグメントをスクリーンレットのリスナーとして登録します。

    たとえば、次のアクティビティクラスは、Login Screenletの ILoginListener インターフェイスを実装し、 loginScreenlet.Listener = this介して自身をScreenletのリスナーとして登録します。 リスナーメソッド OnLoginSuccess および OnLoginFailure は、それぞれログインが成功した場合と失敗した場合に呼び出されることに注意してください。 この場合、これらのメソッドは単純なトーストメッセージを出力します。

    [Activity]
    public class LoginActivity : Activity, ILoginListener
    {
        LoginScreenlet loginScreenlet;
    
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.LoginView);
    
            loginScreenlet = (LoginScreenlet) FindViewById(Resource.Id.login_screenlet);
            loginScreenlet.Listener = this;
        }
    
        // ILoginListener
    
        public void OnLoginSuccess(User p0)
        {
            Toast.MakeText(this, "Login success: " + p0.Id, ToastLength.Short).Show();
        }
    
        public void OnLoginFailure(Java.Lang.Exception p0)
        {
            Android.Util.Log.Debug("LoginScreenlet", $"Login failed: {p0.Message}");
        }
    
    }
    

参照してください ショーケース-Androidアプリ Liferayののscreenletsを使用する活動の例については。

関連トピック

Liferay画面用のXamarinプロジェクトの準備

Xamarin.Androidでビューを使用する

Xamarin.iOSでテーマを使用する

Xamarinのビューとテーマを作成する

XamarinのLiferay画面のトラブルシューティングとFAQ

« Preparing Xamarin Projects for Liferay ScreensXamarin.Androidでビューを使用する »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています