목록Android (947)
투케이2K
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cVlsyK/btq7V6MXDlY/8oGhMfZ4g68wwCJ9kg1Euk/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========== [구현 부분 설명 실시] ========== */ /** * 1. class 클래스에서 SensorEventListener 를 implements 상속 받습니다 * 2. onResume 에서 디바이스가 가속도 센서를 지원하는지 확인합니다 * 3. onResume 에서 가속도 센서를 지원하는 경우 리시버를 등록합니다 * 3. oncreate 액티비티 시작 상태에서 기능 동작을 실시합니다 * 4. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JQKUW/btq6aOBd39q/8GmGUhi5DNvegkslMcHxMK/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] package kr.co.two2k.manager; import android.os.Handler; import android.os.Message; public abstract class C_AsyncCallBack implements Runnable{ /** ========= [사용 방법 예시] ======== new C_AsyncCallBack() { //TODO [RESULT 선언] @Override protecte..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pI3bz/btq5Q5BRQ9r/O7TKpC2sts8vnKjjVYtyBk/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========== [크롬 브라우저 사용해 외부 링크 이동 실시] ========== **/ public void callChromeBrowser(String url){ //TODO [안드로이드 OS 11 및 타겟 30 이상 필수 사항] /** * [AndroidManifest.xml 파일 > manifest 부분 > 특정 앱 패키지명 등록 필요] * * * * * */ //TODO [크롬 브라우저 패키지명] fi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cKA8DH/btq5MtDRwj1/wgKwsnuR9OHvchsqpdw8C1/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========== [앱이 설치되어있으면 실행, 아니면 마켓이동 실시 메소드] ========== **/ public void goAppRun(final String packageNames){ //TODO [안드로이드 OS 11 및 타겟 30 이상 필수 사항] /** * [AndroidManifest.xml 파일 > manifest 부분 > 특정 앱 패키지명 등록 필요] * * * * * */ //TODO [외부앱..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MclBD/btq5G1fKdtX/OKM45scE5u7okfu38Im10k/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //TODO ====== [AndroidManifest.xml 파일] ====== //TODO ====== [JAVA : A_Battery] ====== /** [브로드캐스트 등록 부분] **/ A_BatteryReceiver a_batteryReceiver; public void setBroaCastStart(){ Log.d("---","---"); Log.w("//===========//","==============..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dchtqv/btq5G1UgGV9/KJKwEsoh3nZ6KmfytHTJtk/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] public String getBatteryRemainder(){ String returnData = ""; try { //TODO [BatteryManager는 고정 인텐트 사용 - 브로드캐스트 등록 필요 없음] IntentFilter batteryFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = registerReceiver..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dFPGik/btq5DDTWLL3/cbluIpzL352qmYl3lHrDU1/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========== [키 이벤트 확인] ========== **/ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO [디바이스의 키 이벤트 : 뒤로가기] if (keyCode == KeyEvent.KEYCODE_BACK) { Log.d("---","---"); Log.d("//===========//","================..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cSpXDB/btq5j6JEqnV/hfKP2A16GiqihHKqVkLgE0/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========= [자바스크립트에서 안드로이드 호출하기 - 경로 지정] ========= **/ public void Javascript_To_Android(){ //TODO [자바스크립트 부분 : 예제 [1]] /** function JsToAndo() { window.location.close('JS TO Mobile'); // [안드로이드에서 브릿지 경로 location 정의 / 안드로이드 브릿지 내부에서 정..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rNzML/btq5nbXDjWt/4uJxHTmGqAPcomgPVYAucK/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] //TODO [이미지를 바이트 값으로 받음 [1] 방법] try { InputStream inputStream = response.body().byteStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); inputStream.close(); //TODO [이미지 뷰에 비트맵 이미지 표시] imageView.setImageBitmap(bitmap); } ca..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/S8sn1/btq5g44L1Jf/vSzdd1NQlGuzeTIKZT7PAk/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========= [필요 퍼미션 및 라이브러리 설명] ========= **/ /** * TODO [필요 퍼미션] * * */ /** * TODO [필요 라이브러리] * implementation 'com.squareup.picasso:picasso:2.71828' * */ /** ========= [drawable 폴더에 저장된 이미지 표시 일반 표시] ========= **/ Picasso.get() .load..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Tkwlg/btq5aNpNPqI/RtAUMvvPyis404wD1Mtvu0/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========= [필요한 퍼미션 및 라이브러리] ========= **/ //TODO [퍼미션] /** * * * */ //TODO [라이브러리] /** * allprojects > repositories > mavenCentral() 추가 * implementation("com.squareup.okhttp3:okhttp:4.9.0") * */ /** ========= [GET 방식 HTTP 요청 메소드] =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZRhZG/btq49ak9W4Q/V4Liukv85EbtpBsIAKoJf1/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [설 명] 1. [res] 메뉴 > [New] 메뉴 > [Android Resource Directory] 메뉴 > Resource type 부분을 [raw] or [menu] or [anim] 선택 /* =========================== */
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bF0rJw/btq5aMRf4QH/dcniMU01piFfMan8zImkYK/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [설 명] 1. 상단 [app] 메뉴 > [New] 메뉴 > [Folder] 메뉴 > [Assets Folder] 선택 2. 파일 경로 확인 String htmlJsUrl = "file:///android_asset/javaScriptTest.html"; //TODO [assets 파일에 저장된 html 파일] /* =========================== */
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdxtP4/btq5aAjciRC/KAkHElxfKMROjVU3Q3Fh9k/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [설 명] 1. 상단 메뉴를 [Project] 로 변경 > [libs 폴더]에 [외부 jar] 파일 넣기 실시 2. build.gradle (Module:app) 파일에서 의존성 추가 실시 > implementation files('libs/proc-1.0.0.jar') /* =========================== */
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9Kwhe/btq49aL23vs/aOsNnFiFIpEk8JPY1noigK/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [설 명] [전체 AndroidX 버전 리팩토링 절차 설명] 1. 원본 파일 백업 실시 2. 상단 [Refactor] 메뉴 > [Migrate to AndroidX] 메뉴 선택 3. build gradle (Module:app) 파일에서 compileSdkVersion, targetSdkVersion [29] 설정 4. 코드 이상 유무 확인 실시 - [중요] - gradle 파일 , xml 파일 , java 파일을 돌아다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CGHc8/btq5bWk5ghm/3sGXOyKTqKnLlKzrFoyxB1/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ========= [구현에 필요한 변수 및 퍼미션] ========= **/ //TODO [필요한 변수 선언] BluetoothAdapter mbluetoothAdapter; boolean bleStartFlag = false; ArrayList bleFormatList = new ArrayList(); private Set pairedDevices; /** * TODO [퍼미션 선언] * * * * * * * *..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6EACT/btq433fnw1p/hEWNUXJoQUvolNhKtgrCL0/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ ============================= 1. [AndroidManifest.xml 파일에서 패키지명을 변경해준다] ============================= 기존 package : kr.co.test.adminmanager 변경 package : kr.co.two2k.manager ============================= 2. build.gradle(Module:app) 파일에서 패키지명을 변경해준다 ============================..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/by45CS/btq5aLRCT36/0HqMJTzmk8VNWAy5wzvGp1/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [설 명] [원인] : AlertDialog 사용 시 context를 사용할 경우 WindowManager Token Exception 이 발생할 수 있습니다 [해결 방법] : 1. AlertDialog 사용 시 context를 대신해서 클래스.this를 사용해서 명시해줍니다 2. AndroidManifest.xml 파일에 퍼미션 권한을 추가해줍니다 /* =========================== */
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NUTLB/btq5bfkwezd/lMdOfoR9mbCKK7INc9fH2k/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ======= [AlertDialog 팝업창 호출 실시] ======= **/ //TODO [Alert 팝업창 알림 실시] getAlertDialog("[알림]", "현재 연결된 네트워크를 다시 확인해주세요 ...", "확인", "취소", ""); /** ======= [AlertDialog 팝업창 호출 메소드 정의 실시] ======= **/ public void getAlertDialog(String heade..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cVHMMd/btq5bOfW8ar/zBw2deY2oqhE5hnueZ5tVK/img.png)
/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : AndroidStudio 개발 언어 : java /* =========================== */ /* =========================== */ [소스 코드] /** ======= [현재 연결된 네트워크 상태 확인 메소드 사용 실시] ======= **/ String networkState = String.valueOf(getWhatOfNetwork()); if(networkState.equals(WIFI_STATE)){ Toast.makeText(getApplicationContext(), "와이파이", Toast.LENGTH_LONG).show(); } else if(net..