কম্পিউটার

অ্যান্ড্রয়েডে এক্সএমএল পার্স করার জন্য কিভাবে XMLPullParser ব্যবহার করবেন?


এই উদাহরণটি দেখায় কিভাবে আমি অ্যান্ড্রয়েডে XMLPullParser করতে পারি।

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   <ListView
      android:id="@+id/listView"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:dividerHeight="1dp" />
</LinearLayout>

ধাপ 3 – res/layout এ রাইট ক্লিক করুন এবং একটি লেআউট রিসোর্স ফাইল (row.xml) তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal"
   android:padding="5dip" >
   <TextView
      android:id="@+id/tvName"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textStyle="bold"
      android:textSize="17dp" />
   <TextView
      android:id="@+id/tvDesignation"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@id/tvName"
      android:layout_marginTop="7dp"
      android:textColor="#343434"
      android:textSize="14dp" />
   <TextView
      android:id="@+id/tvLocation"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignBaseline="@+id/tvDesignation"
      android:layout_alignBottom="@+id/tvDesignation"
      android:layout_alignParentRight="true"
      android:textColor="#343434"
      android:textSize="14dp" />
</RelativeLayout>

পদক্ষেপ 4৷ − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      try {
         ArrayList<HashMap<String, String>> userList = new ArrayList<>();
         HashMap<String,String> user = new HashMap<>();
         ListView lv = findViewById(R.id.listView);
         InputStream inputStream = getAssets().open("userdetails.xml");
         XmlPullParserFactory parserFactory = XmlPullParserFactory.newInstance();
         XmlPullParser parser = parserFactory.newPullParser();
         parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,false);
         parser.setInput(inputStream,null);
         String tag = "" , text = "";
         int event = parser.getEventType();
         while (event!= XmlPullParser.END_DOCUMENT){
            tag = parser.getName();
            switch (event) {
               case XmlPullParser.START_TAG:
                  if(tag.equals("user"))
                     user = new HashMap<>();
               break;
               case XmlPullParser.TEXT:
                  text=parser.getText();
               break;
               case XmlPullParser.END_TAG:
               switch (tag) {
                  case "name": user.put("name",text);
                  break;
                  case "designation": user.put("designation",text);
                  break;
                  case "location": user.put("location",text);
                  break;
                  case "user":
                  if(user!=null)
                     userList.add(user);
                  break;
               }
               break;
            }
            event = parser.next();
         }
         ListAdapter adapter = new SimpleAdapter(MainActivity.this, userList, R.layout.row,
         new String[]{"name","designation","location"}, new int[]{R.id.tvName,
         R.id.tvDesignation, R.id.tvLocation});
         lv.setAdapter(adapter);
      }
      catch (IOException e) {
         e.printStackTrace();
      } catch (XmlPullParserException e) {
         e.printStackTrace();
      }
   }
}

ধাপ 5 - একটি সম্পদ ফোল্ডার তৈরি করুন, সম্পদ ফোল্ডারের ভিতরে একটি অ্যান্ড্রয়েড রিসোর্স ফাইল তৈরি করুন (userdetails.xml) এবং নিম্নলিখিত যোগ করুন

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <users>
      <user>
         <name>Sehwag</name>
         <designation>Vice Captain</designation>
         <loation>Delhi</loation>
      </user>
      <user>
         <name>Ashwin</name>
         <designation>Off Spin Bowler</designation>
         <loation>Chennai</loation>
      </user>
      <user>
         <name>Dhoni</name>
         <designation>Captain</designation>
         <loation>Ranchi</loation>
      </user>
   </users>
</resources>

ধাপ 6 - androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
   package="app.com.sample">
   <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>

আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –

অ্যান্ড্রয়েডে এক্সএমএল পার্স করার জন্য কিভাবে XMLPullParser ব্যবহার করবেন?


  1. অ্যান্ড্রয়েড অ্যাপ্লিকেশনে ফায়ারবেস মেসেজিং কীভাবে ব্যবহার করবেন?

  2. টুলবার অ্যান্ড্রয়েডে সার্চভিউ কীভাবে ব্যবহার করবেন?

  3. অ্যান্ড্রয়েডে JSON পার্স করতে কীভাবে JSONobject ব্যবহার করবেন?

  4. অ্যান্ড্রয়েড অ্যাপে একটি JSON পার্স করতে একটি ভলি লাইব্রেরি কীভাবে ব্যবহার করবেন?