Aplikasi Galeri Video Berbasis Mobile Android
Assalamu'alaikum Wr. Wb
Hello sahabat blogerss, kali ini saya akan membuat "aplikasi galeri video berbasis mobile android" menggunakan android studio. Tujuan dibuatnya aplikasi ini untuk memenuhi tugas project UAS mobile programming. Di dalam aplikasi yang saya buat kali ini terdapat form login, menu galeri, dan tampilan untuk play video. Untuk menjalankan dan membuat aplikasinya, ikuti langkah-langkahnya sebagai berikut :
Langkah awal memulai aplikasinya >>>
1. Masuk ke form login
2. Login sukses masuk ketampilan galeri video
3. Pilih salah satu video yang tersedia
4. Setelah selesai dipilih videonya
5. Maka muncul tampilan play video
6. Untuk kembali kegaleri video klik tombol back
7. Digaleri video terdapat tombol log out jika ingin keluar dan kembali ke form login.
Langkah pembuatan aplikasinya >>>
Buat design layoutnya terlebih dahulu seperti dibawah ini :
1. Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="50dp"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:paddingTop="50dp"
tools:context=".MainActivity">
<TextView
android:text="Login Form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:id="@+id/textView"
android:textAlignment="center"
android:textSize="30sp"
android:textStyle="normal|bold" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/username"
android:hint="Username"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="37dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:layout_below="@+id/username"
android:layout_alignParentLeft="true"
android:id="@+id/password"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="Password" />
<Button
android:text="Log In"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/password"
android:layout_centerHorizontal="true"
android:id="@+id/btnLogin" />
</RelativeLayout>
2. Activity_galeri.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Galeri"
>
<ImageView
android:id="@+id/logo"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/logo" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/motivasi"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="motivasi"
android:src="@drawable/motivasi" />
<ImageView
android:id="@+id/komedi"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="komedi"
android:src="@drawable/komedi" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/sports"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="sports"
android:src="@drawable/sports" />
<ImageView
android:id="@+id/dakwah"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="dakwah"
android:src="@drawable/dakwah" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="66dp"
android:orientation="horizontal">
<Button
android:id="@+id/bExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="Log_Out"
android:text="Log Out" />
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Galeri"
>
<ImageView
android:id="@+id/logo"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/logo" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/motivasi"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="motivasi"
android:src="@drawable/motivasi" />
<ImageView
android:id="@+id/komedi"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="komedi"
android:src="@drawable/komedi" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/sports"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="sports"
android:src="@drawable/sports" />
<ImageView
android:id="@+id/dakwah"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_gravity="center"
android:layout_margin="16dp"
android:layout_weight="1"
android:onClick="dakwah"
android:src="@drawable/dakwah" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="66dp"
android:orientation="horizontal">
<Button
android:id="@+id/bExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="Log_Out"
android:text="Log Out" />
</LinearLayout>
</LinearLayout>
3. Activity_dakwah.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top|center"
android:orientation="vertical"
tools:context="com.example.adjitulus_161011401382.dakwah">
<VideoView
android:id="@+id/video1"
android:layout_width="match_parent"
android:layout_height="250dp" />
<Button
android:id="@+id/play1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:text="Play Video" />
<Button
android:id="@+id/bBack"
android:layout_width="@android:dimen/thumbnail_width"
android:layout_height="wrap_content"
android:text="BACK" />
</LinearLayout>
4. Activity_komedi.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top|center"
android:orientation="vertical"
tools:context="com.example.adjitulus_161011401382.komedi">
<VideoView
android:id="@+id/video1"
android:layout_width="match_parent"
android:layout_height="250dp" />
<Button
android:id="@+id/play1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:text="Play Video" />
<Button
android:id="@+id/bBack"
android:layout_width="@android:dimen/thumbnail_width"
android:layout_height="wrap_content"
android:text="BACK" />
</LinearLayout>
5. Activity_motivasi.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top|center"
android:orientation="vertical"
tools:context="com.example.adjitulus_161011401382.motivasi">
<VideoView
android:id="@+id/video1"
android:layout_width="match_parent"
android:layout_height="250dp" />
<Button
android:id="@+id/play1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:text="Play Video" />
<Button
android:id="@+id/bBack"
android:layout_width="@android:dimen/thumbnail_width"
android:layout_height="wrap_content"
android:text="BACK" />
</LinearLayout>
6. Activity_sports.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top|center"
android:orientation="vertical"
tools:context="com.example.adjitulus_161011401382.sports">
<VideoView
android:id="@+id/video1"
android:layout_width="match_parent"
android:layout_height="250dp" />
<Button
android:id="@+id/play1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:text="Play Video" />
<Button
android:id="@+id/bBack"
android:layout_width="@android:dimen/thumbnail_width"
android:layout_height="wrap_content"
android:text="BACK" />
</LinearLayout>
Selanjutnya source code javanya kita buat seperti dibawah ini :
1. MainActivity.java
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText username, password;
Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setTitle("Adji Tulus P_161011401382");
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
btnLogin = (Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String usernameKey = username.getText().toString();
String passwordKey = password.getText().toString();
if (usernameKey.equals("Tulus") && passwordKey.equals("123")){
Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, Galeri.class);
MainActivity.this.startActivity(intent);
finish();
}else {
//jika login gagal
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Username atau Password Anda salah!")
.setNegativeButton("Retry", null).create().show();
}
}
});
}
}
2. Galeri.java
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class Galeri extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_galeri);
getSupportActionBar().setTitle("Galeri Video");
}
public void sports(View view) {
Intent intent = new Intent(Galeri.this, sports.class);
startActivity(intent);
}
public void dakwah(View view) {
Intent intent = new Intent(Galeri.this, dakwah.class);
startActivity(intent);
}
public void komedi(View view) {
Intent intent = new Intent(Galeri.this, komedi.class);
startActivity(intent);
}
public void motivasi(View view) {
Intent intent = new Intent(Galeri.this, motivasi.class);
startActivity(intent);
}
public void Log_Out(View view) {
Intent intent = new Intent(Galeri.this, MainActivity.class);
startActivity(intent);
}
}
3. Dakwah.java
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class dakwah extends AppCompatActivity {
//Deklarasi Variable
private VideoView videoView;
private MediaController mediaController;
private Button playVideo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dakwah);
getSupportActionBar().setTitle("Dakwah");
//Inisialisasi VideoView, MediaController dan Button
videoView = findViewById(R.id.video1);
playVideo = findViewById(R.id.play1);
mediaController = new MediaController(this);
//Menjalankan Video saat tombol Play di Klik
playVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Variable Uri untuk menentukan lokasi Resource Video yang akan ditampilkan
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.dakwah);
videoView.setVideoURI(uri);
//Memasang MediaController untuk menampilkan tombol play, pause, dsb
videoView.setMediaController(mediaController);
mediaController.setAnchorView(videoView);
//Menjalankan Video
videoView.start();
}
});
Button bBack = (Button) findViewById(R.id.bBack);
bBack.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(dakwah.this, Galeri.class);
dakwah.this.startActivity(intent);
finish();
}
});
}
}
4. Komedi.java
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class komedi extends AppCompatActivity {
//Deklarasi Variable
private VideoView videoView;
private MediaController mediaController;
private Button playVideo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_komedi);
getSupportActionBar().setTitle("Komedi");
//Inisialisasi VideoView, MediaController dan Button
videoView = findViewById(R.id.video1);
playVideo = findViewById(R.id.play1);
mediaController = new MediaController(this);
//Menjalankan Video saat tombol Play di Klik
playVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Variable Uri untuk menentukan lokasi Resource Video yang akan ditampilkan
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.komedi);
videoView.setVideoURI(uri);
//Memasang MediaController untuk menampilkan tombol play, pause, dsb
videoView.setMediaController(mediaController);
mediaController.setAnchorView(videoView);
//Menjalankan Video
videoView.start();
}
});
Button bBack = (Button) findViewById(R.id.bBack);
bBack.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(komedi.this, Galeri.class);
komedi.this.startActivity(intent);
finish();
}
});
}
}
5. Motivasi.java
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class motivasi extends AppCompatActivity {
//Deklarasi Variable
private VideoView videoView;
private MediaController mediaController;
private Button playVideo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_motivasi);
getSupportActionBar().setTitle("Motivasi");
//Inisialisasi VideoView, MediaController dan Button
videoView = findViewById(R.id.video1);
playVideo = findViewById(R.id.play1);
mediaController = new MediaController(this);
//Menjalankan Video saat tombol Play di Klik
playVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Variable Uri untuk menentukan lokasi Resource Video yang akan ditampilkan
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.motivasi);
videoView.setVideoURI(uri);
//Memasang MediaController untuk menampilkan tombol play, pause, dsb
videoView.setMediaController(mediaController);
mediaController.setAnchorView(videoView);
//Menjalankan Video
videoView.start();
}
});
Button bBack = (Button) findViewById(R.id.bBack);
bBack.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(motivasi.this, Galeri.class);
motivasi.this.startActivity(intent);
finish();
}
});
}
}
6. Sports.java
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.VideoView;
public class sports extends AppCompatActivity {
//Deklarasi Variable
private VideoView videoView;
private MediaController mediaController;
private Button playVideo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sports);
getSupportActionBar().setTitle("Sports");
//Inisialisasi VideoView, MediaController dan Button
videoView = findViewById(R.id.video1);
playVideo = findViewById(R.id.play1);
mediaController = new MediaController(this);
//Menjalankan Video saat tombol Play di Klik
playVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Variable Uri untuk menentukan lokasi Resource Video yang akan ditampilkan
Uri uri = Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.sport);
videoView.setVideoURI(uri);
//Memasang MediaController untuk menampilkan tombol play, pause, dsb
videoView.setMediaController(mediaController);
mediaController.setAnchorView(videoView);
//Menjalankan Video
videoView.start();
}
});
Button bBack = (Button) findViewById(R.id.bBack);
bBack.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(sports.this, Galeri.class);
sports.this.startActivity(intent);
finish();
}
});
}
}
Hasil Run nya seperti dibawah ini >>>
Tampilan form login dengan username "Tulus" password "123"
Berhasil login dan muncul tampilan pilihan galeri video motivasi, sports, komedi, & dakwah.
Pilih salah satu video yang ingin kita tonton dengan mengklik gambar atau icon yang tersedia, contohnya seperti hasil run aplikasi diatas.
Jika kita klik video motivasi, maka akan muncul gambar seperti diatas ini
Jika kita klik video sports, maka akan muncul gambar seperti diatas ini
Jika kita klik video komedi, maka akan muncul gambar seperti diatas ini
Jika kita klik video dakwah, maka akan muncul gambar seperti diatas ini
Sekian hanya itu yang bisa saya jelaskan tentang pembuatan aplikasi galeri video berbasis mobile android.
Kurang lebihnya mohon maaf, selamat mencoba ^_^







Komentar
Posting Komentar