你应该有一个MainActivity.java或一些实例化QuoteBank的Activity.您希望构造函数接受上下文的参数:
在QuoteBank.java中设置一个私有变量:
private Context mContext;
设置构造函数:
public QuoteBank(Context context) {
this.mContext = context;
}
然后在你的活动中实例化它,
QuoteBank quoteBank = new QuoteBank(context);
可以通过this命令或Activity.this在活动中调用上下文变量,其中将“Activity”替换为您的活动名称.或者,如果您在片段内,则可以从onCreateView(…)方法中的View对象获取上下文.通常通过调用view.getContext().
现在,在您抓取资产的方法中,您可以使用上下文:
InputStream is = mContext.getAssets().open("QuotesMonkeyBusiness.txt")
既然您正在使用android studio,您可以创建一个main(String [] args){…}方法并运行它或者只是启动模拟器并让它使用Log.d(…)来显示来自文件.
或者,您也可以使用以下方法:
AssetManager am = mContext.getAssets();
InputStream is = am.open("QuotesMonkeyBusiness.txt");
将QuoteBank作为单例实例也可能有意义,这可能会提高效率,尽管这完全取决于您的要求,可能是这样的:
Li