안드로이드 스튜디오 에서는 아래와 같이 작성 합니다.

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});
        }
      });
    }
  });
});


서두 없이 작성해서 죄송합니다. 자세한 내용 원하시면 답변 부탁 드립니다.


+ Recent posts