Membuat Aplikasi CRUD SQLite dengan Content Provider dan Circular Reveal Animation di Android Part1



Sebelumnya kita sudah membuat Aplikasi CRUD dengan SQLite sederhana, kali ini kita akan membuat CRUD dengan Content Provider dan akan kita tambahkan beberapa fitur seperti circular reveal animation material color picker, butterknife, kotlin untuk menjalankan library circular revealnya. jika anda masih menggunakan android studio 2.3 ke bawah anda harus menambahkan dulu plugin kotlinnya. dan akan ditambahkan juga foto, akan kita bahas bagaimana cara memasukan foto ke database SQLite.

demo Aplikasi CRUD SQLite di Android denganContent Provider dan Circular Reveal Animation

Langkah pertama Persiapan

1.buatlah projek baru kemudian tambahkan beberapa library berikut:
compile 'com.android.support:design:26.1.0'
compile 'com.hendraanggrian:reveallayout:0.5.3'
compile 'com.afollestad.material-dialogs:core:0.9.4.5'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.turki-alkhateeb:materialcolorpicker:1.0.7'
compile 'com.jakewharton:butterknife:8.7.0'

compile 'com.hendraanggrian:bundler:0.5.0'

compile 'com.android.support.constraint:constraint-layout:1.0.2'
kapt 'com.jakewharton:butterknife-compiler:8.7.0'

kapt 'com.hendraanggrian:bundler-compiler:0.5.0'

2. di arrays.xml tambahkan kode berikut, array ini natinya akan digunakan untuk mengisi nama gender dan pilihan untuk material dialog
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string-array name="array_gender_options">

        <item>@string/gender_unknown</item>

        <item>@string/gender_male</item>

        <item>@string/gender_female</item>

    </string-array>



    <string-array name="upload_images">

        <item>Pick from gallery</item>

        <item>Click from Camera</item>

        <item>Remove Image</item>

    </string-array>

    

    <string-array name="itemIds">

        <item>gallery_image</item>

        <item>camera_image</item>

        <item>remove_image</item>

    </string-array>

</resources>

3. tambahkan beberapa warna di file colors.xml seperti berikut, warna-warna ini natinya akan digunakan untuk warna thema nya, themanya nanti akan bisa diganti-ganti:
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <color name="colorPrimary">#3F51B5</color>

    <color name="colorPrimaryDark">#303F9F</color>

    <color name="colorAccent">#FF4081</color>

    <color name="colorShop">#9a1e1b</color>

    <color name="colorShop2">#071f53</color>

    <color name="colorNavText">#ffffff</color>

    <color name="colorSettings">#40000000</color>

    <color name="colorClick">#abcdef</color>

</resources>

4. tambahkan beberapa item di file string.xml
<resources>

    <string name="app_name">Employee</string>

    <string name="gender_male">Male</string>

    <string name="gender_female">Female</string>

    <string name="gender_unknown">Unknown</string>

</resources>

5. tambahkan beberapa thema di style.xml
<resources>



    <!-- Base application theme. -->

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/colorPrimary</item>

        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>

        <item name="colorAccent">@color/colorAccent</item>

    </style>



    <style name="AppTheme_red" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/red_colorPrimary</item>

        <item name="colorPrimaryDark">@color/red_colorPrimaryDark</item>

        <item name="colorAccent">@color/red_colorAccent</item>

    </style>



    <style name="AppTheme_pink" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/pink_colorPrimary</item>

        <item name="colorPrimaryDark">@color/pink_colorPrimaryDark</item>

        <item name="colorAccent">@color/pink_colorAccent</item>

    </style>



    <style name="AppTheme_darpink" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/darkpink_colorPrimary</item>

        <item name="colorPrimaryDark">@color/darkpink_colorPrimary</item>

        <item name="colorAccent">@color/darkpink_colorAccent</item>

    </style>



    <style name="AppTheme_violet" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/violet_colorPrimary</item>

        <item name="colorPrimaryDark">@color/violet_colorPrimaryDark</item>

        <item name="colorAccent">@color/violet_colorAccent</item>

    </style>



    <style name="AppTheme_blue" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/blue_colorPrimary</item>

        <item name="colorPrimaryDark">@color/blue_colorPrimaryDark</item>

        <item name="colorAccent">@color/blue_colorAccent</item>

    </style>



    <style name="AppTheme_skyblue" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/skyblue_colorPrimary</item>

        <item name="colorPrimaryDark">@color/skyblue_colorPrimaryDark</item>

        <item name="colorAccent">@color/skyblue_colorAccent</item>

    </style>



    <style name="AppTheme_green" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/green_colorPrimary</item>

        <item name="colorPrimaryDark">@color/green_colorPrimaryDark</item>

        <item name="colorAccent">@color/green_colorAccent</item>

    </style>



    <style name="AppTheme_grey" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/grey_colorPrimary</item>

        <item name="colorPrimaryDark">@color/grey_colorPrimaryDark</item>

        <item name="colorAccent">@color/grey_colorAccent</item>

    </style>



    <style name="AppTheme_brown" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/brown_colorPrimary</item>

        <item name="colorPrimaryDark">@color/brown_colorPrimaryDark</item>

        <item name="colorAccent">@color/brown_colorAccent</item>

    </style>



    <color name="red_colorPrimary">#ff0000</color>

    <color name="red_colorPrimaryDark">#DF0000</color>

    <color name="red_colorAccent">#F7F72D</color>



    <color name="pink_colorPrimary">#e91e63</color>

    <color name="pink_colorPrimaryDark">#CB1755</color>

    <color name="pink_colorAccent">#2095f2</color>



    <color name="darkpink_colorPrimary">#9b26af</color>

    <color name="darkpink_colorPrimaryDark">#7a1ea1</color>

    <color name="darkpink_colorAccent">#f34235</color>



    <color name="violet_colorPrimary">#6639b6</color>

    <color name="violet_colorPrimaryDark">#502ca7</color>

    <color name="violet_colorAccent">#e81d62</color>



    <color name="blue_colorPrimary">#3F51B5</color>

    <color name="blue_colorPrimaryDark">#3445A2</color>

    <color name="blue_colorAccent">#e81d62</color>



    <color name="skyblue_colorPrimary">#03A9F4</color>

    <color name="skyblue_colorPrimaryDark">#0094D7</color>

    <color name="skyblue_colorAccent">#fec006</color>



    <color name="green_colorPrimary">#4CAF50</color>

    <color name="green_colorPrimaryDark">#419744</color>

    <color name="green_colorAccent">#785447</color>



    <!--<color name="colorPrimary">#3F51B5</color>-->

    <!--<color name="colorPrimaryDark">#3445A2</color>-->



    <color name="grey_colorPrimary">#9d9d9d</color>

    <color name="grey_colorPrimaryDark">#606060</color>

    <color name="grey_colorAccent">#f90</color>



    <color name="brown_colorPrimary">#795548</color>

    <color name="brown_colorPrimaryDark">#63453B</color>

    <color name="brown_colorAccent">#e81d62</color>



    <style name="AppTheme.NoActionBar">

        <item name="windowActionBar">false</item>

        <item name="windowNoTitle">true</item>

    </style>



    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />



</resources>

6. buatlah folder menu kemudian buat menu_catalog.xml
<?xml version="1.0" encoding="utf-8"?>

<menu

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    tools:context=".EmployeeActivity">



    <item

        android:id="@+id/action_search"

        android:icon="@drawable/ic_search"

        app:showAsAction="always"

        android:title="Search"

        app:actionViewClass="android.support.v7.widget.SearchView" />

    <item

        android:id="@+id/delete_all"

        app:showAsAction="never"

        android:title="Delete All Employees" />



    <item

        android:id="@+id/setting"

        app:showAsAction="never"

        android:title="Setting" />

</menu>

Selanjutnya buat lagi menu_editor dan isikan dua item untuk save dan delete
<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:android="http://schemas.android.com/apk/res/android">



    <item

        android:id="@+id/action_save"

        android:icon="@drawable/ic_check"

        app:showAsAction="always"

        android:title="add" />

    <item

        android:id="@+id/action_delete"

        android:icon="@drawable/ic_delete_forever"

        app:showAsAction="always"

        android:title="delete" />

</menu>

7. buat folder xml di res dan buat file searchable.xml dengan isi sebagai berikut
<?xml version="1.0" encoding="utf-8"?>

<searchable xmlns:android="http://schemas.android.com/apk/res/android"

    android:label="EmployeeDirectory"

    android:hint="Search Employees"

    android:searchSuggestAuthority="com.giviews.employee"

    android:searchSuggestIntentAction="android.intent.action.VIEW"

    android:searchSuggestIntentData="content://com.giviews.employee.data.EmployeeContract/employees-path"

    android:searchSuggestSelection="first_name LIKE ? OR last_name LIKE ?"

    android:searchSuggestThreshold="2"

    android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" >

</searchable>

8. di folder drawable tambahkan beberapa icon, untuk menambahkan icon pada android studio bisa dilihat pada halaman ini

cukup sudah persiapan kita selanjutnya akan kita lanjutkan ke part2 kita akan membuat database helper, contract dan provider

Perintah Dasar Oracle Database

Selamat Siang, pada kesempatan kali ini admin akan membahas perintah-perintah dasar dari DBMS Oracle, mengapa oracle? karena oracle ini mempunyai kelebihan pemrosesan data yang cepat, digunakan oleh perusahaan-perusahaan besar dan cocok untuk membuat aplikasi yang bersekala besar. dibawah ini adalah rangkuman perintah-perintah dasar Oracle database yang dirangkum oleh admin, cocok bagi anda yang baru belajar oracle:

/***********************************************
*DDL(Data Definision Language)
**************************************************/


//----------------------koneksi--------
CONN

CONN sys as sysdba


//----------------------------Membuat user baru------------
CREATE USER selasa_diki IDENTIFIED BY stikomcki; 


//----------------KASIH PERMISION----------------
grant dba to selasa_diki;


//---------------------MELIHAT tabel-------------------------
SELECT * FROM tab;


//------------------------- melihat field dari tabel----------
desc barang;


//------------------menampilkan isi data dari tabel--------------
select * from pegawai;



//-------------------------------membuat table------------------
CREATE TABLE barang (kode_barang char(6), nama_barang varchar2(30), satuan_barang varchar2(10));

CREATE TABLE suplier (kode_suplier char(6), nama_suplier varchar2(30), alamat_suplier varchar2(50));

CREATE TABLE cutomer (kode_customer char(6), nama_customer varchar2(30), alamat_customer varchar2(50));

CREATE TABLE pasok (kode_pasok char(6), kode_barang char(6), kode_suplier char(6), jumlah_pasok number(38));

CREATE TABLE pembelian (kode_pembelian char(6), kode_barang char(6), kode_customer char(6), jumlah_pembelian number(38));



//--------menambahkan primary key---------
ALTER TABLE barang ADD CONSTRAINT pk PRIMARY KEY (kode_barang);

ALTER TABLE suplier ADD CONSTRAINT pk_suplier PRIMARY KEY (kode_suplier);

ALTER TABLE customer ADD CONSTRAINT pk_customer PRIMARY KEY (kode_customer);

ALTER TABLE pasok ADD CONSTRAINT pk_pasok PRIMARY KEY (kode_pasok);



//-----------------menambahkan foreign key--------------
ALTER TABLE pembelian ADD CONSTRAINT fk_barang FOREIGN KEY (kode_barang) REFERENCES barang ON DELETE CASCADE;

ALTER TABLE pembelian ADD CONSTRAINT fk_customer FOREIGN KEY (kode_customer) REFERENCES customer ON DELETE CASCADE;

ALTER TABLE pasok ADD CONSTRAINT fk_brg FOREIGN KEY (kode_barang) REFERENCES barang ON DELETE CASCADE;

ALTER TABLE pasok ADD CONSTRAINT fk_suplier FOREIGN KEY (kode_suplier) REFERENCES suplier ON DELETE CASCADE;




//-----------------mengubah tipe data---------------------
ALTER TABLE suplier MODIFY (nama_suplier char(40));



//---------------menghapus table-----------
drop table pasok;



//--------------penambahan field baru------------
ALTER TABLE barang ADD (stok_barang int);







/************************************************
*DML(Data Manipulation Language)
*************************************************/

//-----------------Insert Data-----------
insert into barang(kode_barang,nama_barang,satuan_barang,stok_barang) values('B001','Lemari Es','unit',11);

insert into barang(kode_barang,nama_barang,satuan_barang,stok_barang) values('B002','Rice Cooker','buah',23);

insert into pasok values('P001','B002','S001',5);

 insert into pasok values('P002','B003','S002',20);



//-------------------UPDATE------------------------------------
UPDATE pegawai SET nama = 'BU ATIK' WHERE nama = 'ATIK';

update barang set satuan_barang = 'unit' where kode_barang = 'B003';

update pasok set kode_barang = 'B002' where kode_pasok = 'P001';
update pasok set kode_barang = 'B003' where kode_pasok = 'P002';











/******************************************************************
*Pengelompokan, pengurutan dan kriteria data
*******************************************************************



//----------GROUP BY----------------------------------------------

SELECT TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2, MIN(TUNJANGAN_ISTRI) FROM pegawai GROUP BY TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2;

SELECT TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2, MAX(TUNJANGAN_ISTRI) FROM pegawai GROUP BY TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2;

SELECT TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2, AVG(TUNJANGAN_ISTRI) FROM pegawai GROUP BY TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2;

SELECT TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2, SUM(TUNJANGAN_ISTRI) FROM pegawai GROUP BY TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2;

SELECT TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2, COUNT(TUNJANGAN_ISTRI) FROM pegawai GROUP BY TUNJANGAN_ISTRI, TUNJANGAN_ANAK1, TUNJANGAN_ANAK2;

//------------LATIHAN---------------------------------
SELECT ID_PEGAWAI as id_peg, MIN(ID_JABATAN) as min_pasok FROM pegawai GROUP BY ID_PEGAWAI, ID-JABATAN;

SELECT ID_PEGAWAI as id_peg, MAX(ID_JABATAN) as max_pasok FROM pegawai GROUP BY ID_PEGAWAI, ID-JABATAN;

SELECT ID_PEGAWAI as id_peg, AVG(ID_JABATAN) as avg_pasok FROM pegawai GROUP BY ID_PEGAWAI, ID-JABATAN;

SELECT ID_PEGAWAI as id_peg, SUM(ID_JABATAN) as sum_pasok FROM pegawai GROUP BY ID_PEGAWAI, ID-JABATAN;

SELECT ID_PEGAWAI as id_peg, COUNT(ID_JABATAN) as count_pasok FROM pegawai GROUP BY ID_PEGAWAI, ID-JABATAN;

select kode_barang as kd_brg, min(jumlah_pasok) as minimum_pasok from pasok group by kode_barang, jumlah_pasok;

select kode_barang as kd_bg, min(jumlah_pembelian) as minimal_pembelian from pembelian group by kode_barang;

select kode_barang as kd_bg, max(jumlah_pembelian) as maximal_pembelian from pembelian group by kode_barang;

select kode_barang as kd_bg, avg(jumlah_pembelian) as rata_rata_pembelian from pembelian group by kode_barang;

select kode_barang as kd_bg, sum(jumlah_pembelian) as total_pembelian from pembelian group by kode_barang;

select kode_barang as kd_bg, count(jumlah_pembelian) as jumlah_pembelian from pembelian group by kode_barang;

//------------cacah pembelian per customer---------------
select kode_customer as kd_cust, count(jumlah_pembelian) as jumlah_pembelian from pembelian group by kode_customer;




//-------------------ORDER BY----------------------------
SELECT * FROM pegawai ORDER BY NAMA;

Download Ebook Dasar-dasar Oracle Database
bagi anda yang ingin mempelajari oracle bisa mendownload ebook pada link dibawah


ok sekianlah pembahasan oracle kali ini, semoga bermanfaat, jika ada yang kurang jelas silakan ditanyakan pada komentar dibawah, terimakasih sudah berkunjung ke blog kami

Membuat Aplikasi Multimedia Pemutar Musik dan Video di Android Studio

Pada kesempatan kali ini kita akan membuat aplikasi pemutar music dan pemutar video di android, kita akan menggunakan dua activity yang pertama buat music player dan yang kedua buat video player.



Untuk itu langsung saja buat SoundActivity dan masukan seekbar beserta beberapa tombol di xmlnya
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
xmlns:app="http://schemas.android.com/apk/res-auto"
   
xmlns:tools="http://schemas.android.com/tools"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
tools:context="com.giviews.soundandvideoplayer.SoundActivity">

    <
SeekBar
       
android:id="@+id/soundSeekBar"
       
android:layout_alignParentTop="true"
       
android:layout_alignParentLeft="true"
       
android:layout_marginTop="179dp"
       
android:layout_width="match_parent"
       
android:layout_height="wrap_content" />
    <
Button
       
android:id="@+id/playButton"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:text="play"
       
android:layout_below="@+id/soundSeekBar"
       
android:layout_marginLeft="16dp"
       
android:layout_marginTop="38dp"/>
    <
Button
       
android:id="@+id/pauseButton"
       
android:layout_width="wrap_content"
        
android:layout_height="wrap_content"
       
android:text="pause"
       
android:layout_centerHorizontal="true"
       
android:layout_below="@+id/soundSeekBar"
       
android:layout_marginLeft="16dp"
       
android:layout_marginTop="38dp"/>
    <
Button
       
android:id="@+id/stopButton"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:text="stop"
       
android:layout_alignParentRight="true"
       
android:layout_below="@+id/soundSeekBar"
       
android:layout_marginRight="16dp"
       
android:layout_marginTop="38dp"/>

    <
Button
       
android:id="@+id/videoButton"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:text="See the Video"
       
android:layout_alignParentBottom="true"
       
android:layout_centerHorizontal="true"
       
android:layout_marginBottom="36dp"/>

</
RelativeLayout>

kemudian untuk java di SoundActivity masukan kode dibawah
package com.giviews.soundandvideoplayer;



import android.app.Activity;

import android.content.Intent;

import android.media.MediaPlayer;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.SeekBar;



public class SoundActivity extends Activity implements Runnable {

    private Button startButton;

    private Button stopButton;

    private Button pauseButton;

    private Button videoButton;

    private SeekBar soundSeekBar;

    private MediaPlayer soundPlayer;

    private Thread soundThread;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_sound);



        startButton = (Button) findViewById(R.id.playButton);

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

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

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

        soundSeekBar = (SeekBar) findViewById(R.id.soundSeekBar);

        soundPlayer = MediaPlayer.create(this.getBaseContext(), R.raw.pomdeter);



        setupListeners();



        soundThread = new Thread(this);

        soundThread.start();

    }



    private void setupListeners() {

        startButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                soundPlayer.start();

            }

        });



        pauseButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                soundPlayer.pause();

            }

        });



        stopButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View currentView) {

                soundPlayer.stop();

                soundPlayer =  MediaPlayer.create(getBaseContext(), R.raw.pomdeter);

            }

        });



        videoButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View currentView) {

                Intent intent = new Intent(currentView.getContext(), VideoActivity.class);

                startActivityForResult(intent, 0);

            }

        });



        soundSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

            @Override

            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

                if (fromUser)

                {

                    soundPlayer.seekTo(progress);

                }

            }



            @Override

            public void onStartTrackingTouch(SeekBar seekBar) {



            }



            @Override

            public void onStopTrackingTouch(SeekBar seekBar) {



            }

        });

    }



    @Override

    public void run() {

        int currentPosition = 0;

        int soundTotal = soundPlayer.getDuration();

        soundSeekBar.setMax(soundTotal);



        while (soundPlayer != null && currentPosition < soundTotal)

        {

            try

            {

                Thread.sleep(300);

                currentPosition = soundPlayer.getCurrentPosition();

            } catch (InterruptedException soundException) {

                return;

            } catch (Exception otherException) {

                return;

            }

            soundSeekBar.setProgress(currentPosition);

        }

    }



    @Override

    public void onPointerCaptureChanged(boolean hasCapture) {



    }

}

selanjutnya buat VideoActivity, di Video Activity masukan VideoView dan sebuah button untuk kembali ke activity sebelumnya
<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.giviews.soundandvideoplayer.VideoActivity">



    <VideoView

        android:id="@+id/videoView"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="164dp"/>



    <Button

        android:id="@+id/homeButton"

        android:text="goto sound player"

        android:layout_marginTop="36dp"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" />



</RelativeLayout>

untuk java di VideoActivity masukan kode di bawah
package com.giviews.soundandvideoplayer;



import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.MediaController;

import android.widget.VideoView;



public class VideoActivity extends Activity {

    private VideoView myPlayer;

    private Button returnButton;

    private MediaController myVideoController;

    private Uri videoLocation;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_video);



        myPlayer = (VideoView) findViewById(R.id.videoView);

        returnButton = (Button) findViewById(R.id.homeButton);



        videoLocation = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.party);

        myVideoController = new MediaController(this);

        //prepare the video

        setupMedia();

        setupListeners();

    }



    private void setupListeners() {

        returnButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View currentView) {

                Intent returnIntent = new Intent();

                setResult(RESULT_OK, returnIntent);

                finish();

            }

        });

    }



    private void setupMedia() {

        myPlayer.setMediaController(myVideoController);

        myPlayer.setVideoURI(videoLocation);

    }

}

kemudian untuk file music dan videonya buat directory raw di dalam folder res dan masukan file mp3 dan mp4 untuk sample




Sekarang jalankan aplikasinya di emulator / di hp android anda jika tampilanya seperti gambar diatas maka berhasil, sekianlah tutorial kali ini selamat mencoba semoga bermanfaat, jangan lupa share  artikel ini jika bermanfaat bila ada yang kurang jelas silakan di tanyakan di komentar dibawah