Android(25)
-
[안드로이드 - 코틀린] MPAndroidChart 라이브러리를 이용해 Linechart 그래프 그리기 (정적)
시작 전 나와 같은 초보자들이 참고하면 좋았을 법한 사항들 작업 끝나고 후회는 점은 기간이 급박하여 시작 전 어떤 식으로 작업할지 계획을 잡지 않고 주먹구식으로 그때그때 수정하는 작업을 했다 특히 기존 블로그들에 올라와있는 작업들 대부분 데이터가 앱 내부에 존재해 로딩? 혹은 데이터를 받을 시간을 주지 않아도 되었기 때문에 그 방식 그대로 했다가 잦은 오류가 발생되었다 -> 특히 실시간 처리가 필요한 부분에 적절한 handler을 줘야 ui가 업데이트가 될 수 있다 특히 차트가 6개나 있어서 꼭 필요한 작업이었다 시간적인 여유가 있으면 handler과 어떤식으로 할지에 대한 기본적인 틀을 작성하고 시작했으면 좋겠다 그리고 제일 중요한 생명주기 공부가 필수이다 처음 시작할 때는 만만히 보고 시작했지만 생각..
2022.12.15 -
[안드로이드 - 코틀린] retrofit2 사용하기
앱으로 외부에 있는 데이터를 불러오기 위한 아주 기본적인 데이터 통신 라이브러리이다 많은 사람들이 많이 사용하고 앞으로도 많이 사용할 라이브러리이다 한 번에 이해해 잘 써보도록 하자 처음 retrofit2를 사용하면서 느낀 점은 어렵다 였다 처음으로 서버 데이터를 받아서 사용해보는 과정에 이해하지 않고 넘어가 고생한 부분과 힘들었던 부분을 풀어서 설명할 예정이다. 일단 설명하기전 기본적으로 알아야 되는 개념에 대해 알아보자 처음 나는 빠르게 통신 처리를 해야 되는 일이 있어 개념보다는 코드에 집중해 이때는 이거 저때는 이거 이런 식으로 외워서 들어가는 식으로 했다 ( + 기본적인 언어 개념도 부족했음 ) 하지만 기초적인 부분은 사용 가능해 통과할지언정 조금만 응용이 들어가는 순간 막혀 해결하는데 오래 걸..
2022.11.21 -
[안드로이드 - 코틀린] 안드로이드 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