컴퓨터 지식 네트워크 - 컴퓨터 지식 - 안드로이드에서 발리를 사용하여 json을 서버로 보내는 방법

안드로이드에서 발리를 사용하여 json을 서버로 보내는 방법

1. ?공식 홈페이지에서 android SDK를 다운로드하세요. (저는 eclipse를 사용합니다.)

2. ?새 Android 프로젝트 만들기:

File->new->andriod Application project

3. 첫 번째 mainActivity를 만들기 위해 다음을 클릭합니다.

4. 서버 터미널에서는 ssh로 구축된 서버 측을 사용합니다. 이 서버는 프론트 데스크에서 게시물을 수락하거나 요청을 받은 다음 json 데이터를 반환할 수 있습니다(이 예에서는 주로 안드로이드에서 게시물을 보내고 요청을 받는 방법을 보여줍니다)

6. 아래에는 웹을 로컬로 작성하는 것과 다른 몇 가지 주요 단계가 있습니다:

A: 안드로이드 측의 URL은 서버 측의 IP로 작성되어야 합니다:

다음과 같습니다:

String url = ".example.xiaoyuantong;

import java.util.HashMap;

import java.util.Iterator;

import org.json .JSONException;

import org.json.JSONObject;

import android.app.Activity;

import android.os.Bundle;

android.util.Log 가져오기;

android.widget.TextView 가져오기

com.android.volley.Request;

import com.android .volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.VolleyError

p>

import com.android.volley .toolbox.JsonObjectRequest;

import com.android.volley.toolbox.Volley;

/** * 데모 */

공용 클래스 MainActivity 확장 활동 {

private RequestQueue requestQueue

@Override

protected void onCreate(Bundle saveInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}

private void init() {

TextView textView = (TextView)findViewById(R.id.textView);

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hello")

}

private void getJson(){

String url = ".example.xiaoyuantong;

java.util.HashMap 가져오기;

java.util.Map 가져오기;

org.json.JSONException 가져오기 ;

org.json.JSONObject 가져오기;

com.android.volley.Request 가져오기;

com.android.volley.RequestQueue 가져오기;

com.android.volley.Response 가져오기;

com.android.volley.VolleyError 가져오기;

com.android.volley.toolbox.JsonObjectRequest 가져오기;

import com.android.volley.toolbox.Volley;

android.os.Bundle 가져오기;

android.app.Activity 가져오기;

import android.util.Log;

import android.view.Menu;

import android.widget.TextView

public class PostActivity는 Activity를 확장합니다.

import android.widget.TextView;

p>

private RequestQueue requestQueue ;

@Override

protected void onCreate(Bundle saveInstanceState ) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_post); init ();

}

@Override

public boolean onCreateOptionsMenu( Menu menu) { // 메뉴를 확장합니다. 항목이 있으면 작업 표시줄에 추가합니다. getMenuInflater().inflate(R.menu.post, menu);

}

private void init() {

TextView textView = (TextView)findViewById(R.id.postView);

requestQueue = Volley.newRequestQueue(this);

getJson();

textView.setText("hellopost")

}

private void getJson(){

문자열 url = "http://192.168.20.1:8080/xiaoyuantong /userAction!reg.action" JsonObjectRequest jsonObjectRequest;

JSONObject() ; try { jsonObject.put("name", "张三"); jsonObject.put("sex", "女") } catch (JSONException e1) { // TODO 자동 생성된 catch 블록 e1. printStackTrace(); }

//프런트 데스크에서 제출할 게시물 데이터를 배경에 인쇄합니다.

Log.e("post",jsonObject.toString());

//게시 요청 보내기 try{

jsonObjectRequest = new JsonObjectRequest(

Request.Method.POST, url, jsonObject,

new Response.Listener< JSONObject>() {

@Override

public void onResponse(JSONObject response) {

//다음에 얻은 json 데이터를 인쇄합니다. 요청

Log.e("bbb", response.toString())

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError arg0) {

// System.out.println("죄송합니다,Error");

Log.e("aaa ", arg0.toString());

}

});

requestQueue.add(jsonObjectRequest) } catch( 예외 e) { e. printStackTrace(); System.out.println(e + "") } requestQueue.start(); p>8. android에서는 logcat에서 인쇄 요청을 볼 수 있습니다.

(빨간색은 백그라운드에서 요청한 데이터를 나타냅니다.)

때때로 logcat이 데이터를 표시하지 못하는 경우가 있습니다. 어쩌면 메시지가 필터링되었을 수도 있습니다. 왼쪽의 "빼기 기호"를 클릭하여 필터를 삭제할 수 있습니다.

서버 측, 즉 myeclipse가 생성한 다른 백그라운드 프로젝트에서 요청을 얻을 수 있습니다. :

9. 후속 작업은 json 데이터의 구문 분석 부분과 모바일 클라우드로의 전환을 보완하기 위해 c/s 모드의 간단한 http 기반 요청 응답 예입니다.

上篇: Hdmi 와 DP 중 어느 것이 좋습니까? 下篇: IBM 노트북의 PN 번호는 무엇입니까?
관련 내용