본문 바로가기

안드로이드 자바511

[JAVA][Android] 앱 내에서 배터리 상태 나타내기 안녕하세요이번주는 앱 내부에서 배터리 상태(충전 여부 및 배터리 잔량)를 실시간으로 확인하는것을 구현해보겠습니다. 우선 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private TextView batteryStatusTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); batteryStatusTextView = findViewById(R.id.batteryStatusText.. 2025. 2. 20.
[JAVA][Android] 터치 이벤트로 생성한 커스텀 View를 WebView에 출력하기 안녕하세요 오늘은 커스텀 View 와 WebView 를 활용한 예제를 만들어보겠습니다 커스텀 View 에 사용자가 그림을 그리면, 이를 WebView에 띄워보도록 하겠습니다     전체 코드 입니다.  1. MainActivity.java  먼저 커스텀 Drawing View 에서 그림을 그리고 이를 캐시 디렉터리에 저장합니다. file 경로로 변환한 뒤에 intent 를 활용해 파일의 경로를 WebViewActivity 에 넘겨줍니다. public class MainActivity extends AppCompatActivity { private DrawingView drawingView; private Button btnSaveAndOpen; @Override protected v.. 2025. 2. 19.
[JAVA][Android] CollapsingToolbarLayout 상단바 확장될 때만 클릭할 수 있는 버튼 만들기 안녕하세요,  오늘은  CollapsingToolbarLayout  상단바 확장될 때만 클릭할 수 있는 버튼을 만들어 보도록 하겠습니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private AppBarLayout appBarLayout; private ImageView headerImage; private CollapsingToolbarLayout collapsingToolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo.. 2025. 2. 16.
[JAVA][Android] CollapsingToolbarLayout 상단바 확장/축소에 따라 상태바 색상 변경하기 안녕하세요,  오늘은  CollapsingToolbarLayout  상단바 확장/축소에 따라 상태바 색상 변경하는 예제를 만들어 보도록 하겠습니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private AppBarLayout appBarLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // AppBarLayout 상태 감지 appBarLayou.. 2025. 2. 16.
[Java][Android] 터치 이벤트 좌표 추적하기 안녕하세요오늘은 안드로이드에서 터치 이벤트 좌표를 추적하여 표시하고, 그리는 기능을 구현해보도록 하겠습니다. 우선 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}  TouchTrackingView.javapublic class TouchTrackingView extends View { private Paint paint; privat.. 2025. 2. 13.
[JAVA][Android] RecyclerView에서 스와이프로 항목 삭제 (Undo 기능 포함) 시연 영상   1. 스와이프 삭제 기능이 왜 필요할까요?1) 사용자 경험(UX) 향상앱에서 불필요한 항목을 삭제할 때 버튼을 따로 누르기보다 자연스럽게 스와이프하여 삭제하는 방식이 더 직관적입니다.✔️ 터치 기반 UI에서 스와이프는 손가락 하나로 쉽게 조작할 수 있어 사용자의 피로도를 줄일 수 있음✔️ 삭제 버튼을 찾을 필요 없이 바로 제거 가능하여 더 빠른 작업 처리 가능 2) 화면 공간 절약✔️ 보통 삭제 버튼이 각 항목마다 따로 배치되면 리스트가 복잡해 보일 수 있음✔️ 스와이프 동작만으로 삭제 가능하면 UI가 더 깔끔해지고 화면 공간을 더 효율적으로 사용 가능 3) 삭제 후 복구 (Undo) 가능✔️ 실수로 항목을 삭제했을 경우 스낵바(Snackbar)에서 '실행 취소' 버튼을 눌러 복구 가능 2.. 2025. 2. 10.
[Java][Android] EditText 포커스 해제 시 키보드 숨기기 안녕하세요안드로이드 개발을 할때 EditText에 포커스를 두면 키보드가 나타나게 됩니다.그리고 이 키보드를 숨기려면 기본적으로 일일히 키보드 숨김 버튼을 눌러야 하게끔 되어있습니다. 하지만 사용성 측면에서 키보드 밖 화면을 터치했을 때 키보드가 사라지게끔 하는 기능을 추가하는것이 좋습니다.오늘은 이 기능을 구현해보도록 하겠습니다. 우선 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay.. 2025. 2. 6.
[Java][Android] 현재 앱의 버전 정보 표시하기 안녕하세요 오늘은 앱의 버전 정보를 표시하는 방법에 대해서 알아보도록 하겠습니다.안드로이드 앱 개발을 하다 보면 사용자에게 현재 앱의 버전 정보를 표시해야 할 때가 많습니다. 예를 들어, 앱의 설정 화면이나 앱 정보 화면에 현재 앱 버전을 표시하는 경우가 대표적입니다. 안드로이드에서는 BuildConfig클래스를 사용하면 간단하게 앱의 버전 정보를 가져올 수 있습니다.  build.gradle 파일에서 정의된 해당 정보에서 앱 버전 정보를 확인할 수 있습니다. versionCode : 앱 내부 버전입니다versionName : 사용자에게 표시되는 앱의 버전 이름입니다.  우선, gradle.properties 파일에서android.defaults.buildfeatures.buildconfig=true 해.. 2025. 1. 26.
[Java][Android] 키 해시(Key Hash) 추출 방법 안녕하세요.오늘은 키 해시(Key Hash) 추출 방법에 대해서 알아보도록 하겠습니다. 앱 개발 과정에서 Facebook 로그인이나 Kakao 로그인과 같은 소셜 로그인 기능을 구현하거나, 특정 타사 SDK와의 연동이 필요할 때 키 해시(Key Hash)를 요구받는 경우가 있습니다. 키 해시는 앱의 서명 키를 검증하여 API 요청의 신뢰성을 보장하는 역할을 합니다. 키 해시는 Android 앱의 서명 키를 기반으로 생성된 값으로, Facebook이나 Kakao와 같은 외부 API 서비스가 앱의 진위를 확인하는 데 사용됩니다. 등록된 키 해시만 신뢰할 수 있는 요청으로 간주되며, 키 해시가 올바르지 않으면 API 호출이 실패하거나 기능이 동작하지 않습니다. 이번에는 코드로 키 해시를 추출하는 방법을 사용해.. 2025. 1. 23.