반응형
반응형
요약 : response.body()는 네트워크 오류시 null 값을 받기 때문에 response.errorBody()로 받아야 한다. onResponse 메소드의 조건문에 else에서 로그 설정 에러 로그캣에서 확인 @Override public void onResponse(Call call, Response response) { if(response.isSuccessful()) { // 200 OK, 네트워크 정상 응답시 실행 코드 작성 } else{ // 실패시 상세 오류 내용 출력 try { String body = response.errorBody().string(); Log.i("MyTest", "error - body : " + body); } catch (IOException e) { e...
목표 아래의 탭을 누르면 그에 맞는 화면으로 전환하기 activity_main.xml 기본 레이아웃 형식 변경 - RelativeLayout BottomNavigationView 위젯 추가 id - bottomNavigationView Attributes - layout_alignParentBottom (True) NavHostFragment 위젯 추가 id : fragment 추가한 NavHostFragment(id:fragment)의 속성 설정 layout_above - bottomNavigationView Fragment Package - New - Fragment - Fragment (Blank) (프래그먼트 추가) 테스트를 위한 프래그먼트 3개 추가 FirstFragment, SecondFrag..
//selectContact(); //openWebPage("https://m.naver.com"); //composeSMS("010-1234-5678", "안녕하세요", null); //composeEmail(new String[]{"beautystar0413@gmail.com"}, "HelloWorld!"); // 주소록을 여는 메소드 void selectContact() { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); if (intent.resolveActivity(getPackageManager()) != null) { startActivity(intent)..
Error DELETE Non-body HTTP method cannot contain @Body. Retrofit에서 아래와 같이 DELETE에 Body를 넣으면 에러가 출력 된다. @DELETE("/follow") Call unfollow(@Header("Authorization") String token, @Body User user); 보통은 Query로 처리해야하지만 Body로 설계된 API를 사용 할 때에는 아래와 같이 코드를 수정하면 된다. @HTTP(method = "DELETE", path = "/follow", hasBody = true) Call unfollow(@Header("Authorization") String token, @Body User user); 요약 // 선언시 @D..
Mutipart 사용 방법 MultipartBody.part : 데이터를 여러개로 쪼개어 전송하는 것 createFormData : 주로 파일 전송을 위해 사용 POST에서만 사용 가능 RequestBody : GET을 제외한 메소드는 바디를 사용하기 때문에 요청을 위한 Body 설정 파라미터(보낼 데이터, 데이터의 파일 타입) : 데이터가 텍스트인지, 이미지인지, xml 파일인지 등등을 구분 예시) RequestBody fileBody = RequestBody.create(photoFile, MediaType.parse("image/jpeg")) photoFile은 이미지 파일, MediaType.parse는 이미지 파일의 확장자를 의미 텍스트로만 구성된 경우 text/plain 을 사용 예시) Req..
Retrofit 안드로이드에서 서버와 클라이언트간 http 통신을 위한 라이브러리 Okhttp 라이브러리를 더 편히 사용하고자 만들어진 라이브러리 파이썬의 리스트를 편히 사용하고자 넘파이, 판다스가 나온 것과 비슷한 맥락 모듈 추가 build.gradle (Module) dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation("com.squareup.okhttp3:logging-interceptor:4.9.0") } 서버와의 통신을 위한 인터넷 허용 권한 설정 AndroidManifests.xml Re..