2018년 8월 10일 금요일

Kotlin generic function sample

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.content.Intent
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    companion object {
        val PERMISSIONS_REQUEST_READ_CONTACTS = 100    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        button1.setOnClickListener {            startActivity { ProviderContactContract::class.java }        }
        button2.setOnClickListener {            startActivity { ProviderMediaStore::class.java }        }
    }

    private fun <T : Any?> startActivity(clazz: () -> Class<T>) {
        val intent = Intent(this, clazz())
        startActivity(intent)
    }
}

Related Posts:

  • [Android] 에뮬레이터인지 확인방법 플로터에 있는 구글의 device info 플러그인 은 이렇다네private boolean isEmulator() { return (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic")) || Build.FINGERPRINT.startsWith("generic") |… Read More
  • [Android] DeepLink 로 앱의 특정 화면에 바로가기하이퍼링크 http는 웹주소를 연결하는 sheme로서 무조건 인터넷웹사이트가 열리도록 약속한거다.deeplink는 이름처럼 좀더 깊은 곳까지 링크시켜 해당자료가 열리도록 하는거다.안드로이드/아이폰 에서는 http://가 아닌 abcde://등으로 개발자맘대로 정하기만 하면 누군가 abcd:// 링크를 여는순간 개발자의 앱이 열리도록 할수 있다.안드로이드에서는 Activity 선언에 intent(의도,… Read More
  • [Android] 단말의 해상도 adb에서 변경물론 개발자모드에 들어가면 해상도조절하는게 있다.https://android.gadgethacks.com/how-to/change-your-androids-screen-resolution-without-root-access-0160439/ 4.3 이전- size$ adb shell am display-size [WxH]ex) $ adb shell am display-size 1920x1080… Read More
  • [RxAndroid] RxAndroid 사용해보자. RxJava가 대충(잉?) 알았으니 그걸 Android에서 어케 쓸까 참고해보자.0. gradle에 라이브러리 추가build.gradle (Module:...app) 파일에 rxjava2 추가dependencies {...//Rx Utils dependenciesimplementation 'io.reactivex.rxjava2:rxjava:2.2.19'implementation 'io.re… Read More
  • [Android] Gradle 상세진행/결과 상태를 웹에서 보여주기./gradlew assembleDebug -no-build-cache -scan 하고 그레이들이 끝날때쯤 링크를 눌러서 메일적고 , 메일에 온주소를 클릭하면 그레이들사이트에서 제공하는 내 빌드 정보가 뜬다. … Read More

0 comments:

댓글 쓰기