안드로이드 스튜디오 에서는 아래와 같이 작성 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | // 먼저 volley 를 import 합니다. import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; // NODE 서버로 보내기 (보내는 함수 안에 아래 사용) // node 서버에 보낼 값 Json 형태로 만들기 JSONObject requestJsonObject = new JSONObject(); try { requestJsonObject.put( "seq" , seq); } catch (JSONException e) { e.printStackTrace(); } // 2. RequestQueue 선언 RequestQueue requestQueue = VolleyNetwork.getInstance(this).getRequestQueue(); // 3. node 서버 IP와 받을 경로 수정 (http://192.168.20.123:3000/post) 하고, JsonObjectRequest R_Object = new JsonObjectRequest(Request.Method.POST, "http://192.168.20.123:3000/receiv" , requestJsonObject, new Response.Listener<jsonobject>() { @Override public void onResponse(JSONObject response) { JSONArray J_JsonArray = new JSONArray(); try { J_JsonArray = response.getJSONArray( "results" ); JSONObject dataObj = J_JsonArray.getJSONObject(0); EditText etId = (EditText) findViewById(R.id.etId); EditText etName = (EditText) findViewById(R.id.etName); etId.setText(dataObj.getString( "id" )); etName.setText(dataObj.getString( "name" )); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(context, "네트워크 연결 오류." , Toast.LENGTH_SHORT).show(); Log.i( "VolleyError" , "Volley Error in receiv" ); } }); requestQueue.add(R_Object); // NODE 서버에서 받기 해당 함수 안에 아래 사용 // 값 가져오기 EditText etId = (EditText) findViewById(R.id.etId); EditText etName = (EditText) findViewById(R.id.etName); // 값 세팅 Id = String.valueOf(etId. getText ()); Name = String.valueOf(etName. getText ()); // Json 형태로 만들기 JSONObject requestJsonObject = new JSONObject(); try { requestJsonObject.put( "Id" , Id); requestJsonObject.put( "Name" , Name); } catch (JSONException e) { e.printStackTrace(); } final Context context = this; // volleynetwork 선언 RequestQueue requestQueue = VolleyNetwork.getInstance(this).getRequestQueue(); JsonObjectRequest S_Object = new JsonObjectRequest(Request.Method.POST, "http://192.168.20.123:3000/send" , requestJsonObject, new Response.Listener<jsonobject>() { @Override public void onResponse(JSONObject response) { // 받아올 값이 없으므로 빈란 } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(context, "네트워크 연결 오류." , Toast.LENGTH_SHORT).show(); Log.i( "VolleyError" , "Volley Error in send" ); } }); // 실행 requestQueue.add(S_Object); </jsonobject></jsonobject> |
위에서 넘긴 값을 Node 서버에서 아래와 같이 처리 합니다.(receiv 의 경우)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | // index.js server.post( '/receiv' , function(req, res) { // receiv 에서 넘긴 seq 값 변수로 담기 var id = req.body.seq; var sql = 'SELECT a.id, a.name FROM table as a where a.seq = ' +seq; dbPool.getConnection(function(err, dbConnection) { if (err){ dbConnection.release(); console.log( 'ERROR: CANNOT CONNECT Mysql' ); console.log(err); response.status( 500 ).send( 'Internal Server Error' ); } else { dbConnection.query(sqlgetMemList, function(err, result, fields) { if (err) { dbConnection.release(); console.log( 'ERROR: CANNOT QUERY Mysql' ); console.log(err); res.status( 500 ).send( 'Internal Server Error' ); } else { dbConnection.release(); res.setHeader( 'Content-Type' , 'application/json; charset=utf-8' ); res.status( 200 ); res.json({ "results" : result}); } }); } }); }); |
서두 없이 작성해서 죄송합니다. 자세한 내용 원하시면 답변 부탁 드립니다.