Skip to content

Take picture using android camera on android latest devices. Kotlin is used in separate module with detailed comment.

Notifications You must be signed in to change notification settings

dinkar1708-zz/Taking-Photo-Camera-Android

Repository files navigation

Taking-Photo-Camera-Android

Taking picture using intent Take picture using android camera on android latest devices. Using glide library to display image Hanlding run time permissions

Camerakotlin module -

Code explanation-

/**
 * : and () - invokes constructor invocation referes to extends
 */
class CameraIntentActivity : AppCompatActivity() {
//NOTE no need to define the class level variable and findviewbyid for initialization
    // image view
//    private var imageView: ImageView? = null
/**
     * fun is used for defining the function
     * ? refers - savedInstanceState can be null
     * savedInstanceState ->this is the variable name: Bundle -> is the data type it could be any thing like Int, Double etc.
     */
    override fun onCreate(savedInstanceState: Bundle?) {
    ```
    //NOTE NO NEED TO DO THIS
//        imageView = findViewById(R.id.imageView)
//NOTE - i can directly refer the id of XML file imageView
        imageView.setOnClickListener {
            //checking for write permission
            if (ContextCompat.checkSelfPermission(this@CameraIntentActivity,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
 /**
     * after taking picture using camera this method is invoked in activity
     *
     * @param requestCode
     * @param resultCode
     * @param data
     */
    public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
//        Log.i(TAG, "onActivityResult  requestCode$requestCode resultCode $resultCode data $data")
        // NOTE -  above log statement can be printed as below print statement
        /** println works as system.out as defined in sdk
         * @kotlin.internal.InlineOnly
        public inline fun println(message: Any?) {
        System.out.println(message)
        }
         */
        println("onActivityResult  requestCode$requestCode resultCode $resultCode data $data");
 //note
    /**
     * https://kotlinlang.org/docs/reference/object-declarations.html
     * Companion Objects
    An object declaration inside a class can be marked with the companion keyword:
    class MyClass {
    companion object Factory {
    fun create(): MyClass = MyClass()
    }
    }
    Members of the companion object can be called by using simply the class name as the qualifier:
     */
    companion object {
        private val TAG = CameraIntentActivity::class.java.simpleName
        private val MY_PERMISSIONS_REQUEST_OPEN_CAMERA = 10
        private val REQ_RESULT_CODE_CAMERA = 2
    }

Releases

No releases published

Packages

No packages published