非ActivityクラスでのopenFileOutputメソッドの利用

4,096 views
Skip to first unread message

眼鏡 銀縁

unread,
Mar 4, 2012, 11:47:41 AM3/4/12
to Android-SDK-Japan
初めまして。

ストレージにテキストファイルの保存を行いたいのですが
ウィジェットとの連携などの兼ね合いもあり非Activityクラスでファイルの保存を行おうとしています。
ですが、非ActivityクラスではopenFileOutputメソッドが使えないので困っています。

何とかして非Activityクラスでテキストファイルの保存を行うことはできないのでしょうか?
どなたかご教授お願いします。

できればopenFileOutputで出力を行いたいです。

Makoto Yamazaki

unread,
Mar 4, 2012, 11:37:55 PM3/4/12
to android-...@googlegroups.com
zaki です。

openFileOutput は Context クラスのメソッドなので、openFileOutput を使うためには
何らかの方法で Context のインスタンスを取得する必要があります。
openFileOutput を使う側は Context を受け取って利用するように記述しておいて、
呼び出す側で Context を継承するクラス(Activity, Application, Serviceなど) を渡して
あげるような構成にできないでしょうか。

2012/3/5 眼鏡 銀縁 <ginn...@gmail.com>:

> --
> このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
> このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。
>

--
YAMAZAKI Makoto

河村潔広

unread,
Mar 5, 2012, 10:11:42 AM3/5/12
to android-...@googlegroups.com

Kyorohiroです

Applicationインスタンスを、static領域に格納しておくのが
Easyだと思います。

例えば以下のような感じでどうでしょうか

MyAppplication extends Application {

  .static WeakRefernce myinstance
···
···
.public static  Application geInstance(){
   Application app ....
  .app = .myinstance.get()
···
   .return app;
}

}

米 AndroidManifestにApplicationを登録しておきく

2012/03/05 13:38 "Makoto Yamazaki" <makot...@gmail.com>:

眼鏡 銀縁

unread,
Mar 5, 2012, 11:36:26 AM3/5/12
to Android-SDK-Japan
zakiさんkyorohiroさん御回答ありがとうございます。

とりあえず、Contextをメソッドに直接渡す形で解決しました。
お二人の回答のおかげです。
ありがとうございました。

On 3月6日, 午前12:11, 河村潔広 <kyoroh...@gmail.com> wrote:
> Kyorohiroです
>
> Applicationインスタンスを、static領域に格納しておくのが
> Easyだと思います。
>
> 例えば以下のような感じでどうでしょうか
>
> MyAppplication extends Application {
>
> .static WeakRefernce myinstance
> ・・・
> ・・・
> .public static Application geInstance(){
> Application app ....
> .app = .myinstance.get()
> ・・・
> .return app;
>
> }
> }
>
> 米 AndroidManifestにApplicationを登録しておきく
> 2012/03/05 13:38 "Makoto Yamazaki" <makoto1...@gmail.com>:
>
>
>
>
>
>
>
> > zaki です。
>
> > openFileOutput は Context クラスのメソッドなので、openFileOutput を使うためには
> > 何らかの方法で Context のインスタンスを取得する必要があります。
> > openFileOutput を使う側は Context を受け取って利用するように記述しておいて、
> > 呼び出す側で Context を継承するクラス(Activity, Application, Serviceなど) を渡して
> > あげるような構成にできないでしょうか。
>
> > 2012/3/5 眼鏡 銀縁 <ginnb...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages