[Java] Random 난수 값 생성 1. Math.random() 사용하기 Math 클래스는 java.lang 패키지에 있으므로 별도로 import 할 필요가 없습니다. Math 클래스의 random() 메소드는 정적(static) 메소드이므로 객체를 생성하지 않고 Math.random(); 으로 바로 사용할 수 있습니다. 이 메소드는 현재 시간을 seed로 사용합니다. 결과 값은 0.0 이상 ~ 1.0 미만의 double 값의 난수 for(int i = 0; i < 3; i++) { double dValue = Math.random(); System.out.println(dValue); } // 결과 0.5453128951662416 0.878518955765202 0.321598184288554 ..
[Android] 부팅 후 앱 자동 실행 안드로이드 단말에서 부팅 완료 된 후에 자동으로 특정 어플리케이션을 실행시키는 방법 상단 알림바, 위젯, 서비스단에서 실행되는 App들은 부팅 후 자동 실행된다. 아래 방법은 특정 앱을 구동 후에 자동으로 실행 되도록 하는 방법이다. BroadcastReceiver 를 이용 한다. import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class Starter extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent)..
[Android] Market App 종류 확인하기 Google Playstore, Samsung GalaxyApps, OneStore 와 같이 여러가지 Android App market 에서 InApp 결제를 지원해야 하는 경우에 아래의 방법으로 PackageManager 로부터 설치된 Market App의 종류를 구분 할 수 있습니다. PackageManager pm = this.getPackageManager(); String StorePackageName = pm.getInstallerPackageName(Data.PACKAGE_NAME); if ("com.android.vending".equals(StorePackageName)) { Log.d(TAG, FUNC + "This App is Ins..
Android KeyEvent 강제 발생 코드 사용시 아래와 같은 에러가 발생하는 경우 참고할만한 글을 작성합니다. 11-06 00:54:04.324 E AndroidRuntime: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission 디바이스의 KeyEvent 를 발생시켜서 본인 어플 외에 다른 어플에도 적용 시키려면 INJECT_EVENTS 퍼미션이 필요합니다. 하지만 안드로이드는 보안과 관리 측면으로 시스템에 중요한 영향을 미치는 API를 사용하기 위해서는 "플랫폼키" 로 Sign을 하여 권한을 받아야 합니다. "플랫폼키"는 스마트폰 제조사에서 안드로이드 플랫폼을 기기에 올릴 때 생..
[Android] key event value adb key event Input usage: input [text|keyevent] input text input keyevent HOME Key - adb shell input KEYCODE_HOME BACK Key - adb shell input KEYCODE_BACK MENU Key - adb shell input KEYCODE_MENU 0 --> "KEYCODE_UNKNOWN" 1 --> "KEYCODE_MENU" 2 --> "KEYCODE_SOFT_RIGHT" 3 --> "KEYCODE_HOME" 4 --> "KEYCODE_BACK" 5 --> "KEYCODE_CALL" 6 --> "KEYCODE_ENDCALL" 7 --> "KEYCODE_0" ..