Blog Tutorial Android Bagi Pemula

Friday, December 18, 2020

Cara Mendapatkan Informasi Sistem Dari Perangkat Android

Tak jarang pada sebuah aplikasi yang kita gunakan kita mendapati informasi mengenai perangkat Android yang kita gunakan, misalnya merek, pembuat, model, versi android, dan lain sebagainya dari perangkat android kita.

Pada kesempatan ini gwnbs akan berbagi mengenai cara bagaimana kodingan untuk mendapatkan informasi tersebut, caranya lumayan sederhana dan mudah, tentunya bagi Anda yang belum tahu caranya ya, kalau sudah tahu berarti Anda sudah tahu dan tidak perlu dilanjutkan.


Cara mendapatkan informasi perangkat android
Gambar 1 : Memperlihatkan informasi dari perangkat

Disini kita akan menampilkan beberapa informasi mengenai perangkat Android yang menggunakan aplikasi kita. Misalnya di activity_main.xml kita memiliki sebuah tombol yang akan memunculkan informasi mengenai perangkat melalui dialog.

activity_main.xml :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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=".MainActivity">

<Button
android:id="@+id/buttonInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="serif"
android:text="Show Information"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>


Karena kita disini memunculkan informasi melalui AlertDialog custom, maka kita membutuhkan layout untuk di inflate. Berikut layout custom untuk alert dialog tersebut, dengan nama layout_dialog.xml.

layout_dialog.xml :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="30dp"
android:background="@color/black"
android:orientation="vertical"
android:padding="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:fontFamily="serif"
android:text="Device Information"
android:textColor="@color/white"
android:textSize="25sp"
android:textStyle="bold" />

<TextView
android:id="@+id/textDeviceInformation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="serif"
android:textColor="@color/white"
android:textSize="20sp" />

<TextView
android:id="@+id/textCloseDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="30dp"
android:fontFamily="serif"
android:gravity="center"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:text="Close"
android:textAllCaps="true"
android:textColor="@color/teal_700"
android:textSize="22sp"
android:textStyle="bold" />

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>


Di dalam layout diatas kita memiliki 3 TextView. TextView pertama hanya sebagai judul dari dialog, TextView kedua yang nantinya akan kita setel nilainya untuk menampilkan informasi mengenai perangkat, dan TextView terakhir sebagai tombol untuk menutup dialog.

Pada contoh ini kita akan menyetel nilai TextView informasi perangkat menggunakan mode HTML supaya warna teks dapat di kustominasi. Namun juga nantintya akan diberikan penyetelan TextView secara normal.


Untuk mendapatkan informasi, kita memanggil kelas Build diikuti nama dari informasi yang diinginkan. Misalnya : Build.VERSION.SDK_INT untuk mendapatkan informasi mengenai versi SDK dari perangkat Android.

MainActivity.java :
package com.gwnbs.systeminformation;

import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.text.HtmlCompat;

public class MainActivity extends AppCompatActivity {

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

//metode klik tombol untuk memunculkan dialog
findViewById(R.id.buttonInfo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialogDeviceInformation();
}
});
}

//Memunculkan dialog
private void dialogDeviceInformation() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.layout_dialog, null);
TextView textDeviceInformation = view.findViewById(R.id.textDeviceInformation);
builder.setView(view);

setTextToDeviceInformation(textDeviceInformation);

final AlertDialog dialogInformation = builder.create();
if (dialogInformation.getWindow() !=null) {
dialogInformation.getWindow().setBackgroundDrawable(new ColorDrawable(0));
}

view.findViewById(R.id.textCloseDialog).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialogInformation.dismiss();
}
});

dialogInformation.show();
}

//metode private menyetel nilai textview dengan mode HTML
private void setTextToDeviceInformation(TextView textDeviceInformation) {
textDeviceInformation.setText(HtmlCompat.fromHtml("<font color=green>Model</font> : " + Build.MODEL +
"<br/><font color=green>ID</font> : " + Build.ID +
"<br/><font color=green>Manufacturer</font> : " + Build.MANUFACTURER +
"<br/><font color=green>Brand</font> : " + Build.BRAND +
"<br/><font color=green>Type</font> : " + Build.TYPE +
"<br/><font color=green>User</font> : " + Build.USER +
"<br/><font color=green>Base</font> : " + Build.VERSION_CODES.BASE +
"<br/><font color=green>Incremental</font> : " + Build.VERSION.INCREMENTAL +
"<br/><font color=green>Android SDK</font> : " + Build.VERSION.SDK_INT +
"<br/><font color=green>Board</font> : " + Build.BOARD +
"<br/><font color=green>Host</font> : " + Build.HOST +
"<br/><font color=green>Fingerprint</font> : " + Build.FINGERPRINT +
"<br/><font color=green>Android Version</font> : " + Build.VERSION.RELEASE,
HtmlCompat.FROM_HTML_MODE_LEGACY));
}
}


Jika Anda ingin menggunakan mode menyetel teks secara biasa, silahkan gantikan metode private menyetel nilai string TextView diatas menjadi kode dibawah seperti dibawah ini :

private void setTextToDeviceInformation(TextView textDeviceInformation) {
textDeviceInformation.setText("Model : " + Build.MODEL + "\n" +
"ID : " + Build.ID + "\n" +
"Manufacturer : " + Build.MANUFACTURER + "\n" +
"Brand : " + Build.BRAND + "\n" +
"Type : " + Build.TYPE + "\n" +
"User : " + Build.USER + "\n" +
"Base : " + Build.VERSION_CODES.BASE + "\n" +
"Incremental : " + " " + Build.VERSION.INCREMENTAL + "\n" +
"Android SDK : " + Build.VERSION.SDK_INT + "\n" +
"Board : " + Build.BOARD + "\n" +
"Host : " + Build.HOST + "\n" +
"Fingerprint : " + Build.FINGERPRINT + "\n" +
"Android Version : " + Build.VERSION.RELEASE);
}


Informasi diatas hanya sebagian, masih banyak lagi informasi yang bisa kita dapatkan. Baik, sekian informasi sederhana ini. Terimakasih untuk waktu dan kunjungannya, jika ada pertanyaan silahkan diposting dikomentar.
Share:

0 comments:

Post a Comment

Hubungi Saya

Name

Email *

Message *

Terlaris 30 Hari Terakhir