কম্পিউটার টিউটোরিয়াল

কোটলিন ব্যবহার করে অ্যান্ড্রয়েড অ্যাপ্লিকেশনে ওয়েব স্ক্র্যাপিং কীভাবে করবেন?

এই উদাহরণটি প্রদর্শন করে কীভাবে অ্যান্ড্রয়েড অ্যাপ্লিকেশনে কোটলিন ব্যবহার করে ওয়েব স্ক্র্যাপিং করা যায়।

পদক্ষেপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে যান File → New Project এবং প্রজেক্ট তৈরি করার জন্য প্রয়োজনীয় সব বিবরণ পূরণ করুন।

পদক্ষেপ ২: res/layout/activity_main.xml-এ কোড যোগ করুন

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    xmlns:tools="https://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="4dp" 
    tools:context=".MainActivity"> 
    <TextView 
        android:id="@+id/textView" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_above="@id/btnView" 
        android:layout_centerHorizontal="true" 
        android:layout_marginBottom="10dp" 
        android:padding="4dp" 
        android:text="" /> 
    <Button 
        android:id="@+id/btnView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_centerHorizontal="true" 
        android:layout_marginBottom="25sp" 
        android:text="Scrap Text from web" /> 
</RelativeLayout>

পদক্ষেপ ৩: build.gradle-এ Jsoup ডিপেন্ডেন্সি যোগ করুন

dependencies {
    implementation "org.jsoup:jsoup:1.17.2"
}

পদক্ষেপ ৪: src/MainActivity.kt-এ কোড যোগ করুন

import android.os.AsyncTask
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import org.jsoup.Jsoup
import java.io.IOException

@Suppress("DEPRECATION")
class MainActivity : AppCompatActivity() {
    private lateinit var textView: TextView
    private lateinit var button: Button

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"

        textView = findViewById(R.id.textView)
        button = findViewById(R.id.btnView)

        button.setOnClickListener {
            WebScratch().execute()
        }
    }

    @Suppress("DEPRECATION")
    inner class WebScratch : AsyncTask<Void, Void, String?>() {
        override fun doInBackground(vararg params: Void): String? {
            return try {
                val document = Jsoup.connect("https://www.tutorialspoint.com/css_online_training/index.asp").get()
                document.text()
            } catch (e: IOException) {
                e.printStackTrace()
                null
            }
        }

        override fun onPostExecute(result: String?) {
            super.onPostExecute(result)
            textView.text = result ?: "Failed to load data"
        }
    }
}
দ্রষ্টব্য: AsyncTask API 30-এ ডিপ্রিকেট করা হয়েছে। আধুনিক অ্যাপে Kotlin Coroutines বা RxJava ব্যবহার করুন।

পদক্ষেপ ৫: androidManifest.xml-এ কোড যোগ করুন

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="https://schemas.android.com/apk/res/android" 
    package="com.example.q11"> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/ic_launcher" 
        android:label="@string/app_name" 
        android:roundIcon="@mipmap/ic_launcher_round" 
        android:supportsRtl="true" 
        android:theme="@style/AppTheme"> 
        <activity android:name=".MainActivity"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
</manifest>

অ্যাপ্লিকেশন চালান

আপনার আসল অ্যান্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত আছে বলে ধরে। Android Studio-তে আপনার প্রজেক্টের এক্টিভিটি ফাইল খুলুন এবং টুলবারের রান আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস সিলেক্ট করুন এবং ডিভাইসে ডিফল্ট স্ক্রিন দেখুন।

  1. অ্যান্ড্রয়েড অ্যাপ্লিকেশনে ওয়েব স্ক্র্যাপিং করার পদ্ধতি

  2. Kotlin ব্যবহার করে Android-এ কাস্টম প্রগ্রেসবার তৈরি করা

  3. অ্যান্ড্রয়েডে কোটলিন ব্যবহার করে GridView স্ক্রোলিং নিষ্ক্রিয় করার উপায়

  4. পাইথনে lxml ব্যবহার করে ওয়েব স্ক্র্যাপিং বাস্তবায়ন