Собственно код:
(
public class BankNet implements Runnable {
public String getTemp() {
return temp;
}
private String temp;
private Document bankReadydoc;
private String elementAttr; // Code, ID
private String valCode; // USD, EUR...
private String expression; // "/ValCurs/ValType/Valute"...
private String fileURL;
private List<String> valDesc = new ArrayList<>();
public List<String> getValDesc() {
return valDesc;
}
public void setElementAttr(String elementAttr) {
this.elementAttr = elementAttr;
}
public void setValCode(String valCode) {
this.valCode = valCode;
}
public void setFileURL(String fileURL) {
this.fileURL = fileURL;
}
public void setExpression(String expression) {
this.expression = expression;
}
@Override
public void run() {
try {
URL urlXML = new URL(fileURL);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
bankReadydoc = builder.parse(urlXML.openStream());
bankReadydoc.getDocumentElement().normalize();
} catch (ParserConfigurationException | IOException | SAXException e) {
e.printStackTrace();
}
if (bankReadydoc !=null) {temp = "TTTT";} else {temp = "ZZZZZZZZZZZ";};
}
}
из MainActivity ...
... OnCreate...
...
BankNet bank = new BankNet();
bank.setValCode("USD");
bankFields ("RU", bank);
Thread th = new Thread(bank);
th.start();
try {
th.join();
//
} catch (InterruptedException e) {
e.printStackTrace();
}
Собственно вопрос: объект bankReadydoc типа Document не создается, всегда null. Причем AsyncTask вполне отрабатывает, но по некоторым причинам не подходит.
Спасибо.
... )
(
public class BankNet implements Runnable {
public String getTemp() {
return temp;
}
private String temp;
private Document bankReadydoc;
private String elementAttr; // Code, ID
private String valCode; // USD, EUR...
private String expression; // "/ValCurs/ValType/Valute"...
private String fileURL;
private List<String> valDesc = new ArrayList<>();
public List<String> getValDesc() {
return valDesc;
}
public void setElementAttr(String elementAttr) {
this.elementAttr = elementAttr;
}
public void setValCode(String valCode) {
this.valCode = valCode;
}
public void setFileURL(String fileURL) {
this.fileURL = fileURL;
}
public void setExpression(String expression) {
this.expression = expression;
}
@Override
public void run() {
try {
URL urlXML = new URL(fileURL);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
bankReadydoc = builder.parse(urlXML.openStream());
bankReadydoc.getDocumentElement().normalize();
} catch (ParserConfigurationException | IOException | SAXException e) {
e.printStackTrace();
}
if (bankReadydoc !=null) {temp = "TTTT";} else {temp = "ZZZZZZZZZZZ";};
}
}
из MainActivity ...
... OnCreate...
...
BankNet bank = new BankNet();
bank.setValCode("USD");
bankFields ("RU", bank);
Thread th = new Thread(bank);
th.start();
try {
th.join();
//
} catch (InterruptedException e) {
e.printStackTrace();
}
Собственно вопрос: объект bankReadydoc типа Document не создается, всегда null. Причем AsyncTask вполне отрабатывает, но по некоторым причинам не подходит.
Спасибо.
... )