What is Fragment in Android Studio in Urdu

اس آرٹیکل میں ہم سیکھیں گے کہ اینڈرائیڈ میں فریگمینٹ کیا ہوتا ہے؟ ہم اس کو کیوں استعمال کرتے ہیں، اور ہم دیکھیں گے کہ آج کل بہت ساری ایپلیکیشنس واٹس ایپ، انسٹاگرام اور لڈو اسٹار کس طرح سے فریگمینٹ استعمال کر رہے ہیں؟اور ہم فریگمینٹ کو کس طریقے سے بناسکیں گےاور ہم اپنے اینڈرائیڈ اسٹوڈیو میں فریگمینٹ کے کوڈ کو استعمال کرینگے۔پھر ہم دیکھیں گے کے ہم ایکس ایم  ایل کے اندر اسکو کیسے استعمال کریں اور بیک اینڈ یعنی جاوا کے اندر اسکو کیسے استعمال کرینگے؟

تو اسٹوڈنٹس یہ لیسن بہت ہی زیادہ مزیدار ہونے والا ہے تو چلیئے اس ٹوٹوریل کو اسٹارٹ کرتے ہیں۔

میرا نام آفتاب سومرو ہے، آپ کو اس بلاگ پر ویلکم کیا جاتاہے۔

Fragment One Two Three

آپ اوپر تصویر کو دیکھیں تو ایک ایکٹوٹی ہے اس کے اوپرتین فریگمینٹ دکھائی دے رہے، اس سے ہمیں پتا چلتا ہے کے فریگمینٹ ہم ایکٹوٹی کے اوپر ہی استعمال کر سکتے ہیں۔

یہاں پر ایکٹوٹی ایک اور چیز ہے اور فریگمینٹ اور چیز ہے۔آپ ایکٹوٹی اور فریگمینٹ کا کمپیریزن اس طرح کر سکتے ہیں کہ ایکٹوٹی کے اندر ایکس ایم ایل اور جاوا  دونوں فائلز ہوتی ہیں جبکہ فریگمینٹ کے اندر بھی ہمارے پاس یہ دونوں فائلز ہوتی ہیں۔

لیکن فریگمینٹ کے اندر ہمیں بائے ڈفالٹ نہ تو  ٹولبار ملتی ہے نہ ہی اسٹیٹس بار ملتی ہے نہ کوئی اور فیچر ملتا ہے، یہاں پے ہمیں سارے کاسارا کام خود سے کرنا پڑتا ہے، تو آپ اس طرح سے سمجھ سکتے ہیں کہ فریگمینٹ میں ہم کوئی چھوٹاسا فیچر بناکے رکھ سکتے ہیں، مثال کے طور پہ وہ چیٹنگ ہوسکتا ہے یا کوئی اورتو ہم کیا کرتے ہیں کے اسکا ایک یوزر انٹرفیس بنالیتے ہیں جو ایکس ایم ایل میں بنتا ہے اور ساتھ میں اسکی بیک اینڈ کوڈ بھی بنالیتے ہیں۔

کیونکہ فریگمینٹ کے اندر ہمیں یوزر انٹرفیس کے لیےلے آؤٹ بھی مل جاتا ہے اور اسکا بیک اینڈ کوڈ بھی ہم لکھ سکتے ہیں، تو یہ ہمارا ان ایپس میں زیادہ کام آتا ہے جہاں پہ ہمیں ایک پرٹیکیولر فیچر چاہئےجسکو ہم ملٹیپل جگہ پےیوز کرنا ہوتاہے۔تو اس ٹوٹوریل میں ہم آپ کو بتائیں گے کہ فریگمینٹ کو کس طرح واٹس ایپ، انسٹا گرام اور لوڈو اسٹار کےاندر استعمال کیا گیا ہے، جس سے آپ کا کانسیپٹ اور زیادہ کلیئر ہو جائے گا۔

اور جب بھی ہم کوئی فریگمینٹ بنا لیتے ہیں تواسکو ہم ریپلیس کروادیتے ہیں ایکٹوٹی کے اوپرتو آگے چلتے ہیں تو آپکا کانسیپٹ اور کلیئر ہوجائے گا۔

فریگمینٹ کیا ہے؟

فرض کریں ہمارے پاس ایک ایکٹوٹی ہے  ایکٹوٹی اے اور دوسری ایکٹوٹی بی۔ اگر آپکو اگر کوئی معلومات لینی ہے تو آپ کو اسکے لیے  آپکو پہلی ایکٹوٹی سے دوسری ایکٹوٹی میں جانا پڑیگا۔یہ پرانا عام رواجی طریقہ تھاجوکی اینڈرائیڈ کے ورژن 0۔3 سے پہلے کا تھا۔

اینڈرائیڈ ورژن 0۔3 (اے پی آئی لیول 11 )  کے بعد، چیزیں تبدیل ہوگئی ہیں، فرض کریں آپ کے پاس ایک ایکٹوٹی ہے، مگر اس بارآپ کے پاس تین بلاکس ہیں فریگمینٹ 1 ، فریگمینٹ 2، فریگمینٹ 3 ، یہاں میں بلاک کامطلب یوزر انٹرفیس  کمپونینٹ کا لے رہاہوں، مطلب کے یوزر انٹرفیس کا حصا ہوسکتا ہے، ہم اسکو ایک مرتبہ بنا لیتے ہیں اور پھر جہاں جہاں ہمیں وہ  چاہئے ہم اسکو استعمال کر سکتے ہیں۔

Fragment One To Four

اوپر آپ دو قسم کی ایکٹوٹیز دیکھ رہے ہیں، ایک ایکٹوٹی کے اندر فریگمینٹ 1 ، فریگمینٹ 2 اور فریگمینٹ 3 ہے جبکہ دوسری ایکٹوٹی میں فریگمینٹ 1 اور فریگمینٹ 4  دکھایا گیا ہے، دوسری ایکٹوٹی میں ہم نے فریگمینٹ 1 کو دوسری ایکٹوٹی میں کال کیا ہوا ہے پہلی ایکٹوٹی سے۔

فریگمینٹ چھوٹے چھوٹے پروگرام کے حصے یا ٹکڑے ہوتے ہیں جن کو ہم  پہلے بنا کر رکھ دیتے ہیں پھر ہم جہاں پر چاہیں ان کو کال کرواسکتے ہیں۔ابھی آپ ڈائگرام کے تھرو اس کو سمجھیں آگے چلکے ہم اسکو باقائدہ پریکٹیکل کرکے سمجھیں گے۔

What is Fragment in Android Studio in Urdu

Fragment in Android Studio

اوپر تصویر میں آپ انسٹاگرام ایپ  دیکھ رہے ہیں ، اس تصویر میں نیچے جو بٹنس ہوم، سرچ، پلس ، ہرٹ اور پروفائل کے آپ دیکھ رہے ہیں، وہ ہمیشہ اپنی جگہ پر موجود رہتے ہیں، جبکہ اگر آپ ان بٹنس میں سے کسی ایک پر کلک کرتے ہیں تو اس بٹن سے جو فریگمینٹ جڑا ہوا ہوگا وہ کھل جاتا ہے۔

اب یہاں پر سمجھنے کی ضرورت ہے کہ جب ہم کو اس طرح کی ایپ بنانی ہوتی ہے کہ ہمارے بٹنس موجود رہیں اور اوپر والی اسکرین تبدیل ہوتی رہے تب ہم فریگمینٹ کو استعمال کرتے ہیں۔

فریگمینٹ کا ایک اور بڑا فائدہ یہ ہے کہ اگر ہم ایک بہت بڑی ایپ بنارہے ہیں اور آگے چل کے اس میں ہمیں کوئی تبدیلیاں لانے کی ضرورت پڑے گی تو ہم صرف اپنی فریگمینٹ میں وہ تبدیلی کرینگے ہماری ایپ کی جو ایکٹوٹیز ہونگی وہ اپنی جگہ پر رہیں گی اور ہمارا ٹائم بچ جائے گا۔

 

فریگمینٹ کو کہاں اور کیسے استعمال کیا جاسکتا ہے؟  Uses of fragment and how it can be used?

فریگمینٹ کے ذریعے ہم ایک لچکدار یوزر انٹرفیس مختلف اسکرین سائزز کے لیے بنا سکتے ہیں۔

اس کے ذریعے ہم فکس ایپ جسا کہ ایک جگہ پر کوئی معلومات فراہم کرنا ہو، اسکرولنگ  ایپ جہاں پر آپ اپنی معلومات کو اسکرول اپ اور اسکرول ڈائون کرتے ہوئے ایپ کے اندر گھوم پھر سکتے ہیں، اور سوائپ ٹیب ایپ جس طرح واٹس ایپ  میں آپ کے پاس تیں ٹیب ہوتے ہیں ، ایک چیٹس کا ، ایک اسٹیٹس کا اور ایک کالز کا آپ ان تینوں ٹیبس میں اپنی انگلی کی مدد سے گھسیٹتے ہوئے ان تینوں ٹیبس میں با آسانی حرکت کروا سکتے ہیں۔

مطلب ان میں اندر داخل ہوجاتے ہیں اور اپنا کام سر انجام دیتے ہیں اگر آپ کو چیٹ دیکھنی ہوتی ہے تو آپ چیٹ والے ٹیب میں جاتے ہیں، اگر آپ کو کسی کا اسٹیٹس دیکھنا ہوتاہے تو آپ اسٹیٹس والے ٹیب پر انگلی سے ٹچ کرتے ہیں اور اگر آپ کو کالز دیکھنی ہوتی ہیں تو آپ اس کالز والے ٹیب پر ٹچ کرتے ہیں، اسی طر آپ سوائپ کرکے بھی یہ کام کرسکتے ہیں۔ نیچے دی گئی تصویر میں آپ واٹس ایپ کے یہ تینوں بٹنس کا مطالع کریں۔

whatspp tabs

فریگمینٹ کو ہم کسٹم ڈائلاگ باکس بنانے کے لیے بھی استعمال کرسکتے ہیں، جس میں کوئی میسج یوزر کے لیے ہوتا ہے کہ آپ کیا کرنا چاہتے ہیں ، فرض کریں ہم اپنی ایپ کے لیے ایک کسٹم ڈائلاگ باکس بناتے ہیں کہ کیا آپ اپنی ایپ کو بند کرنا چاہتے ہیں؟   اس کے اندر دو بٹنس بناتےہیں ایک ہاں اور ایک ناں کا، اسکو سمجھنے کے لیے آپ نیچے دی گئی تصویر کا غورسے مطالع کریں۔

Custom Dialog Box

اوپر دی گئی تصویر میں ایک ڈائلاگ باکس ہے جو یوزر سے سوال کر رہا ہے کہ کیا آپ اپنی ایپ کو بند کرنا چاہتے ہیں؟ اگر ہم ہاں بٹن پر کلک کریں گے تو ہماری ایپ بند ہوجائے گی، اور اگر ہم ناں بٹن پر کلک کرتے ہیں تو ہماری ایپ بند نہیں ہوگی اور یہ ڈائلاگ باکس غائب ہوجائے گا اور ہم اپنی ایپ پر مزید کام کرسکتے ہیں، اس طرے کے کام بھی ہم  فریگمینٹ کے ذریعے کر سکتے ہیں۔

ڈائلاگ باکس کی دو اقسام ہوتی ہیں  ایک کسٹم ڈائلاگ باکس اور ایک ڈفالٹ ڈائلاگ باکس جن کو ہم آگے چل کے تفصیل کے ساتھ سیکھیں گے۔

اگر ہم کو ایک ٹول بار یا ایکشن بار کسٹم بنانی ہیں تواسکے لیے بھی ہم فریگمینٹ کو استعمال کر سکتے ہیں۔اور ایک ہی ٹول بار کو ہم دس یا بیس ایکٹوٹیز میں ری پلیس کرواسکتے ہیں۔ اور اگر ہم کسی ری سائکلر کو فریگمینٹ میں بناتے ہیں تو اس ری سائکلر کو ہم  جہاں چاہیں وہاں پر ری پلیس کرواسکتے ہیں۔

جس طرح ہم نے ایکٹوٹی کے لائف سائکل کو سمجھا تھا ہم اسی طرح سے ہم فریگمینٹ کی لائف سائکل کو بھی سمجھیں گے۔

اسکو سمجھنے کے لیے ہم انسٹاگرام ایپ کو دیکھتے ہیں۔ جب ہم اپنی انسٹاگرام ایپ کھولتے ہیں تو بائے ڈفالٹ ہم ہوم اسکرین  پر ہوتے ہیں۔ جب ہم سرچ بٹن پر کلک کرتے ہیں تو ہماری  ہوم والی اسکرین بیک گراؤنڈ میں چلی گئی اور اسکے اوپر یہ سرچ والی اسکرین کھل گئی، اب ہم اگر ہرٹ والی اسکرین پر کلک کریں تو ہم اس اسکرین پر آجائیں گے، مزے کی بات آپ کو بتاؤں کے اگر اب ہم بیک بٹن پر کلک کریں ( جوکہ ٹرائے اینگل کی طرح ہوتاہے) تو ہم واپس سرچ پر آجائیں گے اور پھر اگر ہم بیک بٹن پر کلک کریں تو اب ہم اپنی ہوم اسکرین پر آجائیں گے مطلب کے جیسے جیسے ہم نے اسکرینز کھولی تھی ویسے ویسے وہ ترتیب وار بند ہوتی جائیں گی اور آخر میں ہم وہاں پر پہنچیں گے جہاں سے اسٹارٹ لیا تھا،  یہ ایک چھوٹی سی لائف سائکل  مثال تھی جو میں نے آپ کو سمجھانے کی کوشش کی ہے۔

تو چلیئے اب ہم اپنی فریگمینٹ ایپ بنانا شروع کرتے ہیں۔

سب سے پہلے آپ نیا پروجیکٹ اسٹارٹ کریں اور مین ایکٹوٹی میں  جو ٹیکسٹ ویو ڈفالٹ آ رہا ہے جس میں ہیلو ورلڈ لکھا آرہا ہے، اسکو آپ ڈلیٹ کردیں، کیونکہ ہم کو اسکی ضرورت نہیں۔

اب آپ اسپلٹ بٹن پر کلک کریں تاکہ ہم کوڈنگ کے ذریعے سے اپنے کنسٹرینٹ لے آؤٹ کو لینیئر لے آؤٹ میں کنورٹ کرسکیں۔اب آپ نیچے دی گئی تصویر کی طرح اپنے کوڈ ونڈو میں لے آؤٹ کی سیٹنگ کردیں اور اوریئنٹیشن کو ورٹیکل کردیں۔

Fragment LinearLayout Coding

اب ہم چلتے ہیں ڈزائن موڈ میں جہاں پر ہم اپنے لے آؤٹ کو مزید ڈزائن کریں گے۔ اب آپ لینیئر لے آؤٹ کے نیچے ایک اور لینیئر لے آؤٹ ڈریگ کرکے رکھ دیں، جس کی اوریئنٹیشن ہاریزونٹل ہونی چاہئے۔

اس لے آؤٹ کی لے آؤٹ  وڈتھ اور ہائیٹ نیچے دی گئی سیٹنگ کی طرح ہو۔

Layout_width = match_parent

Layout_height = wrap_content

اب اس دوسرے  لے آؤٹ کے اندر ہم دو بٹن رکھیں گے جیسا کی نیچے تصویر میں دکھایا گیا ہے اور اسکی پراپرٹی اس تصویر کے نیچے دی گئی ہے، آپ ان کو دیکھ کر اپنی ایپ کی سیٹنگ کرلیں۔

Linear Layout With Two Buttons

اور اگر آپ کوڈنگ کے ذریعے سے اسکو ڈزائن کرنا چاہتے ہیں تو نیچے دی گئی کوڈنگ ٹائپ کریں۔

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

<LinearLayout
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:background=”@color/colorPimary”
android:orientation=”horizontal”>

<Button
android:id=”@+id/firstButton”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”
android:layout_weight=”1″
android:text=”First”
android:textSize=”24sp”
app:backgroundTint=”#E91E63″ />

<Button
android:id=”@+id/secondButton”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_margin=”5dp”
android:layout_weight=”1″
android:text=”Second”
android:textSize=”24sp”
app:backgroundTint=”#DD0606″ />

</LinearLayout>

</LinearLayout>

 

اوپر دی گئی کوڈنگ آپ جیسے ہی ٹائپ کریں گے تو آپ کی ایپ کی ڈزائننگ خود بہ خود ہوجائی گی جس میں لے آؤٹ کا کلر، بٹنس کا کلر، مارجن سب کچھ سیٹ ہوجائے گا۔اور آپ کی ایپ کی سیٹنگ نیچے دی گئی تصویر کی طرح دکھائی دے گی۔

Linear Layout With Two Buttons With Colors

اوپر دی گئی تصویر میں  دو لے آؤٹ ہیں ایک مین لے آؤٹ ہے جس کے اندر ہم نے ایک اور لے آؤٹ رکھا تھا جسکا اوریئنٹیشن ہاریزونٹل رکھا تھا اور اس کے اندر ہم نے دو بٹنس رکھے تھے، اور اسکے ہائیٹ کو ہم نے ریپ کنٹینٹ کروادیا تھا مطلب کے جتنا مواد ہو اسکے حساب سے اس لے آؤٹ کی لمبائی ہوجائے۔

اب اوپر دی گئی تصویر میں بٹنس والے لے آؤٹ کے نیچے جو خالی جگہ آپ دیکھ رہے ہیں، وہ مین لے آؤٹ کا حصا ہے، اب ہم اسکے اندر ایک اور لے آؤٹ کو رکھیں گے۔

پوسٹ ابھی جاری ہے، ابھی پروگرامننگ کرنی باقی ہے، جو ہم جلدہی اس میں ایڈ کردیں گے۔

 

Categories: Programming

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *