2016-06-13 34 views
0

こんにちはと感謝をPHPにOutpuStreamとアンドロイドからのデータを送信しますMySQLのエラーが、何も私は、メソッドPOSTで私のPHPファイルにデータ(valeurDept)を送信しようとしているが、私は価値があると戻っていたものにチェックするとき、私のトピック</p> <p>を読み取るため

パブリッククラスDownloaderSiteはAsyncTaskを拡張していない{

Context c; 
String address; 
ListView lv; 
String valeurDept; 
ProgressDialog pd; 
public DownloaderSite(Context c, String address, ListView lv, String valeurDept) { 
    this.c = c; 
    this.address = address; 
    this.lv = lv; 
    this.valeurDept = valeurDept; 
} 
//B4 JOB STARTS 
@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 
    pd=new ProgressDialog(c); 
    pd.setTitle("Fetch Data"); 
    pd.setMessage("Fetching Data...Please wait"); 
    pd.show(); 
} 
@Override 
protected String doInBackground(Void... params) { 
    String data=downloadData(); 
    return data; 
} 
@Override 
protected void onPostExecute(String s) { 
    super.onPostExecute(s); 
    pd.dismiss();; 
    if(s != null) 
    { 
     ParserSite pSite=new ParserSite(c,s,lv); 
     pSite.execute(); 
    }else 
    { 
     Toast.makeText(c,"Impossible de télécharger les données",Toast.LENGTH_SHORT).show(); 
    } 
} 
private String downloadData() 
{ 
    //connect and get a stream 
    InputStream is=null; 
    String line =null; 
    String param= valeurDept; 

    try { 
     URL url=new URL(address); 
     HttpURLConnection con= (HttpURLConnection) url.openConnection(); 
     con.setConnectTimeout(3000); 
     con.setRequestMethod("POST"); 
     con.setDoInput(true); 
     con.setDoOutput(true); 

     if(con==null) 
     { 
      return null; 
     } 

     try 
     { 
      OutputStream os = con.getOutputStream(); 
      BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8")); 
      writer.write(param); 
      writer.flush(); 
      writer.close(); 
      os.close(); 


     } catch (IOException e) { 

      e.printStackTrace(); 
     } 


     is=new BufferedInputStream(con.getInputStream()); 
     BufferedReader br=new BufferedReader(new InputStreamReader(is)); 
     StringBuffer sb=new StringBuffer(); 
     if(br != null) { 
      while ((line=br.readLine()) != null) { 
       sb.append(line+"\n"); 
      } 
     }else { 
      return null; 
     } 
     return sb.toString(); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    }finally { 
     if(is != null) 
     { 
      try { 
       is.close(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
    } 
    return null; 
} 

}

そして、ここでは私のPHPファイルRECの私のコードです

が、私は問題が送信中であることを考える私の値eiveが、私のコードでは、作業思わ

Php code

UPDATE:私は私のOutputStreamにより送信値をチェックし、それが良い反応だ

たち"マルヌ(51)"

The pic here

、なぜ私の$ valeurDeptを得た」VEの私のPHPファイルではない - > Marne(51)

答えて

0

OutputStreamではなくDataOutPutStream(プラットフォーム独立)を使用してください。私はそれを使用しようとあなたに感謝をたくさん応答をあげる

private String downloadData() 
{ 
//connect and get a stream 
InputStream is=null; 
String line =null; 
String param= valeurDept; 

try { 
    URL url=new URL(address); 
    HttpURLConnection con= (HttpURLConnection) url.openConnection(); 
    con.setRequestMethod("POST"); 
    con.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); 
    if(con==null) 
    { 
     return null; 
    } 
    try 
    { 
     DataOutputStream dos = new DataOutputStream (connection.getOutputStream()); 
     dos.writeBytes (params); 
     dos.flush(); 
     dos.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    is=new BufferedInputStream(con.getInputStream()); 
    BufferedReader br=new BufferedReader(new InputStreamReader(is)); 
    StringBuffer sb=new StringBuffer(); 
    if(br != null) { 
     while ((line=br.readLine()) != null) { 
      sb.append(line+"\n"); 
     } 
    }else { 
     return null; 
    } 
    return sb.toString(); 
} catch (MalformedURLException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
}finally { 
    if(is != null) 
    { 
     try { 
      is.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
return null; 
} 
+0

:):

はこれを試してみてください! –

+0

私はあなたのコードを入れても、私のデータベースからの私の応答を変更していません 私はmysqlから同じエラーメッセージを持っていました、私の値 "$ valeurDept"を再調整しませんでした。私が自分の価値を直接込めて働かせているのならば、それは奇妙なことです。 –

+0

@QuentinPetitこの関数が返すもの(sb.toString()の値)を教えてください。 – Rishi

関連する問題

 関連する問題