안드로이드 자바532 [Java][Android] WorkManager로 백그라운드 작업 하기 개발에 따라 사용자와의 상호작용과 별개로 처리해야하는 작업들이 있습니다.: 예를들어 서버에서 데이터를 받아오거나, 파일을 저장하거나, 복잡한 연산이 필요한 경우 등등 여러가지 가 있습니다. 이런작업들을 화면을 그리는 메인 스레드 (UI 스레드)에서 직접 처리하면 ANR 오류 (애플리케이션이 응답하지 않습니다) 가 발생합니다. 고민을 해결하기 위해 Google에서는 Android Jetpack 라이브러리의 일부로 WorkManager를 선보였습니다. WorkManager는 백그라운드 작업을 처리할 수 있도록 합니다. 1. WorkManager란?WorkManager는 안드로이드 Jetpack 라이브러리의 핵심 구성 요소 중 하나로, 지연 가능하고(Deferrable) 실행이 보장되는(Guaranteed) .. 2025. 5. 5. [Java][Android] 데이터바인딩 활용 예시 만들기 오늘은 데이터바인딩 라이브러리를 활용해 간단한 UI 정보 변경 예시를 만들어 보겠습니다. 안드로이드 데이터 바인딩 라이브러리는 XML UI 구성요소의 데이터를 선언적 형식을 사용해 소스코드 측 데이터와 결합하여 한쪽이 데이터 변경시 나머지 한쪽의 데이터를 자동 변경시키도록 동기화 시켜주는 기능을 제공하는 라이브러리 입니다. 그래들 설정=> 모듈 수준의 build.gradle 파일 에서 android{ } 블록 내에 위 이미지와 같이 입력하여 databinding 기능을 활성화 시켜주세요. 레이아웃 xml 파일 코드(activity_main.xml) 액티비티 자바 코드public class .. 2025. 5. 2. [Java][Android] Dialog 외부 터치 시 닫히지 않게 하기 안녕하세요.오늘은 Dialog 외부 터치 시 닫히지 않게 해보도록 하겠습니다. 안드로이드의 Dialog는 기본적으로 외부를 터치하면 자동으로 닫히는 동작을 합니다.그러나 중요한 알림이나 경고 문구, 또는 사용자의 명확한 동의를 받아야 하는 안내사항의 경우, 반드시 버튼을 클릭해야 넘어가도록 구현할 필요가 있습니다.이럴 때 외부 터치로 다이얼로그가 닫히지 않게 설정하면, 보다 안전하고 명확한 사용자 경험을 제공할 수 있습니다. 우선 전체 코드입니다. activity_main.xml MainActivity.javapublic class MainActivity extends AppCompatActivity { private Button btnShowDialog; private AlertDialog cu.. 2025. 4. 29. [Java][Android] FLAG_SECURE 플래그로 스크린샷/화면 녹화 방지 안녕하세요, 오늘은 FLAG_SECURE 플래그를 사용해서 간단하게 스크린샷/화면 녹화 방지를 해보도록 하겠습니다. WindowManager.LayoutParams.FLAG_SECURE 플래그는 앱 화면이 스크린샷, 화면 녹화, 미러링 등에 노출되지 않도록 막아줍니다. 아래 예제는 안드로이드 스튜디오 에뮬레이터에서 적용되지 않으며,기기에서 테스트해야 확인할 수 있습니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private boolean isSecureEnabled = false; private Button toggleSecureButton; @Override protected void .. 2025. 4. 27. [Java][Android] livedata 활용 예시 만들기 오늘은 livedata를 활용해 액티비티가 활성화 상태일때만 livedata의 콜백이 호출되는지 확인하는 예시를 만들어 보겠습니다. 레이아웃 xml 파일 코드(activity_main.xml) 액티비티 자바 코드public class MainActivity extends AppCompatActivity { private static final String TAG = "LiveData"; //로그 필터링을 위한 값 // 정수형 값을 관찰할 수 있는 LiveData 객체 private MutableLiveData counterLiveData = new MutableLiveData(); private Handler handler = new Handler(Looper.getMai.. 2025. 4. 25. [Java][Android] Lottie 라이브러리 활용해 애니메이션 기능 구현하기 안녕하세요오늘은 Lottie 라이브러리로 애니메이션 기능을 구현해보도록 하겠습니다.Lottie는 애니메이션을 JSON 형식으로 앱에서 재생할 수 있도록 해주는 도구입니다. https://lottiefiles.com 에서 마음에 드는 .json 애니메이션 파일을 다운로드 해주시고 이름을 animation.json 으로 변경해준 뒤에,(*이름을 꼭 animation으로 할 필요는 없지만 이번 포스팅에서는 animation을 사용하겠습니다.)해당 json 파일을 res/raw/ 폴더에 저장해주시면 됩니다.(*raw 폴더가 없으면 만들어주세요.) 그리고 build.gradle.kts (Module :app) 에implementation ("com.airbnb.android:lottie:6.0.0")로티 라이브.. 2025. 4. 22. [Java][Android] 안드로이드 Java로 유튜브 검색 구현하기 안녕하세요 youtube API를 사용해서 유튜브 검색을 하는 방법을 알아보도록 하겠습니다. https://stickode.tistory.com/331 [JAVA][Android] Youtube API 사용법이번에는 유튜브 API 를 사용해보겠습니다. https://stickode.com/detail.html?no=2714 스틱코드 stickode.com 위의 포스트를 즐겨찾기 하시면 'Activity_Youtube.java' 를 입력하여, 해당 코드를 사용할 수 있습니다. 1.stickode.tistory.comAPI 발급 방법입니다. 참고하시길 바랍니다. build.gradle 파일에 다음의 depencies를 추가해주세요.implementation 'com.squareup.retrofit2:retr.. 2025. 4. 21. [Java][Android] SpannableString 와 ImageSpan으로 TextView에 아이콘 넣기 안녕하세요, 오늘은 SpannableString 와 ImageSpan을 사용하여 텍스트에 아이콘(이미지)를 삽입하는 예제를 만들어보겠습니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = findViewById(R.id.textView); // 1. 텍스트 준비 (앞에 공백 포함).. 2025. 4. 20. [Java][Android] InputFilter 사용해서 글자 수 제한하기 안녕하세요오늘은 InputFilter를 사용해서 글자수를 제한하는 방법을 알아보도록 하겠습니다. 우선 전체 코드입니다. activity_main.xml MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText editText = findViewById(R.id.editText); // 글자 수 제한: 최대 10자 InputFilter leng.. 2025. 4. 15. 이전 1 2 3 4 ··· 60 다음