【Android開発】AsetteManagerでassets内ファイルを読み込む

android programingPG・PC効率UP・ブログ
android programing

Androidアプリ開発エンジニアのゆーちゃまさんです^^

当サイト「ドロイドブログ」を運営しています。

Webアプリ開発3年ほど、Androidアプリ開発を10年ほどやってます。

assetsフォルダ内のファイルを読み込むことが出来るのですが、応用がきいて便利。

実際の開発事例と合わせて解説!

スポンサーリンク

結論

実装も簡単なのでお勧めです。

知っているだけで、開発方法の選択肢が増えます^^

使うか使わないかは別として、選択肢を増やすことは開発する上でとても大事

この機会に是非覚えておきましょう。

スポンサーリンク

実際の開発事例

ゆーちゃま
ゆーちゃま

実際の開発事例をお話しますね^^

  1. 祝日のリストを配置して利用
  2. ダミーjsonを配置して利用

1.祝日リストを配置して利用

僕が現在開発しているアプリでは、カレンダーを表示する機能があります。

カレンダーを表示するとなると、やはり祝日は赤字で表示するという要件に。

祝日リストを取得する必要がありますが、APIが無いのでassetsフォルダに祝日リストを配置

カレンダー画面で読み込んで、一致する日を祝日として赤で表示する。

ゆーちゃま
ゆーちゃま

yyyyMMdd,yyyyMMdd,…

の様にcsv形式で保存しています

後ほどコードと共に紹介しますね^^

2.ダミーjsonを配置して利用

ネイティブアプリは、webApiを実行してその結果を利用します。

例えば…何かのお店検索Apiを実行して、そのレスポンスを一覧に表示。

という流れですね。

そのレスポンスは jsonであることがほとんど。

webApiはサーバサイドのエンジニアが実装して、利用できるようになったらアプリエンジニアが使います。

ただ、同時に開発がスタートするとAPIはすぐに出来ないので、出来るまで待たなければならない。

そういった場合、APIのレスポンスで返ってくる仮のjsonをassets配下に設置

APIを叩くロジック部に一旦、仮のjsonをassetsからロードしてApi実行結果として返すようにする。

ゆーちゃま
ゆーちゃま

APIが動くようになったら

差し替えるだけなので簡単^^

APIが出来てからじゃないと開発できない!

というエンジニアが居ますが、それでは開発時間がかかってもったいない。。

asettsフォルダロードを知っていれば、「じゃあ、仮データasettsにおいてやっておこう!」

となるわけですね^^

assetesファイル配置・コード解説

ゆーちゃま
ゆーちゃま

まずはassets配下にファイルを置きます。

今回は先ほどお話した、祝日ファイルにしますね^^

assets
assets

src -> main -> assets に、「holiday」というファイルを配置。

holidayの中身はカンマ区切りで、祝日をyyyy/MM/ddで記入してあるだけですね^^

ゆーちゃま
ゆーちゃま

このholidayを読み込んで

単純に画面に表示してみます。

まずは、ファイルをロードするロジックです。

このコードはログの部分以外はそのまま利用できます^^

  • 第1引数:Context
  • 第2引数:実際のファイル名

ゆーちゃま
ゆーちゃま

いつでも使えるように、

ユーティリティークラスなどに

作成しておきましょう^^

次に画面のレイアウトファイルです。

ゆーちゃま
ゆーちゃま

画面中央にEditTextがあるだけの画面です^^

次にActivityです。

ゆーちゃま
ゆーちゃま

loadAsset()でholidayを読み込んだ結果をEditTextにセット^^

サンプル実行結果

result
result
ゆーちゃま
ゆーちゃま

ちゃんと読み込んだ内容が

表示されてますね!!

簡単^^

まとめ

開発するときに、実装する手段として知っていると知らないとでは天と地ほどの差がありますよ。

利用する・しないはその時々にあった開発手段を選択すれば良い。

方法として知っている事が大事ですね^^

ゆーちゃま
ゆーちゃま
ゆーちゃま

開発時に、

あ!そういえばassetsのファイルロードする方法あったなーと思い出してもらえればうれいしいです^^

こちらの記事もどうぞ^^

(Visited 59 times, 1 visits today)
スポンサーリンク
スポンサーリンク
スポンサーリンク
PG・PC効率UP・ブログプログラミング
ドロイドブログ

コメント

タイトルとURLをコピーしました