마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

데이터전송 에러좀 봐주세요 포스트 통신입니다.

0 추천

제가 지금 post통신을 한번 해보고있는데요 문제가 있습니다

12-02 09:01:22.700 3397-3397/com.example.admin.myapplication E/AndroidRuntime: FATAL EXCEPTION: mai

   Process: com.example.admin.myapplication, PID: 3397

    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/impl/client/DefaultHttpClient;

     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.impl.client.DefaultHttpClient" on path: DexPathList[[zip file 

이런 오류가 뜨네요 ㅠㅠ 해결방법좀 알려주세요

public class MainActivity extends Activity {
    private EditText edt1, edt2, edt3;
    private Button btn1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                write();
            }
        });
    }
    private void write() {
        try {
            HttpClient client = new DefaultHttpClient();
            String postURL = "http://localhost:8080/JJUstubuilding_test/andjoin_pro.spring";
            HttpPost post = new HttpPost(postURL)
            List params = new ArrayList();
            params.add(new BasicNameValuePair("user_id", edt1.getText()
                    .toString()));
            params.add(new BasicNameValuePair("user_pw", edt2.getText()
                    .toString()));
            params.add(new BasicNameValuePair("user_name", edt3.getText()
                    .toString()));
            UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params, "euc-kr");
            post.setEntity(ent);
            HttpResponse responsePost = client.execute(post);
            HttpEntity reEntity = responsePost.getEntity();
            if (reEntity != null) {
                Log.w("RESPONSE", EntityUtils.toString(reEntity));
            }
        } catch (Exception e) {
        }
    }
}
Autobhan (640 포인트) 님이 2018년 12월 2일 질문

1개의 답변

0 추천
코드 문제는 아니고, target sdk를 28이상으로 할 때는 다음 선언을 Androidmanifes.xml > <applicaiton> 태그안에 꼭 넣어 주어야 한다고 하네요.

  <uses-library
      android:name="org.apache.http.legacy"
      android:required="false" />

출처 : https://developers.google.com/maps/documentation/android-sdk/config#specify_requirement_for_apache_http_legacy_library
디자이너정 (42,810 포인트) 님이 2018년 12월 2일 답변
...