いまいち理解できていないので、ここを参考にしています。
まっさらなラズパイ4にLaravel環境を構築するまでの簡易メモ
やることの手順は以下のとおりです。
- 書き込むOSのメディアを準備する
- SSHサーバーを有効にする
- IPアドレスを固定にする
- OSのバージョンアップを行う(場合による)
- Laravel環境を準備する
書き込むOSのメディアを準備する(USB-HDD)
ディスクユーティリティーを使って、USB-HDDをFAT32でフォーマットする
diskutil list
ディスクをアンマウントする
diskutil unmountDisk /dev/disk4
でアンマウントする
Raspberry Pi OS Liteをダウンロードする
ddコマンドでISOイメージをUSB-HDDに書き込む
sudo dd if=./Downloads/2021-05-07-raspios-buster-armhf-lite.img of=/dev/disk4 bs=1m
※デバイス番号は確認した番号を使用すること
これをラズパイのUSBに挿入し、OSをインストールする
SSHサーバーを有効にする
OSが起動したら、以下のコマンドを実行する
sudo rasps-config
画面が起動したら、3.Interface Optionsを選択し、P2.SSHを選択し、SSH Serverを有効にする。
※この他の設定も行っておく、タイムゾーンの設定など
IPアドレスを固定にする
以下のコマンドを実行し、eth0部分を探し、設定したいIPアドレスにする
IPv6系はよくわからないので削除した。
sudo vi /etc/dhcpcd.conf
OSのバージョンアップを行う(場合による)
OSをVersion10(Buster)からVersion11(Bullseye)にアップグレードします。
まずは、以下のコマンドを実行
sudo vi /etc/apt/sources.list
1行目のbusterをbullseyeに変更する
以下のコマンドを実行
sudo apt update
sudo apt dist-upgrade
処理が終了したら、再起動
Laravel環境を準備する
ラズパイ4にLaravelをインストールにするには、以下のサイトをそのままなぞればできます。
以上です。
Prism.Unity.Formsでカメラ(Xam.Plugin.Media)を使う
はじめに
Xam.Plugin.Mediaを使ったカメラの撮影し、画面に表示するアプリを作ってみたいと思います。
色々なサイトを見ると、パッケージのインストール時に自動で表示されるreadme.txtに従って設定を行えば良いようですが、私の環境ではAndroidで起動時に例外が発生しましたので、その対応も含めて記載します。
色々なサイトを見ると、パッケージのインストール時に自動で表示されるreadme.txtに従って設定を行えば良いようですが、私の環境ではAndroidで起動時に例外が発生しましたので、その対応も含めて記載します。
手順の概要は以下のとおりです。
- Xam.Plugin.Mediaパッケージをインストールする
- readme.txtに従って各ファイルを変更する
- カメラ撮影と画像を表示する処理を追加する
ベースとなるソースは、以下にしました。
Github
タグ名:chapter1
タグ名:chapter1
Xam.Plugin.Mediaパッケージをインストールする
ソリューションの右クリックでManage NuGet Packages...を選択します。
検索キーワードにxam.plugin.mediaを入力し、Xam.Plugin.Mediaをインストールします。
この時のVersionは5.0.1でした。
適用するプロジェクトは、PCL,Android,iOSにチェックを入れ、適用します。
readme.txtに従って各ファイルを変更する
パッケージのインストール中にreadme.txtに従ってAndroid, iOSのプロジェクトを変更します。
Xamarin.iOSの場合
info.plistに以下の記述を追加します。VisualSutdio for MAC上では、編集できないのでinfo.plistを右クリックし、プログラムから開く -> Visua Studio Codeを選択しました。
info.plistを開いたら、dictタグの最後の方に以下のreadme.txtに記載されているタグを追加します。
Xamarin.Androidの場合
まずは、Propertiesフォルダ内のAndroidManifest.xmlを右クリックし、プログラムから開くを選択し、ソースコードエディタを選択して開きます。
この時、以下の部分は
android:name="android.support.v4.content.FileProvider"
以下のように変更します。
※変更せずに実行した場合はアプリ起動時に例外が発生しました。
android:name="Android.core.content.FileProvider"
次にResourcesフォルダに以下を追加します。
xmlフォルダを作成する
xmlフォルダ内にfile_paths.xmlファイルを作成する
カメラ撮影と画像を表示する処理を追加する
準備が整ったので、MainPage.xamlにカメラで撮影するためのボタンと撮影した画像を表示するImageタグを追加します。
次にMainPageViewModel.csにusingを追加します。
コンストラクタにボタン(ButtonPicture)の処理を追加します。以上で終了です。このソースコードは、以下から取得できます。
ブランチ名:camera
Prism.Unity.FormsでファイルにテキストをR/Wする
はじめに
こちらを参考にしながらファイルIOのサンプルを作成します。
Entryタグに入力したテキストをtemp.txtに保存、読み込み、ファイルの削除を行うシンプルなものです。
Entryタグに入力したテキストをtemp.txtに保存、読み込み、ファイルの削除を行うシンプルなものです。
使用するライブラリ?は、PCLStorageになります。
手順の概要は以下のとおりです。
PCLStorageの追加
MainPage.xamlにEntry、ラベル、ボタンを配置する。
MainPageViewModel.csに各ボタン(保存、読み出し、削除)のロジックを追加する
MainPage.xamlにEntry、ラベル、ボタンを配置する。
MainPageViewModel.csに各ボタン(保存、読み出し、削除)のロジックを追加する
PLCStorageの追加
ソリューションを右クリックし、Manage NuGet Packages...を選択し、PCLStorageをインストールします。適用するプロジェクトは、全てになります(PCL,Android,IOS)
PCLStorageはピクルスみたいなアイコンです。
MainPage.xamlにEntry、ラベル、ボタンを配置する。
MainPage.xamlに以下を追加します。
- ファイルに保存するテキストを入力するためのEntryタグを追加
- ファイルの保存、読み出し、削除を行うボタンタグの追加
- 読み出し時のファイル内容を表示するラベルタグの追加
MainPageViewModel.csに各ボタン(保存、読み出し、削除)のロジックを追加する
MainPageViewModel.csにボタンに対応するロジックを追加します。
コンストラクタ
保存ボタン
削除ボタン
以上です。
ソースコードは、以下になります。
https://github.com/gucchi4141/prismXamarin/
ブランチ名:storage
https://github.com/gucchi4141/prismXamarin/
ブランチ名:storage
Prism.Unity.Formsで画面遷移先にメッセージ(テキスト)を飛ばす
はじめに
今回は、Prism.Unity.Formsで画面遷移元のメッセージを画面遷移先に飛ばして表示する方法について記載します。
ベースにするソースコードは、こちらになります。
概要は、以下のとおりです。
- MainPage(画面遷移元)にテキスト入力(Entryタグ)を配置する。
- 画面遷移ボタンが押下された時、入力されているメッセージをMyContentPage(画面遷移元)に渡す。
- MyContentPageで受け取ったメッセージをMyContentPage内で表示させるためのLabelタグを配置する。
- MainPage画面から渡されたメッセージを表示する
MainPage(画面遷移元)にテキスト入力(Entryタグ)を配置する。
MainPage.xamlに、MyContentPageに表示させるメッセージ(Entryタグ)を追加します。
下図は、入力する場所がわかりやすくするためにLabelタグも追加しています。
画面遷移ボタンが押下された時、入力されているメッセージをMyContentPage(画面遷移元)に渡す
MainPageViewModel.csに追加します。
まずは、Entryタグから入力されたテキストを保持するためのプロパティを追加します。
NavigationParameter型にEntryタグのプロパティを設定し、NavigationService.NavigationAsyncメソッドの第2引数にパラメータを設定します。
MyContentPageで受け取ったメッセージをMyContentPage内で表示させるためのLabelタグを配置する
MyContentPageViewModel.csにMainPage画面から渡されたメッセージを保持するプロパティとそのメッセージを表示する処理を追加します。
メッセージを表示するタイミングは、画面遷移時のOnNavigatedToメソッドで行います。
以上で終了です。
このメソッドは、継承元のViewModelsBaseクラスでも記述されていますが、MyContentPageViewModel.csにも記述します。
ソースコードは、GithubにもUpしてあります。
登録:
コメント (Atom)