본문 바로가기

Android52

[Android] Socket 통신 예제 시작 Android 앱에서 네트워크 통신을 하기 위해 Socket을 이용한 통신 방법이 있다. 이 게시물에서는 Socket 통신의 예제만 정리할 예정이며 따로 개념을 설명하진 않을 것이다. Socket 통신 예제 시나리오는 다음과 같다. 입력된 텍스트를 서버에 전송 서버에서 결과 텍스트를 받아 텍스트로 출력 권한 추가 AndroidManifest.xml에 인터넷 권한을 먼저 추가 한다. Layout 구현 기능 구현 버튼 클릭 시 입력된 텍스트를 서버로 전송하고 결과 텍스트를 다시 리턴 받도록 구현했다. public class MainActivity extends AppCompatActivity { private static final String TAG = "SocketTest"; private stat.. 2023. 12. 5.
[Android] Fragment 간 이동 시 애니메이션 넣기 Fragment 이동 시 애니메이션 넣기구현하려는 시나리오메인 Fragment는 그대로 있고 새로 들어올 검색 Fragment만 올라오고 내려가는 방식의 애니메이션을 구현하려고 한다.  애니메이션 xml 구현anim_slide_up.xml 위로 올라가는 애니메이션 anim_slide_down.xml 아래로 내려가는 애니메이션 anim_no.xml 화면을 움직이지 않게 할 애니메이션. 여기서 duration을 같게 해주지 않으면 제대로 애니메이션이 동작하지 않는 경우를 발견했기 때문에 웬만하면 같은 시간으로 맞춰주자.  Layout 구현 툴바를 두고 아래 FragmentContainerView를 구현해 준다.  class.. 2023. 11. 30.
[Android] Worker를 이용해 파일 저장하기 시작 기존에는 Thread를 이용해 파일을 저장하도록 했는데, 이 방법 보다는 Worker를 이용해 앱이 종료되더라도 파일 저장이 될 수 있도록 Worker를 사용해 코드를 수정했다. WorkerManager로 작업 요청하기 fun saveFiles(context: Context, slideshowModel: SlideshowModel): LiveData { // 1 WorkerManager를 생성 val workManager = WorkManager.getInstance(context) // 2 저장할 파일들의 Uri와 Name을 갖고 있을 ArrayList를 각 각 초기화 val saveInputDataMediaUris = ArrayList() val saveInputDataMediaNames = A.. 2023. 10. 31.
[Android] 바이트 관련 데이터를 형식에 맞춰 보여주기(파일 크기, 비트 전송률, 샘플링 주파수) 시작 아래 화면처럼 파일 크기, 비트 전송률, 샘플링 주파수를 사용자가 보기 좋게 형식에 맞춰 보여줘야 하는 작업을 하게 되었다. 공통적으로 구현되어야 할 부분과 다르게 구현할 부분만 조금 나눠주면 깔끔하게 구현할 수 있을 것 같다. 다른 부분 상황에 따라 1kb의 크기가 다르다. 파일, 비트 전송률, 샘플링 주파수 모두 1000b를 1kb로 계산할 것이지만 1024b로 계산하는 경우도 존재하니 다른 앱에서 재 사용할 경우를 생각해 구분할 수 있도록 구현할 예정이다. 보여줘야 할 단위가 각 각 다르다. 파일은 "TB", "GB", "MB", "KB", "B”, 비트 전송률은 "Tbps", "Gbps", "Mbps", "kbps", "bps” 샘플링 주파수는 "THz", "GHz", "MHz", "kHz".. 2023. 10. 26.