2017-05-04 1 views
1

내 응용 프로그램에서 POST 일부 데이터가 필요하며이 데이터는 서버에 사용자를 가져옵니다. 서버 요청의 경우 나는 Retrofit2을 사용합니다.
POST를 들어이 데이터는 나는 이와 같은 json 형식으로 POST한다 :이 결과 확인에 대한 데이터를 확인 RO를하지 않은 제출해야어떻게 안드로이드에서 POST json 데이터를 할 수 있습니까?

{ 
    "email": "[email protected]", 
    "username": "example", 
    "password": "123", 
} 

데이터 POST후.

{ "status": 200, "Message": "", "data": true } 

I 사용자의 EditText와 이메일, 사용자 이름 및 암호를 제공하지만, 어떻게 Json 형식으로 서버에
이 데이터를 POST 수 있습니까?

제발 도와주세요, 나는 아마추어와 나는 정말이 도움이 여기에

+0

이것은 아마도 당신이 찾고있는 것입니다 : http : // stackoverflow.co.kr/questions/21398598/how-to-post-raw-json-in-a-retrofit-request –

+2

[Retrofit 요청의 본문에 전체 JSON을 POST하는 방법은 가능한가? ] (http://stackoverflow.com/questions/21398598/how-to-post-raw-whole-json-in-the-body-of-a-retrofit-request) –

답변

2

https://developer.android.com/training/volley/index.html, 상품,

public class LoginResponse { 
private Integer status; 
private String Message; 
private Boolean data; 

//getters and setters 
} 

마지막으로, 당신의 응답을위한 클래스를 생성,

public class LoginRequest { 
private String email; 
private String username; 
private String password; 

//getters and setters 
} 

둘째, 예를 들어, 귀하의 요청에 대한 LoginResponse.java을 LoginRequest.java을하는 클래스를 만들려면 인터페이스이 방법을 추가하십시오 :

public interface MiApiInterface { 
    @POST("yourResourceName") Call<LoginResponse> login(@Body LoginRequest request); 
} 

희망이 당신을 도울 수 Logged 더 질문이 있으시면 저에게 물어보십시오.

는 로그인 메소드의 반환은 당신이 당신의 활동이처럼 사용할 수하는 비동기 호출을위한, 통화 것을 깨달았다있다 : 첫째

개조 인스턴스를 생성

Retrofit retrofit = .... 

둘째,이처럼 인터페이스의 인스턴스를 생성 :

MiApiInterface apiInterface = retrofit.create(MiApiInterface.class); 

을 마지막으로 로그인 방법에 액세스 할 수 있습니다 :

LoginRequest request = new LoginRequest(); 
    request.set(); 
    .... 

    Call<LoginResponse> responseCall = apiInterface.login(request); 

    responseCall.enqueue(new Callback<LoginResponse>() { 
public void onResponse(...){ 
LoginResponse loginResponse = response.body(); 
} 

public void onFailure(...){ 
} 
    } 

0 당신이 당신의 개조 빌더에 컨버터 공장을 추가해야합니다, 자동으로 JSON으로 객체를 변환하려면

Gson gson = new GsonBuilder().create(); 

Retrofit.Builder() 
       .baseUrl(baseUrl) 
       .addConverterFactory(GsonConverterFactory.create(gson)) 
... 

가져 오기 당신의 Gradle을에 GSON 라이브러리를 잊지 말아.

+0

고마워, 나는이 수업을 만듭니다. 어떻게 MainActivity에서이 데이터를 POST 할 수 있습니까? 어떻게이 데이터를 갱신에 대한 응답으로 게시 할 수 있습니까? –

+0

제발 저를 도와주세요. 정말 필요해. 나는 아마추어 다 : ( –

+0

나는 더 많은 단계를 더했다 : D – jmarkstar

0

필요가 개조 2에 튜토리얼 : 또는 http://www.vogella.com/tutorials/Retrofit/article.html

, 당신이 발리를 사용할 수 있습니다, 그것은 specificaly HTTP 수 있도록 설계 라이브러리입니다 Android에서 요청합니다. 첫째

+0

나는 개장을 원한다. 너 나 좀 도와 줄 수있어? –

+0

문서가 매우 일반적입니다. 위의 데이터를 제 코드로 보낼 수 있습니까? 제발 제 친구 들아, 정말 필요해. 제발, –

관련 문제