본문 바로가기

Android5

[Android] Retrofit2 연결 오류 해결 - java.net.UnknownServiceException, java.net.SocketTimeoutException 프로젝트를 하면서 외부 DB를 사용하게 되었다. Retrofit을 이용하여 진행하게 되었는데, Google에서 제공한 test URL에서는 잘 작동했는데 백엔드 개발자 친구가 준 URL에서는 여러 오류들을 만나게 되었다. 우선 해당 URL은 아직 로컬 서버인 상태였다! java.net.UnknownServiceException java.net.UnknownServiceException: CLEARTEXT communication to ~ not permitted by network security policy 발생 원인 : http 서버 호출 시 발생하는 에러인데, 안드로이드 9.0 부터는 보안상의 문제로 http 관련 호출을 차단한다. 해결 방법 2 : https로 호출하기 (권장 사항) - 근본적인 .. 2021. 10. 25.
[Android/Jetpack] Recyclerview Adpater 대신 ListAdapter 적용하기 Room + LiveData를 이용한 MVVM 패턴 실습을 진행하던 중, RecyclerView의 Adapter에 ListAdapter를 적용하는 예제를 참고하게 되어 보다 자세히 알아보기 위해 포스팅 하게 되었습니다! ListAdpater는 구글 I/O 2018 Android Jetpack: what’s new in Android Support Library 세션에서 언급된 RecyclerView의 새로운 기능으로 소개되었습니다. 지금까지 그냥 Adapter를 사용하고 있었는데 너무 늦게 효율적인 방법을 찾은 것 같네요😓 기존 Adapter RecyclerView에서 Adapter가 하는 일은 ViewHolder 객체 생성 해당 객체에 데이터 리스트를 주입 데이터 리스트의 변경을 UI에 반영 → not.. 2021. 9. 27.
[Android] Text 부분 bold, color 커스텀 with Span 오늘의 포스팅 주제는 텍스트 부분 커스텀입니다! 지금 진행 중인 인스타그램 클론 프로젝트에서 댓글 화면을 만들고 있었고, 작성된 댓글이 나타나는 부분을 실제 인스타그램처럼 UI를 만들고 싶었습니다. 그러기 위해서는 댓글 작성자의 id와 댓글이 같이 나타나야 하고, 댓글 내용이 줄을 넘어가도 그 넘어간 줄의 시작점이 작성자의 id 바로 아래에 오게 위치하고 싶었습니다. 😕 하지만 인스타그램 UI에서는 작성자의 id는 bold 처리되어 있는데 어떻게 2개의 텍스트를 이어지게 만들 수 있을까?라는 고민.. 💡 id와 댓글내용을 하나의 TextView에 넣고, span을 사용하여 부분적으로 id만 bold 처리를 하자! Span 스팬은 강력한 마크업 객체로 문자나 단락 수준에서 텍스트 스타일을 지정하는 데 사용.. 2021. 8. 31.
[Android] 레이아웃 인플레이션 (layout inflation) 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. 레이아웃 인플레이션 안드로이드 앱을 개발할 때, 우리는 2가지 파일에 나누어서 개발함. 화면 배치를 알려주는 XML 레이아웃 파일 화면의 기능을 담당하는 소스 코드 파일 코드를 2개의 파일로 분리하는 이유는 용도에 따른 코드 분리로 관리가 수월해지기 때문임 그렇다면 이 2개의 파일은 어떻게 연결되는 것인가? setContentView() 메서드 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCont.. 2021. 5. 18.
[Android] 레이아웃 : ConstraintLayout, LinearLayout, RelativeLayout 모든 내용은 Do it! 안드로이드 앱 프로그래밍을 바탕으로 정리한 것입니다. ConstraintLayout : 제약조건 기반 모델 [ 제약 조건(Constraint) ] View가 레이아웃 안의 다른 요소와 어떻게 연결되는지 알려주는 것으로, 뷰의 연결점(Anchor Point)과 대상(Target)을 연결함 연결점은 핸들(Side Constraint Handle)이라고도 부름 버튼 왼쪽을 부모 레이아웃과 연결하는 경우, 부모 레이아웃이 Target이 되어 연결점과 연결됨 버튼이 레이아웃 안에서 어디에 위치하고 있는지 결정하려면 적어도 왼쪽과 위쪽이 연결되어 있어야 함 타깃(Target)이 될 수 있는 것들은 같은 부모 레이아웃 안에 들어있는 다른 View의 연결점 부모 레이아웃의 연결점 가이드라인(G.. 2021. 5. 14.
728x90