Kotlin(7)
-
[ 안드로이드 - 코틀린 ] RecyclerView 클릭 위치를 Fragment에서 확인하기
🤷🏻♂️ 문제점 - 개발 도중 이중 리사이클려 뷰를 만들게 되었는데 (유튜브, 요기요, 배민, 네이버등에 존재하는 상단 선택바를 구현하기 위해) 지금 리사이클려 뷰에서 클릭한 위치를 알아내야되는 일이 발생하였다 일반적으로 리사이클러 뷰 이벤트를 어댑터 내에서 처리해 액티비티나 프래그먼트에서 정보를 알 수 없었다 해결 방법 - 어댑터 내에서 인터페이스를 만들어 클릭한 이밴트의 position을 외부로 보내줘 액티비티나 프래그먼트에서 확인할 수 있게 만들어줬다 -> 추가적인 해결방법으로는 xml에 Chip 위젯을 이용하면 쉽게 해결할 수 있다 😤 class TopScrollRecyclerAdapter(val dataList: Array, spinnerData: String, val context: Cont..
2023.02.09 -
[안드로이드 - 코틀린] SpeedView 라이브러리를 이용한 수치 측정 UI 만들기
마무리 후 남기는 후기 1. 이번에는 앱을 만드는 시간보다 뭘 써야될지 디자인하는데 더 오래걸린거 같다... 구글링의 중요성을 뼈저리게 느껴버렸다 2. 그리고 제발 Viewbinding 배워서 사용하자 id값이 6개인데 각각의 값들마다 6개씩 선언해야되는 값들이 있어서 노가다를 엄청했다 심지어 너무 많아서 중간중간 확인 안하면 잘못적기도... 코드 작성 환경은 Activity가 아닌 TabLayout 내에 있는 Fragment입니다 1. SpeedView 라이브러리 불러오기 라이브러리를 사용하기 위한 gradle 세팅 현재 사용한 버전입니다 implementation 'com.github.anastr:speedviewlib:1.6.0' 2. SpeedView 중 SpeedView를 이용했다 ( 다른 재밌..
2022.12.15 -
[안드로이드 - 코틀린] 안드로이드 socket 통신 - (임계치 측정 어플리케이션)
특징 : 현재 애플리케이션 기준으로 소켓 데이터는 서버에서 받아서 서버에서 앱으로 전달받는 역할을 한다 때문에 소켓을 이용해 따로 데이터를 전송하지 않고 받기만 하는 역할을 한다 시작 전에 build.gradle 쪽에 소켓 통신을 위한 빌드 파일을 불러와야 한다 // socket 통신 implementation ('io.socket:socket.io-client:2.0.0') { exclude group: 'org.json', module: 'json' } 그다음으로는 소켓을 이용하려면 서버에 클라이언트를 연결해야 된다 아래는 애플리케이션에서 필요한 클래스들이다 // onCreateView 상단에 선언 해준다 lateinit var socket_data: Array // 소켓 룸, 방에 접속하기 위한 열..
2022.11.21 -
[안드로이드 - 코틀린] RecyclerView를 이용해 itemView, adapter 이용하기 2
1편에서는 간단히 로컬에서 데이터를 직접 추가해 데이터를 출력하였다 2편에서는 로컬 데이터가 아닌 Retrofit2를 이용한 데이터 호출을 이용해 RecyclerView를 생성해 볼 것이다. 참고 ) 시작 전 기본적으로 retrofit2을 사용할 줄 알아야 쉽게 이해할 수 있다. 필수는 아님 !! 현재 가져온 코드는 페이지에 표시되는 랭킹 시스템을 위해 만들어진 코드이다 레트로핏 부분은 다 제외하고 DataList와 그 아래 RankRecyclerView만 확인하면 된다 result?.GetlLankplace(MySharedPreferences.getUserKey(mainActivity))?.enqueue(object : Callback { override fun onResponse(call: Call,..
2022.09.20 -
[안드로이드 - 코틀린] Recyclerview를 이용해 itemView, adapter 이용하기 1
일단 원하는 액티비티에 리 사이클러 뷰를 생성한다 일단 설명에 들어가기전 전체 소스 코드이다 각 부분별 설명 예정 처음 리사이클러 뷰를 사용한다면 참고용 혹은 이해용으로 사용할만하다. MainActivity class MainActivity : AppCompatActivity() { val DataList = arrayListOf( Data(R.drawable.item_layout_shape, "0"), Data(R.drawable.ic_launcher_background, "1"), Data(R.drawable.ic_launcher_foreground, "2"), Data(R.drawable.item_layout_shape, "3"), Data(R.drawable.item_layout_shape, "4..
2022.09.20 -
[안드로이드 - 코틀린] TabLayout & ViewPager & Fragment 활용하기
MainActivity xml에 있는 위젯들 선언 그리고 viewPager2 어댑터를 만들어준다 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val viewPager2 : ViewPager2 = findViewById(R.id.viewpager2) val tabLayout : TabLayout = findViewById(R.id.tabLayout) viewPager2.apply { adapter = MyPageradapter(context as FragmentActivity) } TabLayout 텝 레이아웃 이름 설정 ta..
2022.06.23