Получить строку из файла ресурсов
Доброго времени суток!
Пишу клиент серверное приложение, используя систему контроля версий. Чтобы ненароком не выгрузить ничего лишнего, использую файл ресурсов в котором храню String записи для конфигов(пароли, юзера, адреса и т.д.). Как полагается, внес этот файл в .gitignore, а в коде получаю данные из него. Но сейчас столкнулся с проблемой. Вылезает ошибка
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getString(int)' on a null object reference
Есть класс раз:
public class Raz extends AppCompatActivity {
private String stringResponse;
private class MyCount2Thread implements Runnable{
@Override
public void run() {
Log.e("Отслеживаю потоки", "поток " + Thread.currentThread() + Thread.currentThread().getName());
//String loginUrl = getBaseContext().getString(R.string.server) + "count2"; Не работает
String loginUrl = "http://777.777.77.77:7777/count2" // Работает
try {
URL obj = new URL(loginUrl);
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("User-Agent", "Mozilla/5.0");
conn.setRequestProperty("Accept-Charset", "UTF-8");
InputStream response = conn.getInputStream();
Scanner s = new Scanner(response).useDelimiter("\\A");
stringResponse = s.hasNext() ? s.next() : "";
Log.e(" _-_-_response_-_-_ ", stringResponse);
response.close();
conn.disconnect();
} catch (Exception e) {
System.out.println(e);
}
}
}
public String checkVisitors() {
Thread myThread = new Thread(new MyCount2Thread());
myThread.start();
try {
myThread.join();
Log.e("Отслеживаю потоки", "Мы снова в мэйне " + Thread.currentThread());
} catch (InterruptedException e) {
}
return stringResponse;
}
У этого класса есть метод checkVisitors().
Есть класс два:
public class Dva extends AppCompatActivity {
private String stringResponse;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_playground);
TextView statusRoom2 = findViewById(R.id.room2tv);
String amountVisitors = new Raz().checkVisitors();
String previewStatus = "Cейчас в комнате " + num + " человеков.";
statusRoom2.setText(previewStatus);
}
}
Этот класс обращается к методу класса Раз, получая такую ошибку. Все потоки работают и проблема точно не на стороне АПИ.
Изначально я вообще использовал просто .getString(R.string.server), но почитав похожие примеры с фрагментами понял что нужен контекст или активити. Стандартные getContext() и getActivity() мне не доступны.
Подскажите пожалуйста как можно исправить данную проблему.
Заранее спасибо!