Wednesday, December 13, 2017

[Tutorial] Login With Facebook User Detail

December 13, 2017 0 Comments
Assalamualaikum Warahmatullah... Halo temen-temen... balik lagi bersama saya Ramadhany si programmer ganteng... HeHeHe.. Nah guys kali ini saya akan membagi tutorial tentang "Login With Facebook User Detail". Sekarang-sekarang ini banyak aplikasi yang penggunanya untuk membuat akun pada aplikasi tersebut. Ada banyak cara yang dapat digunakan untuk membuat akun (yang disediakan aplikasi), antara lain : Menggunakan email, Facebook, Google, Yahoo, Dll



Pada umumnya para programmer menggunakan akun Facebook dan Google untuk membuat akun, selain menggunakan email.

Informasi di ambil dari Google dan Facebook pada umumnya adalah nama, email, photo profile dan informasi public lainnya.

Pada kesempatan kali ini saya akan membuat aplikasi login dengan menggunakan akun facebook. Kalian bisa membuatnya juga, keren kan? Tunggu apa lagi? Langsung saja ikuti Tutorial saya berikut ini

Pertama

Untuk dapat mengintegrasikan aplikasi yang teman-teman buat dengan facebok, pertama harus meng-genarated APP ID. Untuk mendapatkan APP ID, kalian harus punya HASH KEY 

Berikut adalah kode untuk menampilkan HASH KEY


Berikut adalah gambar yang telah di ganerated


Berikut ini juga hasil mengambil hash key dengan cmd commander


Kedua

Setelah kode hash key sudah di dapatkan, langkah selanjutnya adalah buka web Developer Facebook.
Dan buatlah project baru sesuai keinginan teman-teman semua.


Ketiga

Setelah teman-teman semua klik menu "Tambahkan Aplikas Batu" maka akan muncul gambar seperti di bawah ini. Di sini teman-teman semua di minta untuk memberi nama aplikasi yang di buat, masukan alamat email, lalu klik tombol Buat ID Aplikasi

Keempat

Langkah selanjutnya adalah, Klik menu pengaturan di sebelah kiri, lalu klik tombol tambahkan platform

Kelima

Setelah itu akan muncul gambar seperti di bawah ini, pada gambar ini teman-teman di minta untuk memilih platform yang akan di gunakan, pilih platform android.

Keenam

Setelah kalian memilih platform, langkah selanjutnya adalah teman-teman isi nama package android studionya, lalu tuliskan tempat proses login facebook yang akan di buat, dan masukan hash key nya, lalu hidupkan Single Sign On, lalu klik tombol Simpan Perubahan.


Ketujuh

Setelah itu, langkah selanjutnya adalah klik menu Tinjauan Aplikasi, lalu Turn On akses untuk membuat aplikasi bersifat publik

Kedelapan

Copy AppID ke android studio, simpan kode app id di dalam folder string

Mari kita mulai ngoding :) 

Pertama

Tambahkan gradle repo facebooknya di build.gradle(Module:app)


Tambahkan gradle repo CircleImageView, supaya tampilan gambar profilenya berbentuk lingkaran


Kedua

Tambahkan juga mavenCentral() di dalam gradle repositories, lalu setelah itu di sync project

Ketiga

Kemudian langkah selanjutnya adalah, buka AndroidManifast.xml lalu tambahkan user-permission INTERNET

Kemudian Tambahkan kode berikut di bawah tag penutup activity pada AndroidManifast.xml

Keempat

Kemudian kita mulai membuat design layoutnya, buka activity_main.xml buat design layout seperti di bawah ini,

Kelima

Kamudian buka MainActivity.java, (kode login menggunakan facebook)
dalam methode onCreate tambahkan code berikut di atas code setContenView


Kemudian deklarasikan koten-konten yang ada pada layout activity_main.xml
Setelah di deklarasiakan, langkah selanjutnya adalah buat callbackmanager nya
Lalu, teman-teman tambahkan setReadPermission nya ("public_profile", "email")
Langkah selanjutnya adalah, beri action pada Login Button nya, dan akan muncul 3 method, yaitu onSuccess, onCancel, dan onError. Di dalam method onSucces kita beri 4 field yaitu name,email,gander,cover dan juga picture. Tujuan nya adalah supaya kita bisa menampilkan Nama lengkapnya, emailnya dan juga foto profile nya. Dan nanti akan kita panggil di method setProfileToView. Dan di dalam method onCancel dan onError kita kita tambahkan toast saja. Untuk memberi tau ketika kita gagal login atau login nya di cancel. Berikut adalah kodingan nya.
Lalu tambahkan method onActivityResult, dan panggil variable callbackmanager nya
Dan yang terakhir, tampilkan email,nama dan gambar di dalam method setProfileToView

Keeman

Berikut adalah Full code pada Activity MainActivity.java. 
Berikut ini adalah vidio demo aplikasinya
------------------------------------------------------------------------------------------------------------------------

Bila ada yang ingin di tanyakan.. Silahkan hubungi saya melalui kontak di bawah ini

Wa    : 081322579702 - 085776744756
Fb     : Ramadhany As-Salafy
Ig      : ramadhany_12
Line  : rikat_homreh2

------------------------------------------------------------------------------------------------------------------------

Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah

Wednesday, November 1, 2017

[Tutorial] Membuat Aplikasi Hitung Luas Sederhana Dengan Android Studio

November 01, 2017 3 Comments
Assalamualaikum Warahmatullah... Halo temen-temen semuanya... balik lagi nih bersama saya Ramadhany si programmer ganteng... Oke temen-temen, kali ini saya akan membagi tutorial tentang "Membuat Aplikasi Hitung Luas Sederhana Dengan Android Studio"... Oke langsung saja kita masuk ke tutorialnyaa... Lets Goooo....



Pertama

Buka Android Studio kalian... Lalu Buatlah Project baru dengan nama Hitung Luas... Lalu pilih activity yang Empty Activity.... Lalu setelah itu tekan tombol Finish...

Kedua

Langkah selanjutnya adalah... Buka layout activity_main.xml nya.... Lalu tambahkan 2 EditText, 1 buah Button, dan 1 buah TextView....

Ketiga

Selanjutnya adalah.. Buka Activity MainActivity.java... Deklarasikan terlebih dahulu komponen-komponen yang ada di layout activity_main.xml... 



Keempat

Setelah tadi kita sudah mendeklarasikan komponen-komponen nya.... Langkah selanjutnya adalah kita buat Rumusnya... Supaya nanti ketika kedua editext di isi angka yang ingin kita hitung, dan nanti hasilnya akan kita tampilkan di TextView.....

Kelima

FINAL CODE 
MainActivity.java


Setelah kalian sudah melengkapi kode-kodenya... Langkah terakhir yang harus kalian lakukan adalah dengan menjalankan Aplikasi kalian.... Berikut ini adalah hasil run aplikasi yang telah di buat

 Hasil penghitungan Panjang dan lebar.. Dan hasilnya di tampilkan di TextViewnya


Berikut ini adalah ketika kita langsung menekan tombol hitung... Maka EditText nya akan menampilkan notifkasi seperti ini

Ini adalah Vidio Demo Aplikasinya

------------------------------------------------------------------------------------------------------------------------

Bila ada yang ingin di tanyakan.. Silahkan hubungi saya melalui kontak di bawah ini

Wa    : 081322579702 - 085776744756
Fb     : Ramadhany As-Salafy
Ig      : ramadhany_12
Line  : rikat_homreh2 

-------------------------------------------------------------------------------------------------------------------------
Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah

Tuesday, October 31, 2017

[Tutorial] Android Flipboard BottomSheet

October 31, 2017 0 Comments
Assalamualaikum Warahmatullah... Halo temen-temen semuanya... balik lagi nih bersama saya Ramadhany si programmer ganteng... Oke temen-temen, kali ini saya akan membagi tutorial tentang "Android Flipboard ButtomSheet".... Temen-temen semua penasaran kan sama tutorial ini.... Oke langsung saja kita masuk ke tutorial 
nya....



Pertama

Buatlah project baru dengan nama Flipboard BottomSheet.... Lalu pilih saja yang Empety Activity.... Lalu setelah itu tekan Finish...

Kedua

Sebelum masuk ke codingan.... Langkah pertama kita masukan dulu gradle dependencies nya... Tambahkan 2 repository ini....

Ketiga

Setelah kalian sudah menambahkan 2 repository yang tadi... Langkah selanjutnya adalah kita buat layouting nya terlebih dahulu.... Buka layout activity_main.xml lalu tambahkan 2 buah button di dalam layout tersebut

Keempat

Buatlah layout baru lagi... Yaitu layout costum_view.xml.... Di sini kita akan membuka layout custom dengan BottomSheet....

Kelima

Setelah kita tadi sudah selesai layouting nya... Langkah selanjutnya adalah kita masuk ke codingan java nya... Buka MainActivity.java.... Dibawah ini adalah kode lengkap di Activity MainActivity.java....


Bila Sudah selesai semua di lengkapi code nya... Langkah terakhir adalah Running aplikiasi kita... Berikut adalah hasil Running yang sudah di jalankan


Ketika Button Custom View di clik... Akan muncul seperti ini...
Halaman ini muncul ketika button Expand This View di klik


Ketika Button Open Intent di klik... Nanti akan muncul Share konten seperti ini...



Bila ada yang ingin di tanyakan.. Silahkan hubungi saya melalui kontak di bawah ini

Wa : 081322579702 - 085776744756
Fb : Ramadhany As-Salafy
Ig : ramadhany_12
Line : rikat_homreh2 Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah

[Tutorial] Android Image ListView Menggunakan CardView

October 31, 2017 5 Comments
Assalamualaikum Warahmatullah... Halo temen-temen... balik lagi bersama saya Ramadhany si programmer ganteng... Oke temen-temen, kali ini saya akan membagi tutorial tentang "Android ListView Tutorial Menggunakan CardView"....  Sebelum masuk tutorial... apa kalian tau apa itu ListView??? List view adalah widget untuk menampilkan data dalam bentuk list yang dapat di-scroll. Karena ukuran layar smartphone terbatas dan cenderung portrait, listview merupakan salah satu widget terpenting dan paling sering digunakan untuk menampilkan kelompok informasi.


Kita akan membuat ListView Image, yang berisi text dan juga gambar

Sebelum masuk ke project.... Download terlebih dahulu file gambar buah nya... klik link ini untuk mendownload file gambar buah Download Gambar Buah Png

Pertama 

Buka android studio kalian dan buatlah projet baru... Beri nama project sesuai dengan keinginan kalian... Sebagai contoh saya beri nama project nya dengan ListViewBuah... Pilih yang Empty Activity saja, lalu finish 

Kedua

Tambahkan dependencies baru... yaitu tambahkan repository CardView nya


Ketiga

Buka terlebih dahulu layout activity_main.xml... Lalu tambahkan widget ListView nya terlebih dahulu.... 



Keempat

Setelah di tambahkan widget nya... Langkah selanjut nya adalah buat layout baru.... layout ini berfungsi untuk menampilkan listnya nanti.... beri nama layout dengan list_buah.xml


Kelima

Buat array list nya di MainActivity.java... Untuk menampung data-data sementara... Dan juga deklarasikan widget ListView yang ada di layout activity_main.xml



Keenam

Kenalkan widget ListView dan buat sebuah adapter.... Adapter ini berfungsi untuk menampung data sementara sebelum di tampilkan ke dalam list view... Berikut adalah code nya di MainActivity.java


Ketujuh

Selanjutnya adalah, membuat class Adapter... Kita buat class adapter nya di dalam class MainActivity.java... Berikut kode nya



Kedelapan

Lalu buat lah method untuk memaggil layout list_buah.xml dan juga mengenalkan widget yang ada di layout tersebut... Berikut Code nya....



Kesembilan

Setelah kita tadi sudah membuat list nya... Sekarang kita buat detail list nya... Jadi nanti list nya itu bisa di klik... Buat Activity baru.... Beri nama dengan DetailActivity.java... 



Final Code

Inillah code lengkap dari Activity MainActivity.java



Setelah sudah semuanya di lengkapi kode-kode nya... Maka langkah terakhir yang harus di lakukan adalah menjalankan aplikasi yang sudah di buat tadi... Berikut adalah hasil  gambar dari aplikasi ini

 List Buah

Detail Buah


Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah

Wednesday, October 25, 2017

[Tutorial] Android Kamera

October 25, 2017 0 Comments
Assalamualaikum Warahmatullah... Halo temen-temen... balik lagi bersama saya Ramadhany si programmer ganteng... Nah guys kali ini saya akan membagi tutorial tentang "Tutorial Androd Kamre"... Oke langsung saja kita masuk ke tutorialnya.... Jangan lupa android studio nya harus sudah dibuka terlebih dahulu... kalo gak di buka.. nanti ngoding nya di mana?? 😂😂



Pertama

Buatlah project baru di android studio kalian... Beri nama project sesuai keinginan kalian... Sebagai contoh saya memberi nama project saya dengan nama "Android Kamera".....

Kedua

Setelah dibuat, tunggu dulu sampa proses gradle project selesai, setelah gradle selesai... Setelah itu, buka AndroidManifests.xml nya, tambahkan fitur untuk kamera nya dan juga tambahkan permission nya

<!-- Accessing camera hardware -->
    <uses-feature android:name="android.hardware.camera" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />

Ketiga

Lalu kita lanjut layouting nya di layout activity_main.xml... Jangan lupa, layout nya kita ganti dengan LinearLayout dan orientation vertical.... Dant tambahkan komponen-komponen berkut ini... Kita menambhkan 2 fitur... yaitu untuk camera untuk hasil foto dan juga untuk vidio view....

<LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical" >

        <!-- Capture picture button -->
        <Button
            android:id="@+id/btnCapturePicture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ambil Foto"
            android:layout_marginBottom="10dp"/>

        <!-- Record video button -->
        <Button
            android:id="@+id/btnRecordVideo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Rekam Vidio" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:padding="10dp">

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Preview"
            android:padding="10dp"
            android:textSize="15dp"/>

        <!-- To display picture taken -->
        <ImageView
            android:id="@+id/imgPreview"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:visibility="gone" />

        <!-- To preview video recorded -->
        <VideoView
            android:id="@+id/videoPreview"
            android:layout_width="wrap_content"
            android:layout_height="400dp"
            android:visibility="gone" />
    </LinearLayout>

Inilah hasil penambahan widget pada activity_main.xml





Keempat

 A. Setelah itu kita buka MainActivity.java.... Lalu copy code ini di atas methode onCreate...

 // Activity request codes
        private static final int CAMERA_CAPTURE_IMAGE_REQUEST_CODE = 100;
        private static final int CAMERA_CAPTURE_VIDEO_REQUEST_CODE = 200;
        public static final int MEDIA_TYPE_IMAGE = 1;
        public static final int MEDIA_TYPE_VIDEO = 2;

        // directory name to store captured images and videos
        private static final String IMAGE_DIRECTORY_NAME = "Hello Camera";

        private Uri fileUri; // file url to store image/video

        // widget-widget layout activity_main.xml
        private ImageView imgPreview;
        private VideoView videoPreview;
        private Button btnCapturePicture, btnRecordVideo;

 B. Selanjutnya adalah kenalkan widget-widget yang ada di layout activty_main.xml..... 

     imgPreview = (ImageView) findViewById(R.id.imgPreview);
                           videoPreview = (VideoView) findViewById(R.id.videoPreview);
                           btnCapturePicture = (Button) findViewById(R.id.btnCapturePicture);

                           btnRecordVideo = (Button) findViewById(R.id.btnRecordVideo);


 C. Setelah di kenalkan widget nya, langkah selanjutnya adalah berikan button nya action untuk membuka           kamera nya

 /**
             * Capture image button click event
             */
            btnCapturePicture.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // capture picture
                    captureImage();
                }
            });

            /**
             * Record video button click event
             */
            btnRecordVideo.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // record video
                    recordVideo();
                }
            });


 D. Langkah selanjutnya adalah, kita cek dulu apakah kamera tersedia di android nya atau tidak, dan kita periksa apakan si android ini memiliki kamera atau tidak

// Checking camera availability
            if (!isDeviceSupportCamera()) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! Your device doesn't support camera",
                        Toast.LENGTH_LONG).show();
                // will close the app if the device does't have camera
                finish();
            }
        }

        /**
         * Checking device has camera hardware or not
         */
        private boolean isDeviceSupportCamera() {
            if (getApplicationContext().getPackageManager().hasSystemFeature(
                    PackageManager.FEATURE_CAMERA)) {
                // this device has a camera
                return true;
            } else {
                // no camera on this device
                return false;
            }
        }


 E. Selanjutnya adalah kode untuk menangkap gambar kamera akan memanfaatkan pengambilan gambar kamera terbaik dan Di sini kita menyimpan file url karena akan null setelah kembali dari aplikasi kamera

/** * Capturing Camera Image will lauch camera app requrest image capture */ private void captureImage() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // start the image capture Intent startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE); } /** * Here we store the file url as it will be null after returning from camera * app */ @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); // save file url in bundle as it will be null on scren orientation // changes outState.putParcelable("file_uri", fileUri); }

       @Override
        protected void onRestoreInstanceState(Bundle savedInstanceState) {
            super.onRestoreInstanceState(savedInstanceState);

            // get the file url
            fileUri = savedInstanceState.getParcelable("file_uri");
        }

 F. Selanjutnya adalah Bikin method untuk recording vidio... 

 private void recordVideo() {
            Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

            fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);

            // set video quality
            intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

            intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file
            // name

            // start the video capture Intent
            startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);
        }


 G. Stelah membuat method recordVidio(), langkah selanjut nya adalah menerima method hasil aktivitas akan dipanggil setelah menutup kamera... Berikut adalah code nya

/**
         * Receiving activity result method will be called after closing the camera
         */
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // if the result is capturing Image
            if (requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE) {
                if (resultCode == RESULT_OK) {
                    // successfully captured the image
                    // display it in image view
                    previewCapturedImage();
                } else if (resultCode == RESULT_CANCELED) {
                    // user cancelled Image capture
                    Toast.makeText(getApplicationContext(),
                            "User cancelled image capture", Toast.LENGTH_SHORT)
                            .show();
                } else {
                    // failed to capture image
                    Toast.makeText(getApplicationContext(),
                            "Sorry! Failed to capture image", Toast.LENGTH_SHORT)
                            .show();
                }
            } else if (requestCode == CAMERA_CAPTURE_VIDEO_REQUEST_CODE) {
                if (resultCode == RESULT_OK) {
                    // video successfully recorded
                    // preview the recorded video
                    previewVideo();
                } else if (resultCode == RESULT_CANCELED) {
                    // user cancelled recording
                    Toast.makeText(getApplicationContext(),
                            "User cancelled video recording", Toast.LENGTH_SHORT)
                            .show();
                } else {
                    // failed to record video
                    Toast.makeText(getApplicationContext(),
                            "Sorry! Failed to record video", Toast.LENGTH_SHORT)
                            .show();
                }
            }
        }


 H. Selanjutnya adalah, Kita tampilkan gambar ke dalam image view... Berikut adalah kodingan nya

/**
         * Display image from a path to ImageView
         */
        private void previewCapturedImage() {
            try {
                // hide video preview
                videoPreview.setVisibility(View.GONE);

                imgPreview.setVisibility(View.VISIBLE);

                // bimatp factory
                BitmapFactory.Options options = new BitmapFactory.Options();

                // downsizing image as it throws OutOfMemory Exception for larger
                // images
                options.inSampleSize = 8;

                final Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),
                        options);

                imgPreview.setImageBitmap(bitmap);
            } catch (NullPointerException e) {
                e.printStackTrace();
            }
        }


 I. Setalah kita menampilkan foto ke image view, selanjutnya adalah kita tinjau rekaman vidio yang di rekam

/**
         * Previewing recorded video
         */
        private void previewVideo() {
            try {
                // hide image preview
                imgPreview.setVisibility(View.GONE);

                videoPreview.setVisibility(View.VISIBLE);
                videoPreview.setVideoPath(fileUri.getPath());
                // start playing
                videoPreview.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }


 J. Selanjutnya adalah, helper method, metode berikut di kelas aktivitas utama Anda. Metode ini membantu dalam membuat dan mendapatkan file dari kartu SD.

/**
         * Creating file uri to store image/video
         */
        public Uri getOutputMediaFileUri(int type) {
            return Uri.fromFile(getOutputMediaFile(type));
        }

        /**
         * returning image / video
         */
        private static File getOutputMediaFile(int type) {

            // External sdcard location
            File mediaStorageDir = new File(
                    Environment
                            .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
                    IMAGE_DIRECTORY_NAME);

            // Create the storage directory if it does not exist
            if (!mediaStorageDir.exists()) {
                if (!mediaStorageDir.mkdirs()) {
                    Log.d(IMAGE_DIRECTORY_NAME, "Oops! Failed create "
                            + IMAGE_DIRECTORY_NAME + " directory");
                    return null;
                }
            }

            // Create a media file name
            String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
                    Locale.getDefault()).format(new Date());
            File mediaFile;
            if (type == MEDIA_TYPE_IMAGE) {
                mediaFile = new File(mediaStorageDir.getPath() + File.separator
                        + "IMG_" + timeStamp + ".png");
            } else if (type == MEDIA_TYPE_VIDEO) {
                mediaFile = new File(mediaStorageDir.getPath() + File.separator
                        + "VID_" + timeStamp + ".mp4");
            } else {
                return null;
            }

            return mediaFile;
        }


Berikut ini adalah kode lengkap pada MainActivity.java.....

import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.VideoView;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {

        // Activity request codes
        private static final int CAMERA_CAPTURE_IMAGE_REQUEST_CODE = 100;
        private static final int CAMERA_CAPTURE_VIDEO_REQUEST_CODE = 200;
        public static final int MEDIA_TYPE_IMAGE = 1;
        public static final int MEDIA_TYPE_VIDEO = 2;

        // directory name to store captured images and videos
        private static final String IMAGE_DIRECTORY_NAME = "Hello Camera";

        private Uri fileUri; // file url to store image/video

        private ImageView imgPreview;
        private VideoView videoPreview;
        private Button btnCapturePicture, btnRecordVideo;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            imgPreview = (ImageView) findViewById(R.id.imgPreview);
            videoPreview = (VideoView) findViewById(R.id.videoPreview);
            btnCapturePicture = (Button) findViewById(R.id.btnCapturePicture);
            btnRecordVideo = (Button) findViewById(R.id.btnRecordVideo);

            /**
             * Capture image button click event
             */
            btnCapturePicture.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // capture picture
                    captureImage();
                }
            });

            /**
             * Record video button click event
             */
            btnRecordVideo.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // record video
                    recordVideo();
                }
            });

            // Checking camera availability
            if (!isDeviceSupportCamera()) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! Your device doesn't support camera",
                        Toast.LENGTH_LONG).show();
                // will close the app if the device does't have camera
                finish();
            }
        }

        /**
         * Checking device has camera hardware or not
         */
        private boolean isDeviceSupportCamera() {
            if (getApplicationContext().getPackageManager().hasSystemFeature(
                    PackageManager.FEATURE_CAMERA)) {
                // this device has a camera
                return true;
            } else {
                // no camera on this device
                return false;
            }
        }

        /**
         * Capturing Camera Image will lauch camera app requrest image capture
         */
        private void captureImage() {
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

            fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);

            intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);

            // start the image capture Intent
            startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
        }

        /**
         * Here we store the file url as it will be null after returning from camera
         * app
         */
        @Override
        protected void onSaveInstanceState(Bundle outState) {
            super.onSaveInstanceState(outState);

            // save file url in bundle as it will be null on scren orientation
            // changes
            outState.putParcelable("file_uri", fileUri);
        }

        @Override
        protected void onRestoreInstanceState(Bundle savedInstanceState) {
            super.onRestoreInstanceState(savedInstanceState);

            // get the file url
            fileUri = savedInstanceState.getParcelable("file_uri");
        }

        /**
         * Recording video
         */
        private void recordVideo() {
            Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

            fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);

            // set video quality
            intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

            intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file
            // name

            // start the video capture Intent
            startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);
        }

        /**
         * Receiving activity result method will be called after closing the camera
         */
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            // if the result is capturing Image
            if (requestCode == CAMERA_CAPTURE_IMAGE_REQUEST_CODE) {
                if (resultCode == RESULT_OK) {
                    // successfully captured the image
                    // display it in image view
                    previewCapturedImage();
                } else if (resultCode == RESULT_CANCELED) {
                    // user cancelled Image capture
                    Toast.makeText(getApplicationContext(),
                            "User cancelled image capture", Toast.LENGTH_SHORT)
                            .show();
                } else {
                    // failed to capture image
                    Toast.makeText(getApplicationContext(),
                            "Sorry! Failed to capture image", Toast.LENGTH_SHORT)
                            .show();
                }
            } else if (requestCode == CAMERA_CAPTURE_VIDEO_REQUEST_CODE) {
                if (resultCode == RESULT_OK) {
                    // video successfully recorded
                    // preview the recorded video
                    previewVideo();
                } else if (resultCode == RESULT_CANCELED) {
                    // user cancelled recording
                    Toast.makeText(getApplicationContext(),
                            "User cancelled video recording", Toast.LENGTH_SHORT)
                            .show();
                } else {
                    // failed to record video
                    Toast.makeText(getApplicationContext(),
                            "Sorry! Failed to record video", Toast.LENGTH_SHORT)
                            .show();
                }
            }
        }

        /**
         * Display image from a path to ImageView
         */
        private void previewCapturedImage() {
            try {
                // hide video preview
                videoPreview.setVisibility(View.GONE);

                imgPreview.setVisibility(View.VISIBLE);

                // bimatp factory
                BitmapFactory.Options options = new BitmapFactory.Options();

                // downsizing image as it throws OutOfMemory Exception for larger
                // images
                options.inSampleSize = 8;

                final Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),
                        options);

                imgPreview.setImageBitmap(bitmap);
            } catch (NullPointerException e) {
                e.printStackTrace();
            }
        }

        /**
         * Previewing recorded video
         */
        private void previewVideo() {
            try {
                // hide image preview
                imgPreview.setVisibility(View.GONE);

                videoPreview.setVisibility(View.VISIBLE);
                videoPreview.setVideoPath(fileUri.getPath());
                // start playing
                videoPreview.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        /**
         * ------------ Helper Methods ----------------------
         * */

        /**
         * Creating file uri to store image/video
         */
        public Uri getOutputMediaFileUri(int type) {
            return Uri.fromFile(getOutputMediaFile(type));
        }

        /**
         * returning image / video
         */
        private static File getOutputMediaFile(int type) {

            // External sdcard location
            File mediaStorageDir = new File(
                    Environment
                            .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
                    IMAGE_DIRECTORY_NAME);

            // Create the storage directory if it does not exist
            if (!mediaStorageDir.exists()) {
                if (!mediaStorageDir.mkdirs()) {
                    Log.d(IMAGE_DIRECTORY_NAME, "Oops! Failed create "
                            + IMAGE_DIRECTORY_NAME + " directory");
                    return null;
                }
            }

            // Create a media file name
            String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
                    Locale.getDefault()).format(new Date());
            File mediaFile;
            if (type == MEDIA_TYPE_IMAGE) {
                mediaFile = new File(mediaStorageDir.getPath() + File.separator
                        + "IMG_" + timeStamp + ".png");
            } else if (type == MEDIA_TYPE_VIDEO) {
                mediaFile = new File(mediaStorageDir.getPath() + File.separator
                        + "VID_" + timeStamp + ".mp4");
            } else {
                return null;
            }

            return mediaFile;
        }

    }

Ketika semua kode sudah komplit... Maka yang terakhir adalah tinggal run aplikasinya...

Berikut adalah hasil running aplikasinya

 a. hasil menambahkan foto


 b. Hasil menambahkan vidio....



Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah







Tuesday, October 24, 2017

[Tutorial] Cara Push Project Android Studio Ke GitLab

October 24, 2017 0 Comments
Assalamualaikum Warahmatullah... Halo temen-temen... balik lagi bersama saya Ramadhany si programmer ganteng... Nah guys kali ini saya akan membagi tutorial tentang "Cara Push Project Android Studio Ke GitLab" Sebelum kalian masuk ke tutorial ini.. Kalian harus tau apa pengertian dari GitLab... Kalo kalian belum tau kalian bisa mengunjungi artikel berikut Pengertian GitLab Dan Tutorial Cara Membuat Project GitLab Dengan Mudah..... Kalo sudah paham, kalian bisa mengikuti tutorial ini.....






Oke kita langsung masuk ke tutorial nya.... 


Pertama

Buka GitLab Bash kalian.... nanti setelah di buka, akan muncul seperti ini


Kedua

Kalian Clone terlebih dahulu project anda di git bash anda

Ketiga

Buatlah folder dengan nama project gitlab anda.... Di sini saya memberi nama folder dengan LatihanPertamaKu

Keempat

setelah di clone dan buat project, langkah selanjunya adalah kalian masuk ke folder project gitlab dengan git bash kalian,


Bila sudah seperti ini berati tandanya anda sudah masuk ke folder project anda

Kelima

copy project Android Studio anda ke dalam folder yang sudah kamu buat tadi...



Keenam

kalian add folder tadi ke dalam project gitlab nya... 

A. add terlebih dahulu folder nya... berikut adalah perintah untuk add folder ke project


git add Latihan1

Ini hasil ketika sudah add folder project android studio kalian

B.  Setelah di add, langkah selanjutnya yaitu kita commit terlebih dahulu project nya, berikut adalah perintah nya


git commit -m "add Project Latihan1"

Jika sudah seperti ini, berati itu tandanya kalian berhasil commit project android studio kalian

C. Langkah terakhir adalah kalian tinggal push project android studio nya... Berikut adalah perintah untuk push di dalam gitlab



git push -u origin master



kalau sudah seperti ini.. Berati anda sudah berhasil push project android studio anda ke dalam gitlab

Keenam

Langkah terakhir yaitu tinggal anda cek.. Apakah project android studio anda sudah tersimpan di gitlab atau belum... Coba lihat di project GitLab anda kemudian Refresh halaman project anda... Bila sudah di Refresh halaman project akan berubah seperti ini





Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah