# Coding Stuff

### **A. Data yang tersimpan di Antares**

<figure><img src="https://3995702122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrRkxjRLeqOm0pNhLfsus%2Fuploads%2F96Lgh3kiFMO4AKjxRVTi%2F139.png?alt=media&#x26;token=85b41d60-ba80-46d6-b117-ac89df3848f2" alt=""><figcaption></figcaption></figure>

### **B. Mendapatkan data terakhir dari device Anda melalui Android**

#### **1. AndroidManifest.xml**

Agar bisa mengeksekusi API Antares, dibutuhkan akses Internet dan agar bisa mengakses Internet di Android, kita harus tambahkan baris berikut di AndroidManifest.xml.

{% code lineNumbers="true" %}

```xml
<!--- IMPORTANT!!!!!!! --->
<!--- Tambahkan line berikut di AndroidManifest.xml Anda --->
<!--- Setelah manifest --->
<uses-permission android:name="android.permission.INTERNET" />
<!--- Sebelum application --->
```

{% endcode %}

#### **2. activity\_main.xml**

Ubah **SEMUA** isi dari activity\_main.xml dengan konten berikut ini:

{% code lineNumbers="true" %}

```xml
<?xml version="1.0" encoding="utf-8"?>
<android.widget.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"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <TextView
        android:id="@+id/txtData"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="No Data"
        android:textSize="24sp"/>

    <Button
        android:id="@+id/btnRefresh"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Refresh"/>

    <Button
        android:id="@+id/btnOn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="On"/>


    <Button
        android:id="@+id/btnOff"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Off"/>

</android.widget.LinearLayout>
```

{% endcode %}

#### **3. MainActivity.java**

{% code lineNumbers="true" %}

```java
// !!!!------ IMPORTANT ---------!!!!//
// Ubah semua code setelah package nama.package.Anda dengan
// dengan Code berikut

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.json.JSONException;
import org.json.JSONObject;

import androidx.appcompat.app.AppCompatActivity;

import id.co.telkom.iot.AntaresHTTPAPI;
import id.co.telkom.iot.AntaresResponse;

public class MainActivity extends AppCompatActivity implements AntaresHTTPAPI.OnResponseListener{

    private Button btnRefresh;
    private Button btnOn;
    private Button btnOff;

    private TextView txtData;
    private String TAG = "ANTARES-API";
    private AntaresHTTPAPI antaresAPIHTTP;
    private String dataDevice;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // --- Inisialisasi UI yang digunakan di aplikasi --- //
        btnRefresh = (Button) findViewById(R.id.btnRefresh);
        btnOff = (Button) findViewById(R.id.btnOff);
        btnOn = (Button) findViewById(R.id.btnOn);

        txtData = (TextView) findViewById(R.id.txtData);

        // --- Inisialisasi API Antares --- //
        //antaresAPIHTTP = AntaresHTTPAPI.getInstance();
        antaresAPIHTTP = new AntaresHTTPAPI();
        antaresAPIHTTP.addListener(this);

        btnRefresh.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                antaresAPIHTTP.getLatestDataofDevice("your-access-key","your-application-name","your-device-name");

            }
        });

        btnOn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                antaresAPIHTTP.storeDataofDevice(1,"your-access-key", "your-application-name", "your-device-name", "{\\\"status\\\":\\\"1\\\"}");

            }
        });

        btnOff.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                antaresAPIHTTP.storeDataofDevice(1,"your-access-key", "your-application-name", "your-device-name", "{\\\"status\\\":\\\"0\\\"}");
            }
        });
    }

    @Override
    public void onResponse(AntaresResponse antaresResponse) {
        // --- Cetak hasil yang didapat dari ANTARES ke System Log --- //
        //Log.d(TAG,antaresResponse.toString());
        Log.d(TAG,Integer.toString(antaresResponse.getRequestCode()));
        if(antaresResponse.getRequestCode()==0){
            try {
                JSONObject body = new JSONObject(antaresResponse.getBody());
                dataDevice = body.getJSONObject("m2m:cin").getString("con");
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        txtData.setText(dataDevice);
                    }
                });
                Log.d(TAG,dataDevice);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}
```

{% endcode %}

#### **4. Hasil Logcat**

Kita dapat melakukan filter terhadap hasil log keluaran di Android. Silahkan isi di bagian seperti gambar berikut. Ketika tombol diklik, maka hasil output yang didapatkan juga bisa dilihat pada gambar di bawah ini.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/tQ5qMXLS9Qs46ZW03j4O/image.png" alt=""><figcaption></figcaption></figure>

Selamat!! Anda telah membuat Android APP pertama Anda dengan menggunakan Library Antares.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/G2KCB0Wu0wUsRCyf3uWX/image.png" alt=""><figcaption></figcaption></figure>

### C. Menghubungkan Smartphone ke Android Studio <a href="#connect_smartphone" id="connect_smartphone"></a>

#### **1. Atur Setting pada Smartphone**

1. Masuk pake menu "Setting" di smartphone Anda, lalu klik AboutPhone. Klik tiga kali pada bagian MIUI Version / Nomor Versi Smartphone Anda sampai muncul "you are developer".<br>

   <figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/iNx1i8FpDqVutUvu09kp/image.png" alt=""><figcaption></figcaption></figure>
2. Masuk ke menu "Developer Options" pada Setting lalu aktifkan USB Debugging.

   <figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/buikoXMszBQ319K8DcD1/image.png" alt=""><figcaption></figcaption></figure>
3. Sambungkan USB Smartphone Anda dengan Laptop/PC, jika ada notifikasi seperti ini maka klik OK dan Smartphone Anda sudah tersambung dengan Android Studio.\ <br>

   <figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/cd8KNnGVQHCyMOqmlN25/image.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://antares.id/assets/img/android-library-tutorial-17.jpeg" alt=""><figcaption></figcaption></figure>
