MDC-111 অ্যান্ড্রয়েড: আপনার কোডবেসে উপাদান উপাদান অন্তর্ভুক্ত করা (কোটলিন)

1. ভূমিকা

লোগো_কম্পোনেন্ট_রঙ_২x_ওয়েব_৯৬ডিপি.পিএনজি

ম্যাটেরিয়াল কম্পোনেন্টস (MDC) ডেভেলপারদের ম্যাটেরিয়াল ডিজাইন বাস্তবায়নে সাহায্য করে। গুগলের ইঞ্জিনিয়ার এবং UX ডিজাইনারদের একটি দল দ্বারা তৈরি, MDC-তে কয়েক ডজন সুন্দর এবং কার্যকরী UI উপাদান রয়েছে এবং এটি অ্যান্ড্রয়েড, iOS, ওয়েব এবং Flutter.material.io/develop-এর জন্য উপলব্ধ।

ম্যাটেরিয়াল কম্পোনেন্টস ফর অ্যান্ড্রয়েড (MDC Android) কোনও নতুন সিস্টেম বা ফ্রেমওয়ার্ক নয় যার জন্য আপনার অ্যাপে একটি নতুন পরিবর্তনের প্রয়োজন হবে। MDC Android আপনার অ্যান্ড্রয়েডে ইতিমধ্যেই পরিচিত একই ক্লাস এবং API-এর উপর তৈরি, যেমন AppCompat বোতাম এবং টেক্সট ফিল্ড। MDC Android দ্বারা প্রদত্ত কম্পোনেন্টগুলি প্রয়োজন অনুসারে ব্যবহার করা যেতে পারে এবং আপনার বিদ্যমান অ্যাপের নকশায় তাৎক্ষণিক উন্নতি করতে পারে।

তুমি কী তৈরি করবে

এই কোডল্যাবে, আপনি MDC দ্বারা কিছু বিদ্যমান উপাদানকে একটি ফর্মে নতুন উপাদান দিয়ে প্রতিস্থাপন করবেন।

এই কোডল্যাবে MDC-Android উপাদানগুলি

  • টেক্সট ফিল্ড
  • বোতাম
  • মেনু

তোমার যা লাগবে

  • অ্যান্ড্রয়েড ডেভেলপমেন্টের প্রাথমিক জ্ঞান
  • অ্যান্ড্রয়েড স্টুডিও (যদি আপনার কাছে ইতিমধ্যে না থাকে তবে এখান থেকে ডাউনলোড করুন)
  • একটি অ্যান্ড্রয়েড এমুলেটর বা ডিভাইস (অ্যান্ড্রয়েড স্টুডিওর মাধ্যমে উপলব্ধ)
  • নমুনা কোড (পরবর্তী ধাপ দেখুন)

অ্যান্ড্রয়েড অ্যাপ তৈরিতে আপনার অভিজ্ঞতার স্তরকে আপনি কীভাবে মূল্যায়ন করবেন?

নবীন মধ্যবর্তী দক্ষ

2. আপনার উন্নয়ন পরিবেশ সেট আপ করুন

স্টার্টার কোডল্যাব অ্যাপটি ডাউনলোড করুন

স্টার্টার অ্যাপটি material-components-android-codelabs-111-starter/kotlin ডিরেক্টরিতে অবস্থিত। শুরু করার আগে সেই ডিরেক্টরিতে cd করতে ভুলবেন না।

...অথবা GitHub থেকে ক্লোন করুন

GitHub থেকে এই কোডল্যাবটি ক্লোন করতে, নিম্নলিখিত কমান্ডগুলি চালান:

git clone https://github.com/material-components/material-components-android-codelabs
cd material-components-android-codelabs/
git checkout 111-starter

অ্যান্ড্রয়েড স্টুডিওতে স্টার্টার কোড লোড করুন

  1. সেটআপ উইজার্ডটি শেষ হয়ে গেলে এবং "ওয়েলকাম টু অ্যান্ড্রয়েড স্টুডিও" উইন্ডোটি প্রদর্শিত হলে, "একটি বিদ্যমান অ্যান্ড্রয়েড স্টুডিও প্রকল্প খুলুন" এ ক্লিক করুন। আপনি যেখানে নমুনা কোডটি ইনস্টল করেছিলেন সেই ডিরেক্টরিতে নেভিগেট করুন এবং "কোটলিন -> শিপিং " নির্বাচন করুন (অথবা শিপিংয়ের জন্য আপনার কম্পিউটার অনুসন্ধান করুন)।
  2. অ্যান্ড্রয়েড স্টুডিও উইন্ডোর নীচের দিকে কার্যকলাপ নির্দেশকগুলি যেমনটি দেখায়, অ্যান্ড্রয়েড স্টুডিওটি প্রকল্পটি তৈরি এবং সিঙ্ক করার জন্য কিছুক্ষণ অপেক্ষা করুন।
  3. এই মুহুর্তে, Android Studio-তে কিছু বিল্ড ত্রুটি দেখা দিতে পারে কারণ আপনার Android SDK বা বিল্ড টুলগুলি, যেমন নীচে দেখানো হয়েছে, অনুপস্থিত। এগুলি ইনস্টল/আপডেট করতে এবং আপনার প্রকল্প সিঙ্ক করতে Android Studio-তে নির্দেশাবলী অনুসরণ করুন।

2wEZ1kuSFwiRvi_vYXnYfwoQ5J79OVBi1SL6044ETje5cDT2rUHGy8ExjGxlBWlWuNUMf5tkLRUrr2_bz_0Im_JDvLyC-X-tNmBJvKUgsn8T4d11A1cq0ItqQl2n6DJrYKY-dEyRdw

স্টার্টার অ্যাপটি চালান

  1. নিশ্চিত করুন যে রান / প্লে বোতামের বাম দিকের বিল্ড কনফিগারেশনটি app
  2. অ্যাপটি তৈরি এবং চালাতে সবুজ রান / প্লে বোতাম টিপুন।
  3. Select Deployment Target উইন্ডোতে, যদি আপনার উপলব্ধ ডিভাইসগুলিতে ইতিমধ্যেই একটি Android ডিভাইস তালিকাভুক্ত থাকে, তাহলে ধাপ 8 এ যান। অন্যথায়, Create New Virtual Device এ ক্লিক করুন।
  4. হার্ডওয়্যার নির্বাচন করুন স্ক্রিনে, একটি ফোন ডিভাইস নির্বাচন করুন, যেমন Pixel 2 , এবং তারপর Next এ ক্লিক করুন।
  5. সিস্টেম ইমেজ স্ক্রিনে, একটি সাম্প্রতিক অ্যান্ড্রয়েড সংস্করণ নির্বাচন করুন, বিশেষ করে সর্বোচ্চ API স্তরের। যদি এটি ইনস্টল না করা থাকে, তাহলে প্রদর্শিত ডাউনলোড লিঙ্কে ক্লিক করুন এবং ডাউনলোড সম্পূর্ণ করুন।
  6. পরবর্তী ক্লিক করুন।
  7. অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVD) স্ক্রিনে, সেটিংস যেমন আছে তেমনই রেখে Finish এ ক্লিক করুন।
  8. ডিপ্লয়মেন্ট টার্গেট ডায়লগ থেকে একটি অ্যান্ড্রয়েড ডিভাইস নির্বাচন করুন।
  9. ঠিক আছে ক্লিক করুন।
  10. অ্যান্ড্রয়েড স্টুডিও অ্যাপটি তৈরি করে, স্থাপন করে এবং স্বয়ংক্রিয়ভাবে টার্গেট ডিভাইসে এটি খোলে।

সফল! তুমি অ্যাপটি এবং এর ফর্মটি দেখতে পাবে।

dba8e6132a12da58.png সম্পর্কে

৩. টেক্সট ফিল্ড আপডেট করুন

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

MDC-Android আমদানি করুন

app মডিউলের build.gradle ফাইলে যান এবং নিশ্চিত করুন যে dependencies ব্লকে MDC Android এর উপর নির্ভরতা রয়েছে:

api 'com.google.android.material:material:1.1.0-alpha05'

টেক্সট ফিল্ড স্টাইল প্রতিস্থাপন করুন

shipping_info_activity.xml তে, সকল TextInputLayout XML উপাদানগুলিতে নিম্নলিখিত স্টাইলটি যোগ করুন:

shipping_info_activity.xml সম্পর্কে

style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"

প্রতিটি TextInputLayout দেখতে এইরকম হওয়া উচিত:

shipping_info_activity.xml সম্পর্কে

<com.google.android.material.textfield.TextInputLayout
   android:id="@+id/name_text_input"
   style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   app:errorEnabled="true">

   <com.google.android.material.textfield.TextInputEditText
       android:id="@+id/name_edit_text"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:hint="@string/label_name" />
</com.google.android.material.textfield.TextInputLayout>

তৈরি করুন এবং চালান:

824c2b33592b2c7e.png সম্পর্কে

MDC-তে নতুন ডিজাইন ব্যবহার করার জন্য টেক্সট ফিল্ডগুলি আপডেট করা হয়েছে।

একটি ত্রুটি যোগ করুন

MDC টেক্সট ফিল্ডে বিল্ট-ইন এরর প্রেজেন্টেশন থাকে। MDC আপনার টেক্সট ফিল্ডের নিচে লাল টেক্সট যোগ করে এবং ডেকোরেশনও লাল করে।

ShippingInfoActivity.kt তে, onCreate() আপডেট করে টেক্সট ইনপুট পরীক্ষা করুন এবং যথাযথভাবে ত্রুটি সেট করুন। এটি দেখতে এরকম কিছু হওয়া উচিত:

শিপিংইনফোঅ্যাক্টিভিটি.কেটি

override fun onCreate(savedInstanceState: Bundle?) {
   super.onCreate(savedInstanceState)
   setContentView(R.layout.shipping_info_activity)

   val rootView = findViewById<View>(android.R.id.content)

   val textInputLayouts = Utils.findViewsWithType(
           rootView, TextInputLayout::class.java)

   save_button.setOnClickListener {
       var noErrors = true
       for (textInputLayout in textInputLayouts) {
           val editTextString = textInputLayout.editText!!.text.toString()
           if (editTextString.isEmpty()) {
               textInputLayout.error = resources.getString(R.string.error_string)
               noErrors = false
           } else {
               textInputLayout.error = null
           }
       }

       if (noErrors) {
           // All fields are valid!
       }
   }
}

তৈরি করুন এবং চালান। সংরক্ষণ করুন টিপুন, তবে কমপক্ষে একটি পাঠ্য ক্ষেত্র খালি রাখুন:

ef2a846d08f2780d.png সম্পর্কে

খালি থাকা টেক্সট ফিল্ডগুলি লাল রঙের এবং তাদের নীচে ত্রুটির টেক্সট রয়েছে।

৪. বোতামটি আপডেট করুন

MDC-তে বোতাম আছে যার মধ্যে রয়েছে:

  • কালির ঢেউ
  • গোলাকার কোণ
  • থিমিং সাপোর্ট
  • পিক্সেল-নিখুঁত লেআউট এবং টাইপোগ্রাফি
  • AppCompatButton (স্ট্যান্ডার্ড অ্যান্ড্রয়েড বোতাম ক্লাস) এর উপর তৈরি যাতে আপনি আপনার কোডে এগুলি কীভাবে ব্যবহার করবেন তা জানতে পারেন।

ঐচ্ছিকভাবে বোতাম ক্লাস প্রতিস্থাপন করুন

ডিফল্টরূপে, ম্যাটেরিয়াল লাইব্রেরি স্বয়ংক্রিয়ভাবে নিয়মিত বোতামগুলিকে MDC বোতামগুলিতে স্ফীত করে। তবে, আপনি ঐচ্ছিকভাবে বোতামের সমস্ত রেফারেন্সকে MaterialButton দিয়ে প্রতিস্থাপন করতে পারেন যাতে আপনি কেবলমাত্র MaterialButton-এ উপলব্ধ অতিরিক্ত পদ্ধতিগুলি অ্যাক্সেস করতে পারেন যেমন কোণার ব্যাসার্ধ পরিবর্তন করা। MDC বোতামগুলি একটি সহজ প্লাগ-এন্ড-প্লে উপাদান। আপনি কেবল XML উপাদান নাম Button MaterialButton দিয়ে প্রতিস্থাপন করুন এবং MaterialButton এ ডিফল্ট MaterialButton শৈলী প্রয়োগ করুন।

shipping_info_activity.xml তে, আপনার বোতামটি এই থেকে পরিবর্তন করুন:

shipping_info_activity.xml সম্পর্কে

<Button
   android:id="@+id/save_button"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="end"
   android:layout_marginTop="16dp"
   android:text="@string/label_save" />

প্রতি:

shipping_info_activity.xml সম্পর্কে

<com.google.android.material.button.MaterialButton
   android:id="@+id/save_button"
   style="@style/Widget.MaterialComponents.Button"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="end"
   android:layout_marginTop="16dp"
   android:text="@string/label_save" />

তৈরি করুন এবং চালান:

824c2b33592b2c7e.png সম্পর্কে

৫. কার্ড যোগ করুন

MaterialCardView হল CardView তৈরি একটি উপাদান যার সাহায্যে:

  • সঠিক উচ্চতা এবং স্টাইলিং
  • স্ট্রোকের প্রস্থ এবং রঙের বৈশিষ্ট্য

কার্ডে কন্টেন্ট মোড়ানো

shipping_info_activity.xml এ আপনার কন্টেন্ট ধারণকারী LinearLayout একটি MaterialCardView কম্পোনেন্ট দিয়ে মুড়ে নিন, নিম্নরূপ:

shipping_info_activity.xml সম্পর্কে

<com.google.android.material.card.MaterialCardView
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_margin="16dp"
   app:contentPadding="16dp">


   <!-- LinearLayout goes here -->


</com.google.android.material.card.MaterialCardView>

তৈরি করুন এবং চালান। সম্পূর্ণ ফর্মটি একটি কার্ডে মুড়িয়ে রাখা উচিত:

75c86ab9fa395e3c.png সম্পর্কে

ম্যাটেরিয়াল কার্ড ভিউ কম্পোনেন্টটি আপনার কন্টেন্টকে সহজেই একটি কার্ডে মোড়ানোর একটি পরিচিত কিন্তু নতুন উপায়।

৬. সংক্ষিপ্তসার

আপনি কিছু সাধারণ উপাদান প্রতিস্থাপন করেছেন যাতে তাৎক্ষণিক মান দেখা যায়: টেক্সট ফিল্ড, বোতাম, কার্ড, এবং আপনাকে আপনার অ্যাপের সম্পূর্ণ নতুন নকশা করতে হয়নি। অন্যান্য উপাদানগুলিও একটি বড় পার্থক্য আনতে পারে, যেমন টপ অ্যাপ বার এবং ট্যাবলেইট।

পরবর্তী পদক্ষেপ

আপনি অ্যান্ড্রয়েড উইজেটস ক্যাটালগ পরিদর্শন করে MDC-Android-এর আরও উপাদান অন্বেষণ করতে পারেন।

আমি যথেষ্ট সময় এবং প্রচেষ্টার মাধ্যমে এই কোডল্যাবটি সম্পূর্ণ করতে সক্ষম হয়েছি।

দৃঢ়ভাবে একমত একমত নিরপেক্ষ অসম্মতি দৃঢ়ভাবে একমত নই

আমি ভবিষ্যতে ম্যাটেরিয়াল কম্পোনেন্ট ব্যবহার চালিয়ে যেতে চাই।

দৃঢ়ভাবে একমত একমত নিরপেক্ষ অসম্মতি দৃঢ়ভাবে একমত নই