httppost
リクエストによるアップロードとファイルに問題があります。を持つAndroidデバイスでアプリを実行しているときに、望ましい結果が得られますapi level 10
。しかし、同じアプリをテストしているときに、Android デバイスと API レベル 17 のエミュレーターでエラーが発生します。私が直面している問題はitems.gethLenght() = 1
、API レベル 10 でアプリを実行しているときに値を取得していることですが、 APIレベル17で同じアプリを実行しているときに、items.getLenght() = 0
この問題の解決を手伝ってくださいという値を取得しています。
public void uploadFileToServer()
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url_context + "/response/responses");
try {
StringEntity entity = new StringEntity(xmlString, "UTF-8");
httppost.setEntity(entity);
httppost.addHeader("Accept", "application/xml");
httppost.addHeader("Content-Type", "application/xml");
HttpResponse response = httpclient.execute(httppost);
if (response.getStatusLine() != null){
response_data= new ArrayList<String>();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
try
{
HttpEntity r_entity = response.getEntity();
String xmlString = EntityUtils.toString(r_entity);
DocumentBuilder db = factory.newDocumentBuilder();
InputSource inStream = new InputSource();
inStream.setCharacterStream(new StringReader(xmlString));
Document doc = db.parse(inStream);
Document doc = db.parse(new InputSource(new StringReader(xmlString)));
Element root = doc.getDocumentElement();
NodeList items = root.getElementsByTagName("order");
for (int i=0;i<items.getLength();i++)
{
Node item = items.item(i);
NodeList properties = item.getChildNodes();
for (int j=0;j<properties.getLength();j++)
{
Node property = properties.item(j);
String name = property.getNodeName();
if (name.equalsIgnoreCase("name"))
{
try{
response_data.add(property.getFirstChild().getNodeValue());
response_data_data= response_data.toString();
}
catch(Exception nu)
{
nu.printStackTrace();
}
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException(e);
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch(Exception e){
e.printStackTrace();
}
}