ローカルのHTMLを読み込んだら化けたので対策。
やり方
HTMLの記述に<meta charset="UTF-8">を追加し、文字コードを指定したら解決した。
化けた時は文字コードを確認したうえで指定すればOKかな。
開発の備忘のため記事を残す。
EditTextなど、アプリ内でユーザーが行った変更をファイルに保持しておき、アプリを起動した際に、データを読み込む。
設定などを保持することにも応用できるかも?
プリファレンスを使うなどの方法もあるそうだが、Javaを扱ったことがあるなら単純さの分だけFileを利用するこの記事のやり方が向いているかも。
やり方は以下のようにしてFileを初期化すること。ここではhogeというファイル名のファイルを作っている。
File file = new File(getFilesDir(),"hoge");
ここからBufferReaderなりPrintWriterなりにfileを渡してやれば読み書きできる。
getFilesDir()は素では呼べないのかもしれないが、自分のソースコード上では特に何もimportせずに動いていた。(備忘と言いつつ書いている時には何で動くのか分からなくなっていた……)
getCacheDir()でも同じようなことができるようだが、こちらはストレージ容量がキツくなった時に消される可能性があるらしい(未検証)。
今回の記事は以下のサイトから必要だった部分のみ抽出して作成した。
自分は、ScriptCalculatorというAndroidアプリを作りました。
このアプリは、自分が初めて他人に使ってもらうために作ったプログラムです。このアプリを作ったきっかけと、その中で感じたことについて書きます。
自分がアプリを作ろうと思ったきっかけは大きく3つあります。
まず自分は、高専から大学3年に編入して、初めて自分で作ったアプリを公開しているような人間と出会いました。これまでの人生の中で、そうやって他者にアプリを公開するような人と出会ったことはなく、そういった人と友人になれたのは、大学に入ってからでした。
正直、とてもショックを受けました。
プログラムというものは自分の中で、学校で課題としてやるものという領域を出てはおらず、他人に公開するなんてイメージはありませんでした。ただ一方で、これぐらいなら自分もできるんじゃないか、というイメージも持っていました。
そんな風に、なんとなく自分にもできるんじゃないか、というイメージを持った状態で、twitterで、自分にとても良いヒントを与えてくれる言葉に出会いました。保存を忘れてしまったので出典が出せないのですが、出会った言葉は、内容的には以下の2つです。
「芸事は学生の内にやっておかないで、どうして社会に出てからできるようになると思うのか。学生の内にやっていない奴が伸びる訳が無い」
「金にならない知識に価値は無い」
自分は、これらの言葉でプログラミングは芸事と同じだと感じました。確かに大学でもプログラミングを学ぶことはできますが、あくまでそれは基礎の基礎で、突き詰めるならより深く、どこまででも行ける物です。
一方で、突き詰めるためには時間が必要です。
自分はプログラムを組むことは好きですが、それをやりたい放題で学ぶことができるのは時間がある今しか無いのだ、という意識が、この言葉で固まりました。
そして、自分の知識はまだ金になるようなものではない、という気付きも重要なきっかけでした。芸事だからこそ、金になるレベルまで何かする、ということが自分の目標として定まりました。
そうこうしているうちに、自分の中には成長したいという気持ちが強く生まれていました。自分でも信じられないほどに、お金を稼ぎたい、何かを作っている他人に負けたくない、その為に成長したいという感情が沸いていました。
そして春休みに入り、ようやく時間ができたことで、アプリの作成に着手できました。
アプリを作ってから感じたことは、「何だか割と簡単じゃん!」という納得と、「これはどうやったら金になるんだろうか?」という疑問でした。
アプリをリリースするまでに掛かった時間は、大体2週間程でした。
二週間のかなりの部分をアプリ作成に費やしたので、これが長いか短いかは何とも言えませんが、作るだけなら割と簡単にできました。
勿論、Androidの機能をそれほど使いこなしたわけではなく、JavaをAndroidで動く形にしただけというようなアプリでしたが、これ位の内容であれば割と簡単に作れるんだということは感じました。
今回のアプリ開発はAndroidStudioで行いましたが、AndroidStrudioの使い方にも多少は慣れたので、次にアプリを作るならもっと短時間でも行えると思います。
作っている間から薄々感じていましたが、このアプリは金にはならないだろうと思っています。掲載開始は3月12日ですが、ストア掲載情報の訪問者数、インストール数共に1桁を越えていません。
これからインストール者数が増えたとしても、たかが知れているでしょう。
自分はこのアプリを開発するために、本とGoogle Playデベロッパーへの登録料とで8千円程使っていますが、この出費の分を取り返すためには恐ろしく時間が掛かりそうだと感じています。
今回の開発での反省点は、やればできることを確認できた点と、金を稼ぐことを甘く見ていた点です。
今回の開発で、これ位なら自分もできる、という曖昧なイメージは、具体的な作品に変わりました。
自分はやればできる、ということを確認できたことは自信につながったと思います。
目新しい技術を使ったり、面白いことをしているという訳では全くありませんが、それはそれ、これはこれでしょう。
今回の開発で自分が手に入れたものは、Androidアプリの開発のための本、Google Playデベロッパーアカウント、AndroidStudioを利用した開発の経験、ちょっとだけ友人に凄いと言ってもらえた喜びの4つでした。
成長という目的はある程度達成できたのかもしれませんが、単純に金銭的だけを見ると大負けです。全く金の気配がしませんし、短期的に見るなら2週間バイトした方がよっぽど大きな金になったでしょう。
正直開発する前には、「アプリを出す→ちょっとはお金になる」ということしか考えていませんでしたが、予想以上に金を稼ぐということは難しいようです。
兎に角今は、分からないこと、知らないことが多すぎるということしか分かっていないなあと感じています。反省していることが正しいのかすらも分かりませんし、学生の勉強に金という基準を持ち込むことはそもそも間違っているような気もしています。
ただ、やったことは無駄にならない、という実感だけは持つことができました。
「まずはやったぞ!」という記念として、この記事を残しておきます。