万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Xamarin プログラミングもくもく会

    http://eventdots.jp/event/589512 参加しました。

    Xamarinの手順メモ

    http://dev.classmethod.jp/smartphone/xamarin-studio-free/ ココがいい。

    デフォルトでは

    cd Projects/プロジェクト名/

    に作成される。

    ↓ココのサイトを参考にした http://dev.classmethod.jp/smartphone/xamarin-forms-page/ 「Xamarin.Formsを使った作成方法」

    メインのファイルは プロジェクト名.csファイルで作成される。 小文字のファイル名だとhoge.csになる。

    Xamarin.Formsを使った作成方法なので、基本的にソースは、 using Xamarin.Forms;にてインポートして記載する。 ファイルの場所はなんでもよい気がする。 ※勝手にフォルダ掘って作れる。

    先ほどのサイトのmenu.pngの画像はここにある。 https://raw.githubusercontent.com/furuya02/Xamarin.Forms.PageSample/master/menu.png

    ドラッグでも追加できるように見えるが正規の方法ではないので認識されない・・・。 ※私のXamarin Studioは5.10.3バージョン。

    おそらく、この方法が正しい追加方法。

    iOS

    プロジェクト名.Droid -> Resources で右クリックして、Add -> Add Files..

    f:id:shinriyo:20160604142802p:plain

    Android

    プロジェクト名.Droid -> Resources -> drawable で右クリックして、Add -> Add Files..

    f:id:shinriyo:20160604142507p:plain

    genymotionがいい

    インストールは(Mac OS Xに限るが・・。)

    brew cask install virtualbox genymotion

    virtualboxも入ってくれる。

    ここがインストール手順が詳しい http://qiita.com/tatsuoSakurai/items/b080a57c6148012bc8d0

    genymotionで実行するための設定は、 Solutionのすぐ下にあるアイコンからOption f:id:shinriyo:20160604143242p:plain

    その後、プルダウンで選択 f:id:shinriyo:20160604143255p:plain

    Xamarin Cross-Platform Development Cookbook

    Xamarin Cross-Platform Development Cookbook

    Unityなら Debug.Log(); デバッグを出す

    using System.Diagnostics;
    Debug.WriteLine("デバッグ・メッセージを出力");

    確認はXamarinでは出来ないっぽい。(未確認)

    XamarinでAndroid開発ができればadbが入ってると思うので、 ~/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adbにだいたい入っている。

    あれば、

    ~/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb logcat

    で確認できる。

    using System;
    using Xamarin.Forms;
    
    class MyMasterDetailPage : MasterDetailPage
    {
        public MyMasterDetailPage()
        {
            var items = new ContentPage[] {
                new Hoge(),
                new Bar()
            };
    
            ListView listView = new ListView
            {
                ItemsSource = items,
                BackgroundColor = Color.Transparent
            };
    
            // マスターページ.
            this.Master = new ContentPage
            {
                BackgroundColor = Color.FromRgba(0.86,0.91,0.94,0.5),
                // iPhoneにおいて、ステータスバーとの重なりを防ぐためパディングを調整する.
                Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0),
                Title = "Master", // 必須
                Icon = "menu.png",
                Content = listView
            };
    
            // リストが選択された際のイベント処理.
            listView.ItemSelected += (s, args) => {
                // プロパティDetailに新しいページをセットする.
                this.Detail = new NavigationPage((Page)args.SelectedItem) // Androidではエラー
                {
                    //  タイトルバーの背景色や文字色は、NavigationPageのプロパティをセットする.
                    BarBackgroundColor = Color.FromRgba(0.2, 0.6, 0.86, 1),
                    BarTextColor = Color.White
                };
    
                //  Detailページを表示する.
                this.IsPresented = false;
            };
    
            // 必須 最初のページをセットする.
            listView.SelectedItem = items[0];
        }
    }

    HogeとBarクラスはContentPageを継承したクラス。 http://dev.classmethod.jp/smartphone/xamarin-forms-page/ の (2) MasterDetailPage を参考にしたもので、new DetailPageを使わずにそのまま突っ込めるようにしたのだが。

    iOSは問題ない。

    Androidでは同じページに行こうとすると、

    「// Androidではエラー」のコメント部分で、 `Java.Lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first.``

    のエラーが発生した。

    独習C# 第3版

    独習C# 第3版

    Realmを入れる方法

    1.ソリューションペインのプロジェクトの下にある”Packages”の歯車の形のボタンをクリックし、”Add Packages…“を選択します。

    2.検索フィールドに”Realm”と入力します。

    3.Realmを選択し、追加します。

    1. Fodyが依存関係として追加されたことを確認します。

    1.ソリューションペインのプロジェクトの下にある”Packages”の歯車の形のボタンをクリックし、”Add Packages…“を選択します。

    ありません。。。。 f:id:shinriyo:20160604164505p:plain