본문 바로가기

Developer/Android, Java18

[안드로이드] 지하철 역 클릭 시 이벤트 구현하기 2편 오랜만에 포스팅입니다. 지하철 역 클릭 시 이벤트 구현하기 1편은 여기에서 보실 수 있습니다. https://hyongdoc.tistory.com/170 [안드로이드] 지하철 역 클릭 시 이벤트 구현하기 1편 대중교통을 이용하는 사람이라면 누구나 사용하는 지하철 앱. 지하철 앱을 사용하다보면, 지하철 노선도에서 각 역을 클릭하여 출발지 지정을 하는 것을 볼 수 있는데, 이번 포스팅에서는 바로 그 기능을 다루는.. hyongdoc.tistory.com 지하철역이 정말 많습니다. 이 기능을 이용해 앱을 제작할 때 일일이 노가다로 100개가 넘는 지하철 역을 모두 입력했는데요. 정~말 개고생에 개노가다라는 점 미리 말씀드립니다.. 아무튼, sql파일로 데이터들이 다 저장되었다고 했을 때 이를 안드로이드에서 읽.. 2019. 12. 2.
[안드로이드] Fragment 로 데이터 전달하기 이번 포스팅에서는 Fragment로 데이터를 전달하는 방법에 대해 알아보겠습니다. 보통 일반적인 클래스의 경우, Constructor을 통해서 사용자가 지정하는 데이터를 전달할 수 있습니다. 그러나 프래그먼트의 경우, 디폴트 생성자를 사용자 임의대로 변경할 수가 없기 때문에, Bundle을 이용하여 데이터를 전달합니다. 필자의 경우, viewPager을 통해 프래그먼트를 생성하고, 해당 프래그먼트로 string값 한 개를 전달하는 코드를 작성했습니다. ViewPagerActivity 12FragmentReceiver fReceiver = FragmentReceiver.shareMyString(mystring);adapter.addFragment(fReceiver);Colored by Color Scrip.. 2019. 5. 23.
[안드로이드] Retrofit에 Header 추가하여 요청하기 Retrofit을 통해 서버와 통신을 할 때, 유저 인증 토큰이 필요한 경우가 있습니다. 예를들어 로그인을 해야지만 페이지를 볼 수 있는 화면이 있다고 할때, Retrofit에 Header를 추가하여 인증받는 방법에 대해 알아보겠습니다. 서버에서 헤더를 인식하게 해놨을 때, 앱에서 해야할 일은 단순히 Retrofit 에 헤더를 추가하여 요청을 보내는 것입니다. 저는 아래와 같이 Retrofit 클래스를 하나 만들었고, 클래스 생성 시 authToken String값을 받게 해놨습니다. 헤더 보내는 구간의 key, value 값에 맞춰서 적절히 설정만 해주시면 됩니다. 12345678910111213141516171819202122232425262728293031323334public class Retro.. 2019. 5. 23.
[안드로이드] View 터치 시 터치 이벤트 구현하기 앱 레이아웃을 꾸미다보면, 각종 뷰에 터치 이벤트를 구현해야할 때가 있습니다. 대표적으로 버튼 역할을 하는 뷰일 경우, 사용자가 터치했을 때 모션이 있으면, 사용자가 클릭했다라는 점을 인지시킬 수 있습니다. 자바 코드로 짤 필요도 없이, 아래 3줄만 각 뷰의 xml파일에 넣어주시면 됩니다. (Button, LinearLayout, TextView 등 대부분의 뷰에 적용가능합니다.) 123android:clickable="true"android:focusable="true"android:foreground ="?android:attr/selectableItemBackground"cs 2019. 5. 22.
[안드로이드] ArrayList<Object> 인텐트 넘기는 방법 액티비티 간 데이터를 주고 받을 때 Intent를 많이 사용하는데, 방식은 아래와 같습니다. SenderActivity.java 123Intent intent = new Intent(this, ReceiverActivity.class);intent.putExtra("string", string);startActivity(intent);Colored by Color Scriptercs ReceiverActivity.java 12Intent intent = getIntent();String receivedString = intent.getExtras.getString("string")cs 보내는 액티비티에서는 변수 타입 구분 없이 putExtra로 key, value값으로 보낼 수 있으나, 받는 액티비티에서.. 2019. 5. 22.
[안드로이드] ScrollView 안에 RecyclerView 을 넣을 수 있나요? 보통 레이아웃을 구성할 때 ScrollView 안에 RecyclerView를 넣고 싶을 때가 있습니다. 어떤 상황에서일까요? 흔한 예로, 게시글을 생각해보시면 됩니다. 하나의 게시글 밑으로 많은 댓글이 달리겠죠? 아래 2가지 경우에 대해 생각해보겠습니다. RecyclerView 만 사용했을 때 ScrollView 안에 모든 뷰(RecylcerView 포함)를 넣었을 때 먼저 첫번째 경우는, 댓글 부분만 스크롤이 됩니다. 즉, 게시글은 뷰의 특정 비율만큼 차지하고 있고, 스크롤을 내리면 댓글 부분만 위아래로 왔다갔다하는 셈입니다. 두번째의 경우, 게시글과 댓글이 한몸처럼 움직이기 때문에, 스크롤을 내리면 게시글은 안보이고 댓글로만 가득찬 화면이 나타나겠죠. 두번째 방식으로 사용하는 경우가 굉장히 많은데요... 2019. 5. 22.