Android 146

죽지 않는 서비스

Immortal Serviceforgraound Service를 이용하면 안죽는다. 그대신 노티피케이션에 항상 나타나 있어야 한다. Foreground Service를 통해 죽지 않는 서비스 만들기 startForeground(int id, Notification notification) 뚜둥.. 단지 저 메소드를 앞에서 만든 ScreenService의 onStartCommand()안의 어딘가에 넣어주면 됩니다. 넘.. 간단 합니다 ;; 여기서 int id 는 Notification의 id를 의미하며 Notification notification 는 서비스가 foreground로 실행되는 동안 나타날 Notification입니다. Notification을 띄우는 방법에 대해서는 다음에 알아보기로 하고~ ..

First-class citizen (1급객체)

First Class Citizen(1급 객체)https://medium.com/@lazysoul/functional-programming-%EC%97%90%EC%84%9C-1%EA%B8%89-%EA%B0%9D%EC%B2%B4%EB%9E%80-ba1aeb048059 1급객체의 조건 3가지 변수나 데이타에 할당 할 수 있어야 한다. 객체의 인자로 넘길 수 있어야 한다. 객체의 리턴값으로 리턴 할수 있어야 한다. 1.변수나 데이터에 할당할 수 있어야 한다object Main { @JvmStatic fun main(args: Array) { val a = test } val test: () -> Unit = { println("kotlin") } } 2.객체의 인자로 넘길 수 있어야 한다object Main ..

Android/Kotlin 2019.02.01

Higher-order-function(고차함수)

Higher-order-function(고차함수)https://medium.com/@lazysoul/high-order-function-%EA%B3%A0%EC%B0%A8%ED%95%A8%EC%88%98-22b147d0c4a5 함수를 인자로 받거나, 함수를 반환하는 함수이 조건이 성립하기 위해서는 기본적으로 함수가 FirstClassCitizen이어야 함object Main { @JvmStatic fun main(args: Array) { println(simpleHigherOrderFunction({ x, y -> x + y }, 10, 20)) //30 println(simpleHigherOrderFunction(sumInts, 10, 20)) //30 println(simpleHigherOrderFu..

Android/Kotlin 2019.02.01

End of input at line 1 column 1 path $

End of input at line 1 column 1 path $ retrofit에서 response값이 비어있을 때(Length=0) 발생다음의 코드를 추가한다 Java코드 해결책https://medium.com/@kenkyee/retrofit2-doesnt-handle-empty-content-responses-bef2b33ee8ea Kotlin코드http://kotlinandroidtutorials.com/retrofit-best-practices/ /** * 비어있는(length=0)인 Response를 받았을 경우 처리 */ class NullOnEmptyConverterFactory : Converter.Factory() { override fun responseBodyConverter(t..

SMS Retriever API - 1

1. 이게 뭔가?문자 받은내용 캐치하는거 원래는 permission으로 권한 얻어서 하면 됬었는데 이제는 SMS Retriever API 써서 해야한다. 2. Gradleimplementation 'com.google.android.gms:play-services:12.0.1'Google Play Service필요 필요한 것만 등록해도 된다https://developers.google.com/android/guides/setupimplementation 'com.google.android.gms:play-services-auth:12.0.1' 3. MainActivity.javapublic class MainActivity extends AppCompatActivity implements Button.O..

Hash Code 구하는 코드

SMS Retriever 할때 필요한 11자리 Hash코드를 구하는 소스 keytool~ 커맨드에 쳐서 하는게 잘 안되서 이걸로 하니까 된다.Util.java에 넣고 호출해서 사용.public class Util { public static final String TAG = Util.class.getSimpleName(); private static final String HASH_TYPE = "SHA-256"; public static final int NUM_HASHED_BYTES = 9; public static final int NUM_BASE64_CHAR = 11; /** * get App Signatures */ public static ArrayList getAppSignatures(Cont..

Callback(Listener) 예제

1. Callee(관찰당하는 곳, 결과 반환해주는 곳) 클래스public class Callee { //내부인터페이스 구현(외부도 상관없음) interface Callback{ void CallbackMethod(); } private boolean condition; private Callback callback; //생성자 Callee(){ this.condition = false; this.callback = null; } public void setCallback(Callback callback){ this.callback = callback; //1초마다 condition을 체크하고 5초가 되면 true로 바꿈 Thread thread = new Thread(new Runnable() { @Ov..