public class ResultsTitre extends ActionBarActivity {
org.w3c.dom.Document doc = null;
EditText resultActors;
EditText resultAnnee;
EditText resultGenre;
EditText resultPlot;
EditText resultRating;
EditText resultReleased;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_results_titre);
resultActors=(EditText)findViewById(R.id.resultActors);
resultActors.setEnabled(false);
resultAnnee=(EditText)findViewById(R.id.resultAnnee);
resultAnnee.setEnabled(false);
resultGenre=(EditText)findViewById(R.id.resultGenre);
resultGenre.setEnabled(false);
resultPlot=(EditText)findViewById(R.id.resultPlot);
resultPlot.setEnabled(false);
resultRating=(EditText)findViewById(R.id.resultRating);
resultRating.setEnabled(false);
resultReleased=(EditText)findViewById(R.id.resultReleased);
resultReleased.setEnabled(false);
new xmlFromHttpAsyncTask().execute("http://ift.tt/19GbbGf"+ titleTyped +"&r=xml");
}
private class xmlFromHttpAsyncTask extends AsyncTask<String, Void, Void> {
protected Void doInBackground(String... query) {
URL url;
try {
// La on crÈe la requete HTTP
url = new URL(query[0]);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
// Et on rÈcupËre la rÈponse de OMDBAPI
doc = db.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
//Traitement des exceptions au cas o˘ ca plante, on s'en fout
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void n) {
createDisplay();
}
}
private void createDisplay(){
try {
NodeList nodeList = doc.getElementsByTagName("root");
Element rootElement = (Element) nodeList.item(0);
NodeList movieList = rootElement.getElementsByTagName("Movie");
Element e = (Element)movieList.item(0);
resultActors.setText(e.getAttribute("actors"));
resultAnnee.setText(e.getAttribute("year"));
resultGenre.setText(e.getAttribute("genre"));
resultPlot.setText(e.getAttribute("plot"));
resultRating.setText(e.getAttribute("imdbRating"));
resultReleased.setText(e.getAttribute("released"));
e.getAttribute("imdbID");
}
catch (Exception ex){
resultReleased.setText("ERROR : " + ex);
}
}
}
When I compile this code I get "java.lang.nullpointerexception" in my last catch ! I don't understand why ! Can someone help please ?
My XML file looks like this
No comments:
Post a Comment