基本上我有一个独立的类,它不使用Activity OR Service。 该类中的函数启动一个新的Authenticator。
我在strings.xml文件中有一个字符串,我想访问它 寻找最好的方法
示例代码
class MyConnection(){
String username;
String pwd;
String strurl;
public MyConnection(String usernameIN, String pwdIN, String urlIN){
this.username = usernameIN;
this.pwd = pwdIN;
this.strurl = urlIN
}
public void
URL url = null;
try {
url = new URL(this.strURL);
URLConnection urlConn = null;
Authenticator.setDefault(new Authenticator()){
protected PasswordAuthentication getPasswordAuthentication()(
// I want my vars from strings.xml here
return new PasswordAuthentication(strUsername, strPwd.toCharArray());
}
});
urlCOnn = url.openConnection();
//Rest of the code, including CATCH
}
我将vars传递到了类中,但是当我设置PasswordAuthentication时如何访问它们。或者我可以直接从strings.xml ???
访问它们答案 0 :(得分:0)
如何创建MyConnection
类的实例?
应该通过活动或服务,对吗?
然后在创建它时,传递当前的活动
public class MyConnection {
private Activity activity;
public MyConnection(Activity a) {
this.activity = a;
}
//....
private void method() {
activity.getResources().getString(R.string....);
}
}
编辑:我没有看到你已经有了构造函数。然后将参数添加到现有参数。
答案 1 :(得分:0)
您可以在final
构造函数的参数中添加MyConnection()
修改器,这样您就可以将它们用作PasswordAuthentication()
调用中的参数。希望这会有所帮助。
答案 2 :(得分:0)
您需要将Context
个实例传递给您的班级或个人方法。 Context
实例可以是Activity
或Service
的实例,也可以是Context
的子类。然后,您可以使用它来访问系统资源:
class MyConnection
{
private final Context context;
public MyConnection( Context context )
{
this.context = context;
}
.
.
.
public void someMethod()
{
String str = context.getResources().getString ( R.string.myString );
}
}