Android à l'Aide de HttpURLConnection pour publier des données XML
J'ai couru dans un peu d'un cul-de-sac et besoin d'un peu d'aide (s'il vous plaît)!
Je suis très nouveau pour Android Dev (et de codage en général). Essentiellement, j'ai besoin de valider les données XML à une URL à l'aide de HttpURLConnection, mais ne peut pas le faire fonctionner. J'ai obtenu mon app de lecture et pasrsing des données XML à partir d'une requête GET mais de trouver le POST de la partie difficile.
J'ai regardé la création d'un NameValuePair tableau mais vous ne savez pas comment faire cela avec la structure XML je suis besoin de poster.
Les données XML ressemble à ceci:
<Sheet>
<Job>jobNumber</Job>
<Task>taskNumber</Task>
<UserID>3</UserID>
<Date>systemDateFormatted</Date>
<Minutes>timeToLog</Minutes>
<Note>userNote</Note>
</Sheet>
Pour l'instant j'ai ceci pour mon code.
try {
URL url = new URL(theUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("Sheet", null));
params.add(new BasicNameValuePair("Job", jobNumber));
params.add(new BasicNameValuePair("Task", taskNumber));
params.add(new BasicNameValuePair("UserID", String.valueOf(yourUserID)));
params.add(new BasicNameValuePair("Date", systemDateFormatted));
params.add(new BasicNameValuePair("Minutes", timeElapsed));
params.add(new BasicNameValuePair("UserNote", "Test Note"));
params.add(new BasicNameValuePair("Sheet", null));
Je ne sais pas si je suis la compréhension NamedValuePair droit. Serait-il préférable de créer une chaîne pour mes données XML et l'après de cette façon, au lieu de cela?
Merci!
OriginalL'auteur Metalor | 2015-05-14
Vous devez vous connecter pour publier un commentaire.
Oui, les données POST va en charge de votre demande. Par exemple
OriginalL'auteur Volodymyr Lykhonis
Votre post semble être coupé, mais à partir de ce qui vous montrer ce que vous êtes en train de faire est de ne pas poster de XML, mais l'ajout de paramètres de requête.
Convertir XML à une chaîne codée, puis l'écrire dans le flux de sortie que vous obtenez de conn.getOutputStream().
Voici un exemple similaire: https://stackoverflow.com/a/2737455/1197251
Vous devez remplacer "requête" avec votre chaîne XML.
OriginalL'auteur dominicoder