#Aplikasi kompas dengan menggunakan android studio
Ok pada artikel kali ini saya akan membuat aplikasi kompas dengan menggunakan tools android studio. kurang lebih tampilan aplikasinya yaitu seperti gambar berikut ini :
Salah satu komponen pada Android yang bisa dikembangkan adalah bagian sensor. Beberapa sensor yang ada di perangkat Android umunya yaitu Accelerometer, Light, Orientation, Prioximity, Temperature, Gyroscope, Sound, Magnetic, dan Pressure. Namun dalam satu perangkat bisa saja tidak memiliki semua sensor. Untuk mendeteksi sensor apa saja yang terdapat pada perangkat anda bisa menggunakan aplikasi yang tersedia di Play Store.
Untuk aplikasi menggunakan sensor kali ini yang ingin saya kembangkan adalah menggunakan sensor magnetic dalam membuat kompas.
Pertama-tama siapkan gambar kompas yang akan digunakan. Bisa mencari di internet
atau membuat sendiri. Lebih baik jika gambar dalam bentuk *.png agar bisa memiliki
background yang transparan.
Untuk antarmuka aplikasi, saya akan menggunakan Textview dan widget ImageView.
Untuk TextView sendiri nantinya berfungsi untuk menunjukkan berapa nilai heading daring kompas, sementara ImageView berperan sebagai arah navigasi kompas dengan menggunakan sebuah gambar navigasi. Aplikasi ini nanti berjalan menggunakan Android Light Sensor.
Dalam proses pembuatan aplikasinya silahkan ikuti langkah-langkah berikut ini:
#1 Membuat projek Baru
saya kira untuk pembuatan projek baru ini sangat mudah sekali, namun jika kalian masih bingung silahkan ikuti langkah berikut ini :
- Buka android studio kemudian buatlah projek baru dengan cara klik File==>New==>New Project
- pada Aplication Name berinama kompas==>lalu klik next
- pilih minimum SDK==>klik Next
- pilih Empty Activity==>klik Next==>Finish
- pastikan struktur projeknya seperti berikut ini
#2 Script Program
setelah proses pembuatan projek baru diatas sudah kalian lakukan dengan benar, maka selanjutnya silahkan kalian Copy script berikut ini :
- Pada file MainActivity.java silahkan ganti dengan script berikut ini
package com.example.smart.kompasd; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.RotateAnimation; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends Activity implements SensorEventListener { // variabel untuk gambar kompas yang digunakan private ImageView image; // variabel untuk menangkap derajat perputaran private float currentDegree = 0f; // device sensor manager private SensorManager mSensorManager; TextView tvHeading; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // mengintegrasikan gambar dari file xml image = (ImageView) findViewById(R.id.imageViewCompass); // variabel ini akan menagkap derajat kemana perangkat menghadap tvHeading = (TextView) findViewById(R.id.tvHeading); // initialize sensor android apakah kompatible mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); } @Override protected void onResume() { super.onResume(); mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME); } @Override protected void onPause() { super.onPause(); // to stop the listener and save battery mSensorManager.unregisterListener(this); } @Override public void onSensorChanged(SensorEvent event) { // // mendapatkan derajat sumbu z float degree = Math.round(event.values[0]); tvHeading.setText("Heading " + Float.toString(degree) + "°"); // membuat animasi rotasi RotateAnimation ra = new RotateAnimation( currentDegree, -degree, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); // how long the animation will take place ra.setDuration(60); // set the animation after the end of the reservation status ra.setFillAfter(true); // memulai animasi image.startAnimation(ra); currentDegree = -degree; } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // not in use } }
- pada file content_main.xml gantilah dengan script berikut ini (jika file content_main.xml tidak ada silahkan kamu letakan di file activity_main.xml tidak masalah)
(pada script yang berwarna merah sesuakan dengan paket projek kalian masing-masing disaat membuat projek baru tadi jangan di rubah)
<?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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.example.smart.kompasd.MainActivity" tools:showIn="@layout/activity_main"> <ImageView android:layout_width="wrap_content" android:layout_height="120dp" android:src="@drawable/prompt" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignTop="@+id/tvHeading" android:layout_marginTop="-62dp" android:id="@+id/imageView" /> <TextView android:id="@+id/tvHeading" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginBottom="40dp" android:layout_marginTop="40dp" android:text="Heading 0" android:textColor="#ffffff" android:textSize="28dp" /> <ImageView android:id="@+id/imageViewCompass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/kompas" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginRight="17dp" android:layout_marginLeft="17dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/textView" android:textAlignment="center" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="20dp" android:textColor="#acacac" android:textSize="14dp" /> </RelativeLayout>
- kemudian downloadlah kedua gambar berikut ini
- letakkan kedua gambar tersebut kedalam folder LocalDisk C==>Users==>NamaKomputerKamu==>androidStudioProject==>kompas==>app==>src==>main==>res==>drawable
- Pada file AndroidManifest.xml pastikan sesuai seperti script berikut ini
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.smart.kompasd"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
jika semua sudah selesai kalian lakukan, maka selanjutnya silahkan projeknya kamu jalankan.
hasil output diatas saya jalankan dengan emulator HP Android saya. selamat mencoba dan sukses.
hasil output diatas saya jalankan dengan emulator HP Android saya. selamat mencoba dan sukses.
#Download program lengkap
Klik DISINI
Cara downloadnya pada pojok kanan atas, tunggu 5 detik==>klik skip
BACA JUGA : Cara menjalankan projek android studio dengan emulator HP android
Posting Komentar untuk "pemanfaatan sensor kompas dengan android studio"