J'ai implémenté une minuterie qui analyse une URL toutes les 15 minutes (la tâche Timer). Un objet que j'ai créé obtient cette donnée. Je l'utilise ensuite pour afficher les données à l'écran. Maintenant, chaque fois que j'essaie de récupérer ce Object/a String = Object.toString() sur le runnable, j'obtiens une exception de pointeur nul et des erreurs fatales. Ma question est de savoir s'il est possible d'utiliser d'autres techniques pour le faire, ou si L'Objet cesse d'exister en dehors de l'exécutable et qu'il n'y a pas grand-chose à faire à ce sujet, si c'est le cas, quelqu'un peut-il le dire? moi s'il y a une autre façon de mettre en œuvre un timer/runnable?Récupération d'une chaîne dans un runnable/TimerTask
Merci beaucoup
ici est la plupart de mon code où j'ai un problème
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle)
final TextView tv = new TextView(this);
TimerTask scanTask;
final Handler handler = new Handler();
Timer t = new Timer();
scanTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
URL url = null;
try {
url = new URL("http://www.eurosport.fr/");
} catch (MalformedURLException e3) {
e3.printStackTrace();
}
/* Get a SAXParser from the SAXPArserFactory. */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp;
try {
sp = spf.newSAXParser();
} catch (ParserConfigurationException e2) {
e2.printStackTrace();
} catch (SAXException e2) {
e2.printStackTrace();
}
/* Get the XMLReader of the SAXParser we created. */
XMLReader xr = null;
try {
sp = spf.newSAXParser();
xr = sp.getXMLReader();
} catch (SAXException e1) {
e1.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
/* Create a new ContentHandler and apply it to the XML-Reader*/
ExampleHandler myExampleHandler = new ExampleHandler();
try {
sp = spf.newSAXParser();
} catch (ParserConfigurationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SAXException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
xr.setContentHandler(myExampleHandler);
/* Parse the xml-data from our URL. */
try {
xr.parse(new InputSource(url.openStream()));
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
/* Parsing has finished. */
/* Our ExampleHandler now provides the parsed data to us. */
ParsedExampleDataSet parsedExampleDataSet =
myExampleHandler.getParsedData();
System.out.println(parsedExampleDataSet.toString());
tv.setText(parsedExampleDataSet.toString());
Context context = this.getBaseContext();
// I also dont understand why inside the runnable getBaseContext() does not exist ???
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),
R.raw.nature1)
context.setWallpaper(mBitmap);
}
});
} };
// I want to retrieve ParsedExampleDataSEt here in order to use it is it Possible ????
this.setContentView(tv);
long temps=1*15*1000;
t.scheduleAtFixedRate(scanTask, 300,temps);
Pouvez-vous montrer le code? –
Montrez une partie de votre code et expliquez ce que vous utilisez sur les servlets côté serveur. ou quoi? (Servlet lui-même est le fil). Si vous mentionnez ces choses, il serait facile pour les gens de répondre :) – Paul
Utiliser un service et une diffusion – Falmarri