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

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

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

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

4162閲覧

unityでcsv(androidアプリから)が読み込めない

fukufuku1

総合スコア27

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/01/17 09:23

CSVファイルをアプリから参照する方法として
以下2つを見つけたのですが(検索して)どちらもうまくいきません。
なぜかわかる方はいらっしゃいますでしょうか。

c#

1//(1) 2ver csvFile = File.ReadAllText(Application.persistentDataPath+ "@/save_kanri.csv"); 3 4//(2) 5ver csvFile = File.ReadAllText(Application.streamingAssetsPath + "@/save_kanri.csv"); 6コード

(1)Application.persistentDataPath
こちらの場合はPCでpathを見ると、
[C:/Users/ ・・・・ /アプリ名]
だったので、
・その下におきましたがダメ(アプリ名/save_kanri.csv)
・Assetsの直下に置くのもダメ(Assets/save_kanri.csv)
・実機でのパスが↓だったのでfilesの下においてもダメ(Assets/files/save_kanri.csv)
/storage/emulated/0/Android/data/{アプリのパッケージ名}/files/

(2)Application.streamingAssetsPath
こちらの場合は「StreamingAssets」フォルダを作ってと記載がありましたので
「Assets/StreamingAssets/save_kanri.csv」としましたがダメでした。

※1,2共にunityでは動きますが、androidではダメでした。

上記1,2以外の方法でも良いのですがご存知の方がいらっしゃいましたら教えて頂けないでしょうか。

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

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

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

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

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

guest

回答1

0

ベストアンサー

・その下におきましたがダメ(アプリ名/save_kanri.csv)
・Assetsの直下に置くのもダメ(Assets/save_kanri.csv)
・実機でのパスが↓だったのでfilesの下においてもダメ(Assets/files/save_kanri.csv)

いずれの場合も、それらのファイルはビルドしたAndroidのアプリには存在しません。
もし用意したい場合は、「Resources」か「StreamingAssets」に入れる必要があります。

もし、(1)の場合で読み込みたい場合は、アプリとは別に「/storage/emulated/0/Android/data/{アプリのパッケージ名}/files/」にファイルをコピーする必要があります。
当然ですが、本番のアプリではユーザーがそのようなことをすることはないため、「Application.persistentDataPath」の中にあらかじめファイルを用意することはできないと考えてください。

んじゃあ、なぜ(2)で上手く動かないのかというと、Androidの場合は「Application.streamingAssetsPath」はapkファイルの中を指定しているため、そのままで読み込めないという(面倒くさい)仕様になっているからです。
そのため、こちらのように、UnityWebRequestを使う必要があります。
(WWWクラスでも可能ですが、古いため現在では非推奨です)

なお「Resources」の場合も、Resources.Load()でしか読み込めない仕様になっているので注意してください。

投稿2019/01/17 09:50

fiveHundred

総合スコア9801

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

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

fukufuku1

2019/01/17 10:06

早速回答頂きありがとうございます。 わかりやすい回答で色々と勉強になりました。 まずは記載頂いたUnityWebRequestを試してみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問