質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

4169閲覧

xamarinで配列の設定データを保存したい

masa246

総合スコア17

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2017/03/20 11:43

###前提・実現したいこと
初めてのスマホアプリ開発でvisual studioとxamarin.formsを用いてクロスプラットフォームアプリを作ろうとしています。アプリ内で用いる配列をアプリに保存して次回起動時もそれを読み込んで使用たいのですがどうすればよいのでしょうか?
例えば[組,出席番号,各種個人情報]といった配列を作って保存したいです。
削除することもあるので組を指定すればそれ以下の階層もまとめて削除したいので配列で保存できればと思いました。
また、多次元配列を別形式に変換して保存し、また配列に戻す方法があればそれでも大丈夫かと思います。
初歩的な質問だと思いますがどうかよろしくお願いします。

###試したこと
「Application.Current.Properties[]」を使えば簡単にOS依存なく設定データを保存できることはわかったのですが、多次元配列を保存する方法がわかりません。
参考にさせていただいたサイトはこちらです。
また、一次元配列をコンマ区切りなどで文字列にしてそれを保存することができるというのはわかりますが、多次元配列となるとどうすればいいのかわかりません。

###補足情報(言語/FW/ツール等のバージョンなど)
Xamarin.forms
C#
XAML
Visual Studio 2017
その他必要な情報がありましたらお伝えいただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いろいろな方法があるのでこれが正解っていうのはない(と思う)ですが自分なら以下の感じにします

・データ数があらかじめ少ないとわかっているとき:Json形式の文字列として保存する
・上の場合以外(たとえばデータ数が不定の場合):データベースを使う(SQLiteやRealm)

「例えば[組,出席番号,各種個人情報]」という点からデータ数はそれなりに多くなりそうなのでデータベースを使うことをお勧めします

個人的にはRealmがお勧めですが今のところiOSとAndroidにしか対応してない(UWPはサポート予定)のでターゲットプラットフォーム次第です。
SQLiteならSQLite.Net-PCLが使えると思います。

投稿2017/03/20 13:09

meilcli

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masa246

2017/03/20 14:30

ご回答ありがとうございます。 割と簡単にアプリ自体にデータベースを導入することが出来るのですね。 無知でお恥ずかしい限りです。 よろしければ、SQLiteとRealmでは後者を推す理由をお教え頂けたらと思います。
meilcli

2017/03/20 15:39

多次元を表すのにデータベース上のデータをリレーション付けて管理することになりますが、それがRealmでは簡単に実装できる(RealmObjectのインスタンスにRealmObjectまたはIList<RealmObject>を設定できる)からです SQLiteでもリレーションは可能ですが紹介したパッケージも含めて.NETでリレーションにも対応したPCLなORMライブラリがない(少なくとも自分は実際に使えるものを知らない)ので簡単に実装できるRealmを推しました。 もちろんSQL文を叩くとかでORMじゃなくてもいいとかなら、両方大差ないのでどちらでもいいと思います。 (補足、SQLiteのリレーションにも対応したPCLなORMライブラリですが、ひょっとしたらEntityFramework CoreがXamarinにも対応してるかもしれないので、それならもしかして使えるかもしれないですが、それを試行(使えるかどうか試す)するのは(英語の文献すらごく少数という意味の)苦行的な意味でお勧めしないです)
masa246

2017/03/20 22:46

わかりやすいご説明ありがとうございます。 UWPはついでに出来ればいいなといった程度でしたのでRealmを調べて使ってみようと思います。 本当にご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問