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

1. ভূমিকা

logo_components_color_2x_web_96dp.png

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

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

আপনি কি নির্মাণ করবেন

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

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

  • পাঠ্য ক্ষেত্র
  • বোতাম
  • মেনু

আপনি কি প্রয়োজন হবে

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

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

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

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

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

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

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

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

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

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

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

gKYVUDrUs8bH1NfVV5DnikrjM7zJkP3j2rTbd0B66JVyySb54sS89vrTALAD6_AFp7p4CNA4OqOIAkyVjcR23CoUQwNtdsbEQ_sn5EooSqBcBctM9CtwBCT_9

এমডিসি-অ্যান্ড্রয়েড আমদানি করুন

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

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

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

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

সফলতার ! আপনি অ্যাপ এবং এর ফর্ম দেখতে হবে.

dba8e6132a12da58.png

3. পাঠ্য ক্ষেত্র আপডেট করুন

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

পাঠ্য ক্ষেত্রের শৈলী প্রতিস্থাপন করুন

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.TextInputLayout
       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.java এ, onCreate() পদ্ধতি আপডেট করুন নিচের মত দেখতে:

ShippingInfoActivity.java

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

   View rootView = findViewById(android.R.id.content);

   final List<TextInputLayout> textInputLayouts = Utils.findViewsWithType(
           rootView, TextInputLayout.class);

   Button button = findViewById(R.id.save_button);
   button.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
           boolean noErrors = true;
           for (TextInputLayout textInputLayout : textInputLayouts) {
               String editTextString = textInputLayout.getEditText().getText().toString();
               if (editTextString.isEmpty()) {
                   textInputLayout.setError(getResources().getString(R.string.error_string));
                   noErrors = false;
               } else {
                   textInputLayout.setError(null);
               }
           }

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

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

ef2a846d08f2780d.png

যে পাঠ্য ক্ষেত্রগুলি খালি রয়েছে সেগুলি লাল এবং তাদের নীচে ত্রুটি পাঠ্য রয়েছে।

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

MDC এর সাথে বোতাম রয়েছে:

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

ঐচ্ছিকভাবে বাটন বর্গ প্রতিস্থাপন

ডিফল্টরূপে মেটেরিয়াল লাইব্রেরি স্বয়ংক্রিয়ভাবে নিয়মিত বোতামগুলিকে এমডিসি বোতামগুলিতে স্ফীত করে। যাইহোক, আপনি ঐচ্ছিকভাবে ম্যাটেরিয়ালবাটনের সাথে বোতামের সমস্ত রেফারেন্স প্রতিস্থাপন করতে পারেন যাতে আপনি অতিরিক্ত পদ্ধতিগুলি অ্যাক্সেস করতে পারেন যা শুধুমাত্র একটি উপাদান বোতামে উপলব্ধ যেমন কোণার ব্যাসার্ধ পরিবর্তন করা। 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

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

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

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

একটি কার্ডে সামগ্রী মোড়ানো

একটি MaterialCardView উপাদান দিয়ে shipping_info_activity.xml এ আপনার বিষয়বস্তু সম্বলিত LinearLayout নিচের মতো করে মুড়ে দিন:

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

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

6. রিক্যাপ

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

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

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

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

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

আমি ভবিষ্যতে উপাদান উপাদান ব্যবহার চালিয়ে যেতে চাই

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