Tutorial Membuat Aplikasi Ads Parser dengan Android Studio

    Tutorial Membuat Aplikasi Ads Parser dengan Android Studio
    Tutorial Membuat Aplikasi Ads Parser dengan Android Studio
    السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُه sobat 48😁. Bagaimana kabarnya? Semoga selalu dalam keadaan sehat ya. Kali ini saya akan membagikan sebuah artikel yang membahas tentang Tutorial Membuat Aplikasi Ads Parser dengan Android Studio. Tutorial ini sangat sederhana dan cukup singkat, jadi buat pemula pun menurut saya akan mudah membuatnya😂

    Tujuan tutorial ini saya buat adalah untuk memparse kode iklan dari Google Adsense, terutama para pengguna Blogger. Memang sudah banyak yang menyediakan Tools untuk memparse kode iklan, namun menurut saya akan lebih efektif jika kita memiliki aplikasi sendiri untuk memparse kode iklan di Blog. Kelebihannya bisa langsung kalian copy & paste.

    Jika kalian ingin SOURCE CODE sample aplikasi ini, silahkan download di GITHUB saya DISINI. Tetapi jika kalian ingin tahu cara mengaplikasikannya, silahkan lanjut baca artikel ini sampai selesai.

    Untuk kalian yang ingin mencoba tutorial aplikasi ini dengan versi video, berikut saya berikan Videonya:

    Jangan lupa subscribe Channel Youtube saya juga ya Azhar Rivaldi, karena disana ada banyak tutorial-tutorial untuk membuat aplikasi lainnya. Oke langsung saja tanpa basa-basi lagi kita langsung ke langkah pertama :

    1. Buat project baru di Android Studio dengan cara klik File ⇒ Project Baru. Ketika diminta untuk memilih Default Activity, pilih Empty Activity dan klik next. Untuk minSDK, disini saya set API 21 ya.

    2. Ubah isi AndroidManifest.xml menjadi seperti ini :

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.azhar.adscriptparser">

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:resizeableActivity="true"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute">
    <activity
    android:name=".activities.MainActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:launchMode="singleTop"
    android:windowSoftInputMode="adjustPan">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>
    </application>

    </manifest>
    3. Ubah juga isi activity_main.xml dan MainActivity.java menjadi seperti ini :

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical">

    <androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="@string/app_name"
    android:textAllCaps="true"
    android:textColor="@android:color/white"
    android:textSize="18sp"
    android:textStyle="bold" />

    </RelativeLayout>

    </androidx.appcompat.widget.Toolbar>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/toolbar"
    android:orientation="vertical"
    android:padding="8dp">

    <androidx.appcompat.widget.AppCompatEditText
    android:id="@+id/edit_code_to_parse"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@drawable/bg_edit_text"
    android:fadingEdge="vertical"
    android:fontFamily="monospace"
    android:gravity="top"
    android:hint="@string/masukan_kode_iklan"
    android:padding="8dp"
    android:scrollbars="vertical"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="@color/colorPrimary"
    android:textColorHint="@color/colorPrimary"
    android:windowSoftInputMode="stateHidden" />

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <androidx.appcompat.widget.AppCompatButton
    android:id="@+id/button_do_parse"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_margin="30dp"
    android:background="@drawable/bg_button"
    android:text="@string/parse"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="@android:color/white" />

    </RelativeLayout>

    </LinearLayout>

    </RelativeLayout>

    package com.azhar.adscriptparser.activities;

    import android.annotation.SuppressLint;
    import android.content.ClipData;
    import android.content.ClipboardManager;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Toast;

    import androidx.appcompat.app.AlertDialog;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.appcompat.widget.AppCompatButton;
    import androidx.appcompat.widget.AppCompatEditText;
    import androidx.appcompat.widget.Toolbar;

    import com.azhar.adscriptparser.R;
    import com.azhar.adscriptparser.tools.AdsCodeParser;

    /**
    * Created by Azhar Rivaldi on 11/02/2020.
    */

    public class MainActivity extends AppCompatActivity {

    AppCompatButton mButtonParse;
    AppCompatEditText mEditCodeParser, mEditParsedCode;
    AdsCodeParser mParser;

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

    setupToolbar();
    mParser = new AdsCodeParser();
    mEditCodeParser = findViewById(R.id.edit_code_to_parse);
    mButtonParse = findViewById(R.id.button_do_parse);
    mButtonParse.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    if (mEditCodeParser.getText().toString().isEmpty()) {
    Toast.makeText(MainActivity.this, "Masukan Kode Iklan Anda!", Toast.LENGTH_LONG).show();
    } else {
    mParser.doParser(mEditCodeParser.getText().toString());
    showDialogParsedCode();
    }
    }
    });
    }

    private void setupToolbar() {
    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    }

    private void showDialogParsedCode() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Parsed Code");

    @SuppressLint("InflateParams")
    View view = getLayoutInflater().inflate(R.layout.layout_parsed_code, null);
    mEditParsedCode = view.findViewById(R.id.edit_parsed_code);
    builder.setView(view);
    mEditParsedCode.setText(mParser.getParsedCode());

    builder.setPositiveButton("COPY", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int id) {
    setToClipboard(mEditParsedCode.getText().toString());
    }
    });

    builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int id) {
    dialog.dismiss();
    }
    });

    AlertDialog dialog = builder.create();
    dialog.show();
    }

    public void setToClipboard(String content) {
    ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip = ClipData.newPlainText("Parsed Code", content);
    clipboard.setPrimaryClip(clip);
    Toast.makeText(this, "Copied to Clipboard", Toast.LENGTH_LONG).show();
    }

    }
    4. Buat layout_parsed_code.xml untuk menampilkan hasil Parse kode iklan :

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="8dp">

    <androidx.appcompat.widget.AppCompatEditText
    android:id="@+id/edit_parsed_code"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@drawable/bg_edit_text"
    android:fadingEdge="vertical"
    android:fontFamily="monospace"
    android:gravity="top"
    android:padding="8dp"
    android:scrollbars="vertical"
    android:textAppearance="?android:attr/textAppearanceMedium" />

    </LinearLayout>
    5. Buat AdsCodeParser.java untuk fungsi Parse-nya :

    package com.azhar.adscriptparser.tools;

    /**
    * Created by Azhar Rivaldi on 11/02/2020.
    */

    public class AdsCodeParser {

    private String code;

    public AdsCodeParser() {

    }

    public void doParser(String code) {
    this.code = code;
    }

    public String getParsedCode() {
    return code
    .replace("<", "<")
    .replace(">", ">")
    .replace("\"", """)
    .replace("\'", "'");
    }
    }
    6. Selesai dan kalian Run. Jika kalian mengikuti langkah-langkah diatas dengan baik, pasti aplikasi yang kalian buat akan berjalan sebagaimana mestinya. Namun jika mengalami Error, silahkan berikan komentar dan kita diskusikan bersama.

    Untuk hasilnya nanti akan seperti ini :
    Tutorial Membuat Aplikasi Ads Parser dengan Android Studio
    Tutorial Membuat Aplikasi Ads Parser dengan Android Studio
    Tutorial Membuat Aplikasi Ads Parser dengan Android Studio
    Tutorial Membuat Aplikasi Ads Parser dengan Android Studio
    Demikian informasi yang saya bagikan untuk kalian. Jangan lupa bagikan artikel ini ke teman-teman kalian agar ikut membaca Tutorial Membuat Aplikasi Ads Parser dengan Android Studio ini. Subscribe juga blog Rivaldi 48 ini agar kalian mendapatkan notifikasi saat Admin update artikel terbaru. Semoga kalian lebih nyaman dan mudah dalam mengakses Blog Rivaldi 48 dimanapun kalian berada. Terima Kasih. Follow Instagram Admin @azhardvls_