在android中没有任何活动的库项目的本地化

时间:2016-03-25 10:57:52

标签: android

我有一个库项目说“SampleLibrary”,它只有java文件,并且没有任何活动。我在我的应用程序中使用此库说“Sample”。我在“样本库”中有如下方法。

 public boolean load(String filePathName )
    {
        String Work;
        Work = GetString( "Sample", No , "", filePathName );
        if( 0 == Work.length())
        {
            Work = GetString( "サンプル", No, "", filePathName);
        }
     }

现在我想自定义此代码以从String.xml或其他方式获取字符串值。要使用getString(R.String.sample),我需要一个上下文。但我的图书馆里没有任何活动。

任何一个,请帮我怎么做?

2 个答案:

答案 0 :(得分:0)

创建Application的子类并在android:name

中设置<application>标记的AndroidManifest.xml属性
android:name=".MyApplication"

申请类

public class MyApplication extends Application{

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = this;
    }

    public static Context getContext(){
        return mContext;
    }
}

现在,在您的班级中,您可以使用这样的应用程序上下文。

MyApplication.getContext().getResources()

答案 1 :(得分:0)

唯一合理的解决方案是提供一个简单的init方法,将Context作为参数。无法从静态上下文访问资源。您不能使用Application,也不能将您的代码包含在库中。