본문 바로가기
[Android] EditText 설정된 스트링 얻기EditText ET_LoginID;String loginID = T_LoginID.getText().toString(); 2025. 3. 25.
[Android] 앱 백그라운드 전환 감지 1. ActivityLifecycleCallbacks 사용액티비티 상태변화에 대한 콜백이지만 onActivityStarted / onActivityStopped 를 통해 App이 Forground인지 Background인지 확인할수 있다 Application.ActivityLifecycleCallbacks를 상속받아 처리 구현따로 클래스를 만들어도 되지만 여기서는 Application을 상속받은 MyApplication에 구현public class MyApplication extends Application implements Application.ActivityLifecycleCallbacks{ ... private int ForegroundActivityCount = 0; @Over.. 2025. 3. 23.
[Android] org.json 사용법 임포트 클래스import org.json.JSONObject;  Json 스트링 만들기String strJson;try { // json 만들기 JSONObject jsonObject = new JSONObject(); // 커맨드 추가 jsonObject.put(GlobalDefine.Command, "Init"); // json을 스트링으로 변환 strJson = jsonObject.toString();} catch (Exception e) { // error} 2025. 3. 22.
[Android] 로그 사용 로그캣 창 열기상단 메뉴 -> View -> Tool Windows -> Logcat 로그 남기기 Java 에서 로그 남기기// VERBOSELog.v(태그, 메시지);// DEBUGLog.d(태그, 메시지);// INFOLog.i(태그, 메시지);// WARNLog.w(태그, 메시지);// ERRORLog.e(태그, 메시지); ex)Log.e("Test", "Click Login"); C 에서 로그 남기기__android_log_print(로그우선순위, 태그, 포맷, 스트링) ex)// 헤더#include // 로그const char* convStr = "test msg";__android_log_print(ANDROID_LOG_DEBUG, "TestTrace", "%s", convStr); 로그 우선.. 2025. 3. 22.
[Android] Toast 메시지 사용 kotlin var toast = Toast.makeText(getApplicationContext(),"메시지",Toast.LENGTH_SHORT) toast.show() 2025. 3. 16.
[Android] 프로젝트 생성 프로젝트 타입 Empty ActivityJetpack Compose를 통해 액티비티를 구성Empty Views Activityxml로 액티비티를 구성 res/layout/activity_main.xml이 생성되고 거기서 ui를 구성(기존 방식)Native C++ C++로 로직을 구성할수있게 기본 JNI 구성 되어 프로젝트가 생성 2025. 3. 15.
[Android] Button 사용 res/layout/activity_main.xml  위치 설정 [Android] ConstraintLayout배치되는 View에 제약(ConstraintLayout)을 적용하여 위치와 크기를 설정 layout_constraint 으로 시작 포멧 - layout_constraint[자신의 방향]_to[대상 방향]Of[대상] 뷰에 속성 추가 ex) textView1의 왼쪽 면을 부모의morningcopy.tistory.com  버튼 배경에 이미지 추가background 속성을 추가하고 오른쪽 끝의 Pick a Resource를 클릭 원하는 이미지를 설정  이미지가 보라색으로 나오는 경우 res/values/themes.xml 에서 MaterialComponents를 AppCompat으로 변경  클릭 처리/.. 2024. 2. 7.
[Android] ConstraintLayout 배치되는 View에 제약(ConstraintLayout)을 적용하여 위치와 크기를 설정 layout_constraint 으로 시작 포멧 - layout_constraint[자신의 방향]_to[대상 방향]Of[대상] 뷰에 속성 추가 ex) textView1의 왼쪽 면을 부모의 왼쪽면에 붙이고, textView1의 상단 을 부모의 상단에 붙에 붙이게 설정 위치를 이동시키고 싶은 경우 마진을 설정 왼쪽에 40 위로 30 마진을 줘서 오른쪽으로 40 아래로 30만큼 이동 ex) textView2를 textView1의 오른쪽(20) 아래(30) 위치에 배치 중앙에 뷰를 배치 왼쪽과 오른쪽에 둘다 붙이면 중앙에 정렬 2024. 2. 6.
[Android] Dependency 'androidx.activity:activity:1.8.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. androidx.activity:activity:1.8.0 라이브러리가 Android API 34 이상을 필요로 하지만 현재 프로젝트의 compileSdkVersion이 34보다 낮기 때문에 발생  컴파일 SDK의 버전을 34 이상으로 변경1. build.gradle.kts을 열어 compileSdk=34로 변경android { compileSdk 34} 2. targetSdk 도 동일하게 변경defaultConfig { targetSdk 34} 2. 프로젝트 리로드(File -> Sync Project With Gradle Files) 2024. 1. 24.
[Android] 내부/외부 저장소 접근 내부 저장소 : "/data/data/" + getPackageName() + "/" 외부 저장소 : Environment.getExternalStorageDirectory().getPath() + "/Android/data/" + getPackageName() + "/" 2024. 1. 21.