アプリケーション 起動ファイル(iniファイル)

3,652 views
Skip to first unread message

じんぼやん

unread,
Sep 10, 2010, 6:19:11 PM9/10/10
to 日本Androidの会
よろしくお願いいたします。

windows mobileのアプリでは、アプリケーションが起動したときにiniファイルを読み込んでいるのですが
androidではファイルエクスプローラがない(?)ので、iniファイルではユーザが気軽に変更できないと思っております。

androidでは「アプリが起動されたときに読み込み、ユーザーが変更できる」設定はどうするのがよいのでしょうか?

Rabbit-U

unread,
Sep 10, 2010, 7:31:10 PM9/10/10
to 日本Androidの会
Rabbit-Uです。

設定を保存するには、SharedPreferencesクラス(インターフェイス) が使いやすいと思います。

じんぼやん

unread,
Sep 10, 2010, 9:51:00 PM9/10/10
to 日本Androidの会
Rabbit-Uさん
回答ありがとうございます。

> 設定を保存するには、SharedPreferencesクラス(インターフェイス) が使いやすいと思います。
SharedPreferencesを使うにはアプリを起動しなければいけませんよね。
iniファイルはアプリを起動する時には設定されています。

andoridではiniファイルを使うことはないのでしょうか?

じんぼやん

unread,
Sep 10, 2010, 9:56:02 PM9/10/10
to 日本Androidの会
Rabbit-Uさん
回答ありがとうございます。

> 設定を保存するには、SharedPreferencesクラス(インターフェイス) が使いやすいと思います。
SharedPreferencesクラスはアプリを起動しなければ使えないですよね。

iniファイルの場合はアプリを起動するときには設定されています。
androidではiniファイルという方法は使わないのでしょうか?

関西康一郎

unread,
Sep 10, 2010, 10:05:15 PM9/10/10
to android-g...@googlegroups.com

関西と申します。
初書き込みです。まだまだandroid 修行中ですが、よろしくお願いします。

さて、表題の件ですが、
初回の起動時のみ、ini ファイルがなければ初期設定値を新規に作成、あれば読み込みとし、あとは!、はプログラム内でRbbit-U さんが教えてくれたクラスの利用、という解決ではいかがですか?

2010/09/11 10:51 "じんぼやん" <gymb...@gmail.com>:


--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-group-japan@googlegroup...

じんぼやん

unread,
Sep 10, 2010, 10:31:44 PM9/10/10
to 日本Androidの会
関西さん
ありがとうございます。

> さて、表題の件ですが、
> 初回の起動時のみ、ini ファイルがなければ初期設定値を新規に作成、あれば読み込みとし、あとは!、はプログラム内でRbbit-U
> さんが教えてくれたクラスの利用、という解決ではいかがですか?

そうですね。設定画面を設けることで解決できます。

「Androidにはiniファイルで設定をするという考えはない」ということで間違いないでしょうか?
(※仕様を変えてもらわないといけないので、説得材料がいります。)

よろしくお願いいたします。

丹羽直也

unread,
Sep 11, 2010, 12:14:10 AM9/11/10
to android-g...@googlegroups.com

iniファイルというのはある種の固有名詞でもあり、設定等を格納するWindowsのシステムととらえていいでしょう。
つまりは、Android で設定等を格納する方法がSharedPreferenceとなります。

今回、ユーザーが自由に書き換えられるかの問題はファイルシステムのアクセス権の話だと思います。

Androidの場合、各アプリごとにユーザーが作られ、各アプリのデータ(/data/data/PACKAGE_NAME)はそのユーザーを所有者として作られます。

そしてアクセス権もそのユーザー以外の操作を禁止しています
つまり、(ユーザーがrootをとっていなければ)勝手に操作はできません。

でもrootとられるとどうにもなりませんし、DevPhoneだと書き換えられた気が・・・・

sent from Xperia
灘校パソコン研究部-Nada Personal Computer users' Association
Naoya Niwa
MyBlog Mine's Blog: http://mines-blogn.blogspot.com/
Twitter: @mine_studio
http://twitter.com/mine_studio

2010/09/11 11:31 "じんぼやん" <gymb...@gmail.com>:

関西さん
ありがとうございます。


> さて、表題の件ですが、
> 初回の起動時のみ、ini ファイルがなければ初期設定値を新規に作成、あれば読み込みとし、あとは!、はプログラム内でRbbit-U

> さんが教えてくれたクラスの利用、...

そうですね。設定画面を設けることで解決できます。

「Androidにはiniファイルで設定をするという考えはない」ということで間違いないでしょうか?
(※仕様を変えてもらわないといけないので、説得材料がいります。)

よろしくお願いいたします。

丹羽直也

unread,
Sep 11, 2010, 12:16:48 AM9/11/10
to android-g...@googlegroups.com

あw
最終的にはアプリ側でインターフェースを作って変更できるようにしましょうということです

PreferenceActivityというのもあるので、ぜひ活用してください

連投すいません

sent from Xperia
灘校パソコン研究部-Nada Personal Computer users' Association
Naoya Niwa
MyBlog Mine's Blog: http://mines-blogn.blogspot.com/
Twitter: @mine_studio
http://twitter.com/mine_studio

2010/09/11 13:14 "丹羽直也" <naclub...@gmail.com>:



iniファイルというのはある種の固有名詞でもあり、設定等を格納するWindowsのシステムととらえていいでしょう。
つまりは、Android で設定等を格納する方法がSharedPreferenceとなります。

今回、ユーザーが自由に書き換えられるかの問題はファイルシステムのアクセス権の話だと思います。

Androidの場合、各アプリごとにユーザーが作られ、各アプリのデータ(/data/data/PACKAGE_NAME)はそのユーザーを所有者として作られます。

そしてアクセス権もそのユーザー以外の操作を禁止しています
つまり、(ユーザーがrootをとっていなければ)勝手に操作はできません。

でもrootとられるとどうにもなりませんし、DevPhoneだと書き換えられた気が・・・・

sent from Xperia
灘校パソコン研究部-Nada Personal Computer users' Association
Naoya Niwa
MyBlog Mine's Blog: http://mines-blogn.blogspot.com/
Twitter: @mine_studio
http://twitter.com/mine_studio

2010/09/11 11:31 "じんぼやん" <gymb...@gmail.com>:

関西さん
ありがとうございます。

>
>
> > さて、表題の件ですが、
> > 初回の起動時のみ、ini ファイルがなければ初期設定値を新規に作成、あれば読み込みとし、あとは!、はプログラム内でRbbit-U

> さんが教えてくれたクラスの利用、...


>
> そうですね。設定画面を設けることで解決できます。
>
> 「Androidにはiniファイルで設定をするという考えはない」ということで間違いないでしょうか?
> (※仕様を変えてもらわないと...

じんぼやん

unread,
Sep 11, 2010, 1:04:10 AM9/11/10
to 日本Androidの会
丹羽直也さん
回答ありがとうございます。

ユーザーが変更できる設定についてはPreferenceActivityクラスを使用し、設定画面を用意します。


少し質問からずれますが、ファイルの取り扱いについて再度質問します。

データベース作成時のテーブルを作成するCreateSqlをテキストファイルなどに記載しておき、
インストール時にアプリと一緒に配置します。
SQLiteOpenHelper のonCreate()でそのファイルを読み込み、順次SQLを実行していく。
・・・といったこともできないのでしょうか?


じんぼやん

unread,
Sep 11, 2010, 9:30:37 AM9/11/10
to 日本Androidの会
過去ログに参考になる情報がありました。
apkにファイルを含める オプション
http://groups.google.co.jp/group/android-group-japan/browse_thread/thread/567326c74ebade70

やりたいことは
インストール時に「/data/data/<パッケージ>/files」フォルダにファイルを配置し、
インストール後はこのファイルをPC側などから編集することで、プログラムの分岐を行いたいと考えています。

※つまりアプリをインストールした後にアプリの再インストールをすることなく、
ファイルの値を変更をすることで、プログラムの動作を変更したいということです。
iniファイルのようなものですが、ユーザーが簡単には変更できないようなファイルで
管理者とか開発関係者のみが変更するようなファイルです。


過去ログを参考に下記のように作ってみましたが、無事動かすことができました。

assertsフォルダにテキストファイルを作成し、アプリをインストールします。
起動時にassertsフォルダのファイルをfilesフォルダにコピーします。
filesフォルダのファイルをPCに転送し編集したのち、filesフォルダに戻します。
プログラムからfilesフォルダの値を読み込めました。

Reply all
Reply to author
Forward
0 new messages