android(42)
-
한 번의 글로는 이해가 안 가는 안드로이드 테스트 ( 유닛 테스트 & 계측 테스트 )
이번에는 유닛 테스트에 대해 알아보는 시간을 가져보겠습니다. Q. 단위 테스트가 무엇인가요?? 유닛 테스트는 소프트웨어 개발에서 개별적인 코드 조각 또는 모듈의 기능을 테스트하는 것입니다. 유닛 테스트는 작은 단위의 코드 조각을 테스트하기 때문에 "단위 테스트"라고도 불립니다. 안드로이드 기준으로 설명을 드릴게요. 코드를 하나 보실까요??? @Test fun `viewModel이 시작되면, 모든 노트들을 불러옴`() = runTest { viewModel.getAllNotes() assertEquals(notesTest, viewModel.state.value.notes.sortedBy { it.id }) } 위의 코드는 적혀있는 그대로 getAllNotes()를 확인하기 위해 작성한 함수입니다. 상황에..
2023.04.21 -
android Socket IO Random Chat - Repository, Api Image Send
1. Repository interface Repository { suspend fun uploadImage(imageUri: String, roomName: String, nickname: String, onResult: (Throwable?)->Unit) } 먼저, 레포지토리 구현을 위한 인터페이스를 만듭니다. 이름은 원하는 이름으로 만들어줍니다. 레포지토리 안에 이미지 업로드하는 함수 uploadImage를 만들겠습니다. Repository Implementation을 하기 전 Data 패키지에 Retrofit2 API 인터페이스를 추가하겠습니다. 1. 1 의존성 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.s..
2022.12.01 -
android Socket IO Random Chat - 전체 구성
1. 전체 패키지 구성 2. data 3. Domain 4. Presentation 4. Util
2022.12.01 -
android Socket IO Random Chat - nickname
닉네임 화면 compose로 ui를 구성하는 건 생략하려고 합니다. ( 혹시 궁금하시면 한번 글 작성해보겠습니다. 댓글로 남겨주시면 감사하겠습니다. ) 각자 원하는 스타일이 다를 수 있기 때문에 그거에 맞춰서 만들어 주시면 됩니다. 간단하게 그냥 텍스트에 버튼 달고 log로 확인하셔도 무방합니다. 자! 이제 어떻게 연결하고, 사용하는지 그 과정을 소개하도록 하겠습니다. 대략적인 과정은 이렇습니다. 닉네임 만들고 -> emit 으로 전송 -> 소켓에서 닉네임 체크 -> 중복 결과 안드로이드로 전송 -> 화면에 결과 알려줌 1. Viewmodel 위의 화면을 mainScreen라 부르겠습니다. 먼저 socket을 만들어야겠죠? viewmodel 에 하나 만들어줍니다. 참고로 저는 최대한 ..
2022.11.28 -
android Socket IO Random Chat - Object Socket
1. build.gradle socket.io dependency 추가 implementation('io.socket:socket.io-client:1.0.1') { exclude group: 'org.json', module: 'json' } 2. Socket.Io Controller 추가 - object로 싱글톤 구현 - SnackBarManager로 오류 시에 앱을 다시 실행해달라 스낵바 메시지 출력 ( SnackBarManager는 내장된 라이브러리가 아닙니다. 저 자리에 log를 찍으셔서 확인 하시면 됩니다. ) - uriDevice는 안드로이드 스튜디오에서 Virtual Device와 Socket.IO 통신을 가능하게 합니다. - 실물 기계에서..
2022.11.26 -
android Socket IO Random Chat - Socket IO 연결 과정
Socket IO 통신 연결을 알아보자!! 소켓 IO가 무엇인지 이런 거는 생략하고 안드로이드에서 어떻게 사용하는지 이번 시간에는 연결 방법을 알려드립니다. 먼저 서버용 Node js 를 위해 Visual Code도 필요함을 말씀드립니다! node js 에서도 socket io 모듈이라는 걸 다운로드할 겁니다. 그때 받은 버전에 따라 안드로이드 버전도 맞아야합니다. 이 글을 보고 하실 분들은 저와 같이 맞춰주시면 되겠습니다 이제 visual code 가 있으신 분들은 스킵하시고 없으신 분들은 아래의 링크에서 다운로드하시면 됩니다. https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is ..
2022.11.26