strings.xmlのデータをActivityを継承していないクラスにString形式で読み込む方法を教えて下さい。


strings.xmlのデータをActivityを継承していないクラスにString形式で読み込む方法を教えて下さい。

詳細：  
お世話なっております。  
  
現在、多言語対応前提のアプリを作ろうしております。  
その中で、SharedPreferencesに情報を記録しているのですが、strings.xmlの文字をActivityを継承しているクラスのなかでは、「getString」で読み込むことができました。  
ここで、今後のVerUpも考え、初期設定のみをまとめて記載したprifix.javaというクラスをつくり、そこから読み出す構造にしたいのですが、ここでうまくいっておりません。  
以下のコードで読みだしたところ、「文字」でなく「数字」が出力されてしまいます。  
「getString」で読み出せないため、「R.string.a1_name_string」の登録（？）数値が出てきてしまっていると考えております。  
このような場合、どのようにすれば期待通りの「文字」が読み込めるのでしょうか？  
アドバイスを頂ければ幸いです。

prefix.java

[code]

    public class prefix {
    //多言語対応用　res/strings.xmlをコードで読みこむ
    static String title = String.valueOf(R.string.a1_name_string);
    
[/code]

  




Applicationクラスを継承したサブクラスを作成して、その中でContextオブジェクトを作成しておいて別のクラスから参照してはどうでしょうか。  
Applicationクラスは起動時に呼び出されるクラスでアプリケーションで共有するオブジェクトを管理するのに便利です。

1.例として次のようにonCreateメソッドをoverrideしてContextオブジェクトを保存しMyApplication.getContext()でどこからでも呼び出せるようにします。

[code]

    public class MyApplication extends Application{
    
    private static Context mContext;
    
        @Override
        public void onCreate() {
            super.onCreate();
            mContext = this;
        }
    
        public static Context getContext(){
            return mContext;
        }
    }
    
[/code]

2.Application継承クラスは`AndroidManifest.xml`の`<application>`タグの中に`android:name=".MyApplication"`のように記述しておきます。

[code]

        <application
            android:name=".MyApplication"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme">
            <activity
                android:name=".MainActivity"
             ・・・
    
[/code]

3.`getString`が使えないクラスからは以下のようにリソースにアクセスできます。

[code]

    MyApplication.getContext().getString(R.string.app_name);
    // 又は
    MyApplication.getContext().getResources().getString(R.string.app_name));
    
[/code]




Applicationクラスを継承したサブクラスを作成して、その中でContextオブジェクトを作成しておいて別のクラスから参照してはどうでしょうか。  
Applicationクラスは起動時に呼び出されるクラスでアプリケーションで共有するオブジェクトを管理するのに便利です。

1.例として次のようにonCreateメソッドをoverrideしてContextオブジェクトを保存しMyApplication.getContext()でどこからでも呼び出せるようにします。

[code]

    public class MyApplication extends Application{
    
    private static Context mContext;
    
        @Override
        public void onCreate() {
            super.onCreate();
            mContext = this;
        }
    
        public static Context getContext(){
            return mContext;
        }
    }
    
[/code]

2.Application継承クラスは`AndroidManifest.xml`の`<application>`タグの中に`android:name=".MyApplication"`のように記述しておきます。

[code]

        <application
            android:name=".MyApplication"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme">
            <activity
                android:name=".MainActivity"
             ・・・
    
[/code]

3.`getString`が使えないクラスからは以下のようにリソースにアクセスできます。

[code]

    MyApplication.getContext().getString(R.string.app_name);
    // 又は
    MyApplication.getContext().getResources().getString(R.string.app_name));
    
[/code]

