• Tidak ada hasil yang ditemukan

Andri Kristanto,2008. Perancangan Sistem Informasi dan Aplikasinya. Gava Media:

Yogyakarta [19 Mei 2018]

Anonim.Mengenal Android Studio.

https://developer.android.com/studio/intro/index.html [7 Juni 2018]

https://id.wikipedia.org/wiki/Android (sistem_operasi) [25 April 2018]

Anonim.Pengertian android dan java

http://www.jadibaru.com/android/pengenalan-android-studio-2/ [25 April 2018]

Arif Wicaksana. Pengertian Use Case.

https://medium.com/@arifwicaksanaa/pengertian-use-case-a7e576e1b6bf [11 Juni 2018]

Arifianto, Teguh. (2011). Membuat Interface Aplikasi Android Lebih Keren dengan LWUIT. Yogyakarta: Andi Publisher [7 Juni 2018]

Bima Injam Pamungkas. Naskah Publikasi Desain dan Implementasi Pemutar Musik Berbasis Android.http://repository.amikom.ac.id/files/Publikasi_10.02.7799 [23 April 2018]

Indrajani. (2011). Perancangan Basis Data dalam All in 1, PT. Elex Media Komputindo, Jakarta [ 7 Juni 2018]

Jamalus. 1988. Panduan Pengajaran Buku Pengajaran Musik Melalui Pengalaman Musik. Jakarta: Proyek Pengembangan Lembaga Pendidikan Tenga

Kependidikan. [ 7 Juni 2018]

Juhara, Zamrony P. 2016.Panduan Lengkap Pemrograman Adnroid. Yogyakarta:

Penerbit Andi. [19 Mei 2018]

Kenneth, Julie E Kendall. 2015.Analisis Dan Perancangan Sistem Edisi Kelima [9 Mei 2018]

Nazruddin Safaat H, 2011. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Informatika, Bandung. [19 Mei 2018]

LAMPIRAN

1. Listing Program

SplashScreenActivity.java

package com.example.acer.musicplayer;

import android.content.Intent;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

public class SplashScreenActivity extends AppCompatActivity { public static int time = 3000;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_splash_screen);

new Handler().postDelayed(new Runnable() { @Override

public void run() { Intent i = new

Intent(SplashScreenActivity.this, MainActivity.class);

startActivity(i);

finish();

} }, time);

} }

MainActivity.java

public class MainActivity extends AppCompatActivity { private ArrayList<SongInfo> _songs = new

ArrayList<SongInfo>();

ArrayList song,album_ID ; private List<String> title;

RecyclerView recyclerView;

SeekBar seekBar;

String album;

SongAdapter songAdapter;

MediaPlayer mediaPlayer;

MaterialSearchView searchView;

ListView lstView;

public static final int RUNTIME_PERMISSION_CODE = 7;

Handler handler = new Handler();

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

recyclerView = findViewById(R.id.RecycleView);

seekBar = findViewById(R.id.Seekbar);

song = new ArrayList();

album_ID = new ArrayList();

title = new ArrayList();

songAdapter = new SongAdapter(this,_songs);

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);

DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),linearLayoutMa nager.getOrientation());

recyclerView.addItemDecoration(dividerItemDecoration);

recyclerView.setLayoutManager(linearLayoutManager);

recyclerView.setAdapter(songAdapter);

Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

getSupportActionBar().setTitle("Music");

toolbar.setTitleTextColor(Color.parseColor("#ffffff"));

lstView = findViewById(R.id.recycler_view_fragment);

songAdapter.setOnItemClickListener(new SongAdapter.OnItemClickListener() {

@Override

public void onItemClick(final Button b, View v, final SongInfo obj, int position) {

Intent detail = new

Intent(MainActivity.this,DetailMusicActivity.class);

detail.putExtra("url", obj.getSongUrl());

detail.putExtra("album", obj.albumID);

detail.putExtra("position", position);

detail.putStringArrayListExtra("array_song", song);

searchView = findViewById(R.id.search_view);

searchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {

searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {

List<String> lstFound = new

lstView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?>

adapterView, View view, int i, long l) {

String selectedItemText = (String)

public class MyThread extends Thread{

@Override

}

private void CheckPermission(){

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if

32

public void onRequestPermissionsResult(int requestCode,

@NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){

Uri ur = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

String selection = MediaStore.Audio.Media.IS_MUSIC +"!=0";

SongInfo s = new

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.menu_item, menu);

MenuItem item = menu.findItem(R.id.action_search);

searchView.setMenuItem(item);

ArrayList<SongInfo> _songs;

Context context;

OnItemClickListener onItemClickListener;

SongAdapter(Context context, ArrayList<SongInfo> _songs){

this.context = context;

this._songs = _songs;

}

public interface OnItemClickListener{

void onItemClick(Button b, View v ,SongInfo obj, int position);

}

public void setOnItemClickListener(OnItemClickListener onItemClickListener){

this.onItemClickListener = onItemClickListener;

}

@Override

public SongHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

public void onBindViewHolder(@NonNull final SongHolder holder, final int position) {

final SongInfo c = _songs.get(position);

holder.songName.setText(c.songName);

holder.artistName.setText(c.artistName);

holder.btnAction.setOnClickListener(new View.OnClickListener() {

}

public class SongHolder extends RecyclerView.ViewHolder { TextView songName,artistName;

public class DetailMusicActivity extends AppCompatActivity { String url, albumID, Artist, Judul, play, S_shuffle;

MediaPlayer mediaPlayer;

TextView Txt_Artist, Txt_Judul, Txt_wkt_total, Txt_wkt_skrng;

ImageView image,next,previous,fast,rewind,shuffle;

FloatingActionButton fab;

SeekBar seekbar;

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_detail_music);

image = findViewById(R.id.Image);

Txt_wkt_total = findViewById(R.id.Txt_wkt_total);

Txt_wkt_skrng = findViewById(R.id.Txt_wkt_skrng);

fab = findViewById(R.id.fab);

seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

@Override

fab.setOnClickListener(new View.OnClickListener() { @Override

next.setOnClickListener(new View.OnClickListener() { @Override

previous.setOnClickListener(new View.OnClickListener() {

32

fast.setOnClickListener(new View.OnClickListener() { @Override

rewind.setOnClickListener(new View.OnClickListener() { @Override

shuffle.setOnClickListener(new View.OnClickListener() {

song = song_shuffle;

album_music = String.valueOf(album_ID.get(position));

song.get(position);

String url_music;

url_music = String.valueOf(song.get(position));

Uri ur = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

String selection = MediaStore.Audio.Media.IS_MUSIC +

"!=0";

34

public void playCycle() {

seekbar.setProgress(mediaPlayer.getCurrentPosition());

if (mediaPlayer.isPlaying()) {

handler.removeCallbacks(runnable);

super.onBackPressed();

} }

activity_splash_screen.xml

<?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.example.acer.musicplayer.SplashScreenActivi ty"

>

<ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/back_splash"

android:scaleType="centerCrop"/>

<TextView

android:id="@+id/textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:fontFamily="@font/audiowide"

android:text="MUSIC PLAYER"

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.example.acer.musicplayer.MainActivity"

>

<ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/back_splash"

android:scaleType="centerCrop"/>

<android.support.v7.widget.Toolbar android:layout_width="match_parent"

android:layout_height="?attr/actionBarSize"

android:id="@+id/toolbar"

android:background="@color/colorPrimary">

</android.support.v7.widget.Toolbar>

<com.miguelcatalan.materialsearchview.MaterialSearchView android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/search_view">

</com.miguelcatalan.materialsearchview.MaterialSearchView>

<ListView

android:layout_width="match_parent"

android:layout_height="fill_parent"

android:id="@+id/recycler_view_fragment"

android:scrollbars="vertical"

android:layout_below="@+id/toolbar"/>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:layout_below="@+id/toolbar">

<android.support.v7.widget.RecyclerView android:layout_width="match_parent"

Activity_detail_music.xml

<?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"

android:background="#FF303030"

android:fitsSystemWindows="true"

tools:context="com.example.acer.musicplayer.DetailMusicActivit y">

<ImageView

android:id="@+id/Image"

android:layout_width="match_parent"

android:layout_height="360dp"

android:src="@drawable/default_song_album"

android:scaleType="fitStart" />

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_above="@+id/Txt_Artist"

android:layout_marginBottom="35dp"

android:gravity="center"

<android.support.design.widget.FloatingActionButton android:id="@+id/fab"

android:layout_width="70dp"

android:layout_height="70dp"

android:layout_gravity="center"

android:layout_above="@+id/Txt_Artist"

android:layout_alignParentRight="true"

android:layout_margin="10dp"

android:layout_weight="1"

android:id="@+id/shuffle"

android:src="@drawable/ic_repeat" />

<TextView

android:id="@+id/Txt_Artist"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_above="@+id/Txt_Judul"

android:layout_marginLeft="8dp"

android:text="Daft Punk"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_above="@+id/Seekbar"

android:layout_margin="8dp"

android:text="Dance On The Floor"

android:textColor="#dcdcdc"

31

tools:text="Dance On The Floor" />

<SeekBar

android:id="@+id/Seekbar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_above="@+id/Txt_wkt_skrng" />

<TextView

android:id="@+id/Txt_wkt_skrng"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_margin="10dp"

android:text="00:00"

android:textAppearance="@style/TextAppearance.AppCompat.Captio n"

android:textColor="#afafaf"

tools:text="02:30" />

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/Txt_wkt_total"

android:layout_alignParentBottom="true"

android:layout_alignParentEnd="true"

android:layout_margin="10dp"

android:text="00:00"

android:textAppearance="@style/TextAppearance.AppCompat.Captio n"

android:textColor="#afafaf"

tools:text="02:30" />

</RelativeLayout>

33

35

Dokumen terkait