2016-09-21 6 views
-2

ArrayListにいくつかの文字列とある整数を入れて、アンドロイドのVolleyを使ってMySQLに挿入します。これが私の配列をアンドロイドで送信する方法です。 これが正しいかどうかわかりません。Volleyを使ってmysqlにArrayListを挿入するには

@Override 
public Map<String, String> getHeaders() throws AuthFailureError { 
    Map<String, String> params = new HashMap<String, String>(); 
    params.put("Authorization", user.getApikey()); 
    return params; 
} 

@Override 
protected Map<String, String> getParams() throws AuthFailureError { 
    Map<String,String> params = new HashMap<>(); 
    for(int i=0; i<wordlist.size();i++){ 
     params.put("word_id["+i+"]",String.valueOf(wordlist.get(i).getWord_id())); 
     params.put("word["+i+"]",wordlist.get(i).getWord()); 
     params.put("translation["+i+"]",wordlist.get(i).getTranslation()); 
     params.put("english["+i+"]",wordlist.get(i).getEnglish()); 

    } 
    return params; 
} 

問題は、私はどのようにPOSTデータでPHPArrayListを取得するには考えているとどのようMySQLに自分のデータを挿入するためにそれを使用することです。 PHPの部分をどう扱うか、アンドロイド部分で正しいことをしている場合でも、私には本当に感謝しています。

あなたのPHP側

$list = $_POST["list"]; 
for($i=0;$i<count($list);$i++){ 
//do something 
} 

で次に

+0

私はhvを試してみました。具体的にはu rは –

+0

を貼り付けました。私は何も試していないので、試してみることができませんでした。どのようにあなたの負の –

+0

_iのtyは、PHPのpart_で何かを見つけることができませんでした。あなたはGoogleを使用する方法を学ぶ必要があります! –

答えて

1
@Override 
public Map<String, String> getHeaders() throws AuthFailureError { 
Map<String, String> params = new HashMap<String, String>(); 
params.put("Authorization", user.getApikey()); 
return params; 
} 

@Override 
protected Map<String, String> getParams() throws AuthFailureError { 
Map<String,String> params = new HashMap<>(); 
params.put("list",wordlist); 
return params; 
} 

EDITED

public void sendSomeToSql(){ 
    final JSONObject data = new JSONObject(); 
    JSONArray array = new JSONArray(); 
    JSONObject ok = new JSONObject(); 
    for (int i = 0; i < wordlist.size(); i++) { 
     ok.accumulate("list", wordlist.get(i)); 
    } 
    array.put(ok); 
    try { 
     data.accumulate("list", array); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
    StringRequest request = new StringRequest(Request.Method.POST, "url", new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 

     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }){ 
     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("Authorization", user.getApikey()); 
      return params; 
     } 

     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String,String> params = new HashMap<>(); 
      params.put("list", String.valueOf(data)); 
      return params; 
     } 
    }; 
} 

、これを試してみてくださいそれが動作願っています。以前、私はPHP側がアンドロイドからのデータをどのように受け入れるかについて取り上げようとしていました。

+0

それは私に鍵rを与えました。もし私があなたに正義を与えることができないなら、15の評判の下で私を黙認してください。 –

+0

問題はありません、その考えは数えま​​す:) – Meowok

+0

私はそれをチェックしました:あなたはパラメータを持つように配列を入れません –

関連する問題