2017-09-11 3 views
1

au début je dois dire que mon anglais n'est pas le meilleur alors ne me blâmez pas pour ça :). Je veux créer un Food-App pour Android-Systems qui est capable d'obtenir des informations (comme les ingrédients, la préparation) des pages Web en les téléchargeant via une asynctask et en les enregistrant dans une base de données (SQLite). J'ai appris à travailler avec le site Web basé sur JSON et à montrer les résultats (après avoir téléchargé les données) dans un ListView. Maintenant, j'ai le problème que je n'ai pas JSON en face de moi et je n'ai vraiment aucune idée de la façon dont je peux écrire un code qui extrait des informations pertinentes de HTML - Webpage. Est-ce même possible?Comment puis-je obtenir des informations pertinentes à partir d'une page Web (HTML) dans mon application Android?

Désolé si peut-être de u peut rire maintenant comment je suis ignorante, mais j'essaie d'apprendre :)

donc je sais fondamentalement beaucoup sur AsyncTask et bases de données. Mais le point est que je ne sais pas comment les relier tous à mon problème spécifique.

Merci d'avance à tous ceux qui traiteront de mon sujet!

+0

Voici un autre exemple en utilisant 'jsoup' pour obtenir des éléments de HTML - http://www.androidbegin.com/tutorial/android-basic-jsoup-tutorial/ –

+0

La raison' JSON' fonctionne mieux pour cela est parce que Si vous utilisez 'jsoup', vous devrez créer une page' html' pour chaque reçu. Quand vous utilisez 'JSON' vous pouvez utiliser un fichier pour obtenir tous les reçus/ingrédients directement depuis votre base de données, ou même entrer toutes les données (ingrédients/préparations) directement dans le fichier' JSON'. Je vous recommande de ne pas utiliser l'approche 'jsoup', ne dis pas que ce n'est pas possible ... –

Répondre

0

Essayez de travailler avec jsoup. Here vous pouvez trouver la bibliothèque jsoup et le code source complet.

Voir un exemple sur ce site: http://www.vogella.com/tutorials/jsoup/article.html


Ajouter jsoup à votre projet en ajoutant cette ligne à votre application build.gradle:

compile 'org.jsoup:jsoup:1.10.3' 
0

HTML est une présentation basée sur XML des pages.

Vous pouvez l'analyser avec DOM, s'il y a des balises répétées que vous pouvez trouver plus faciles à analyser avec SAX. Mais vous aurez besoin d'analyser toutes les informations sur le site et naviguer à travers le graphique pour extraire ce que vous voulez.