আপনার অ্যাপের জন্য একটি অ্যান্ড্রয়েড উইজেট তৈরি করুন

লেখক: Lewis Jackson
সৃষ্টির তারিখ: 13 মে 2021
আপডেটের তারিখ: 1 জুলাই 2024
Anonim
আপনার অ্যান্ড্রয়েড অ্যাপের জন্য উইজেট তৈরি করুন | অ্যান্ড্রয়েড স্টুডিও টিউটোরিয়াল
ভিডিও: আপনার অ্যান্ড্রয়েড অ্যাপের জন্য উইজেট তৈরি করুন | অ্যান্ড্রয়েড স্টুডিও টিউটোরিয়াল

কন্টেন্ট


ওএসের প্রথম দিনগুলি থেকে, অ্যান্ড্রয়েডের জন্য উইজেটগুলি ব্যবহারকারীদের তাদের হোমস্ক্রিনের আরাম থেকে তাদের প্রিয় অ্যাপ্লিকেশনগুলির সাথে জড়িত থাকার অনুমতি দিয়েছে। তাহলে আপনি কীভাবে একটি অ্যান্ড্রয়েড উইজেট তৈরি করবেন?

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

উইজেটগুলি আপনার অ্যাপ্লিকেশনটিকে ব্যবহারকারীর হোমস্ক্রিনে একটি মূল্যবান উপস্থিতি দেয়

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

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


আরও পড়ুন: ভাঁজযোগ্য ডিভাইসের জন্য বিকাশ: আপনার যা জানা দরকার

অ্যান্ড্রয়েডের জন্য উইজেটগুলি কী কী?

একটি অ্যাপ্লিকেশন উইজেট একটি হালকা ওজনের, ক্ষুদ্রতর অ্যাপ্লিকেশন যা ব্যবহারকারীর হোমস্ক্রিনে থাকে।

অ্যান্ড্রয়েডের জন্য উইজেটগুলি বিভিন্ন ধরণের সামগ্রী সরবরাহ করতে পারে তবে সাধারণত নিম্নলিখিত বিভাগগুলির মধ্যে পড়ে:

  • তথ্য উইজেট। এটি একটি অ-স্ক্রোলযোগ্য উইজেট যা কিছু তথ্য প্রদর্শন করে যেমন আজকের আবহাওয়ার পূর্বাভাস বা তারিখ এবং সময়।
  • সংগ্রহ উইজেট। এটি একটি স্ক্রোলযোগ্য উইজেট যা তালিকাভিউ, গ্রিডভিউ, স্ট্যাকভিউ বা অ্যাডাপ্টারভিউ ফ্লিপার হিসাবে ফর্ম্যাটযুক্ত সম্পর্কিত ডেটার একটি সেট প্রদর্শন করে। সংগ্রহ উইজেটগুলি সাধারণত ডেটাবেস বা কোনও অ্যারের মতো ডেটা উত্স দ্বারা ব্যাক হয়।
  • উইজেটগুলি নিয়ন্ত্রণ করুন। এই উইজেটগুলি রিমোট কন্ট্রোল হিসাবে কাজ করে যা ব্যবহারকারীদের আপনার অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, ছাড়া এটি অগ্রভাগে আনতে হবে। অ্যাপ্লিকেশনগুলি যেমন পডকাস্ট বা সঙ্গীত হিসাবে মিডিয়া প্লে করে তাদের প্রায়শই নিয়ন্ত্রণের উইজেট থাকে যা ব্যবহারকারীকে সরাসরি তাদের হোমস্ক্রিন থেকে প্লে, বিরতি এবং স্কিপ ক্রিয়াগুলি ট্রিগার করতে দেয়।
  • হাইব্রিড উইজেট। কখনও কখনও আপনি একাধিক বিভাগের উপাদানগুলিকে একত্রিত করে আরও ভাল ব্যবহারকারীর অভিজ্ঞতা সরবরাহ করতে সক্ষম হতে পারেন। উদাহরণস্বরূপ, আপনি যদি কোনও সঙ্গীত অ্যাপ্লিকেশনটির জন্য একটি নিয়ন্ত্রণ উইজেট বিকাশ করছেন তবে আপনি প্লে, বিরতি এবং এড়িয়ে যান নিয়ন্ত্রণগুলি সরবরাহ করতে পারেন তবে আপনি গানের শিরোনাম এবং শিল্পীর মতো কিছু তথ্য প্রদর্শন করার সিদ্ধান্তও নিতে পারেন। আপনি যদি মিশ্রণ এবং মিলের সিদ্ধান্ত নেন, তবে দূরে সরে যাবেন না! উইজেটগুলি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা সরবরাহ করার ঝোঁক থাকে যখন তারা স্বল্প পরিমাণে সময় মতো, প্রাসঙ্গিক তথ্য বা কয়েকটি সাধারণভাবে ব্যবহৃত বৈশিষ্ট্যগুলিতে সহজে অ্যাক্সেস সরবরাহ করে। আপনার হাইব্রিড উইজেটগুলিকে হালকা ওজনের রাখতে সহায়তা করার জন্য, আপনি আপনার উইজেটের প্রাথমিক বিভাগটি চিহ্নিত করতে, বিভাগ অনুসারে এটিকে বিকাশ করার পরামর্শ দেন এবং তারপর উইজেটের মাধ্যমিক বিভাগ থেকে কয়েকটি উপাদান যুক্ত করুন।

আমার প্রকল্পে কি সত্যই কোনও অ্যাপ্লিকেশন উইজেট দরকার?

আপনার অ্যান্ড্রয়েড প্রকল্পে অ্যাপ্লিকেশন উইজেট যুক্ত করার বিষয়টি বিবেচনা করার বিভিন্ন কারণ রয়েছে।


অ্যান্ড্রয়েডের জন্য উইজেটগুলি ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারে

একটি সাধারণ নিয়ম হিসাবে, কোনও কাজ শেষ করতে নেভিগেশনাল পদক্ষেপের পরিমাণ কম, ব্যবহারকারীর অভিজ্ঞতা তত ভাল।

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

অ্যাপ্লিকেশন শর্টকাট এর চেয়ে বেশি শক্তিশালী

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

আপনার উইজেটের লেআউটে একাধিক লিঙ্কগুলি এম্বেড করে, আপনি আপনার সর্বাধিক ব্যবহৃত ব্যবহৃত প্রবাহ থেকে আরও বেশি নেভিগেশনাল পদক্ষেপগুলি সরিয়ে আপনার অ্যাপ্লিকেশনটির সর্বাধিক গুরুত্বপূর্ণ ক্রিয়াকলাপে এক-ট্যাপ অ্যাক্সেস সরবরাহ করতে পারেন।

আপনার উইজেটের বিন্যাসে একাধিক লিঙ্কগুলি এম্বেড করে আপনি আপনার অ্যাপ্লিকেশনটির সর্বাধিক গুরুত্বপূর্ণ ক্রিয়াকলাপগুলিতে এক-ট্যাপ অ্যাক্সেস সরবরাহ করতে পারেন।

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

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

দীর্ঘমেয়াদী বাগদান চালানোর জন্য একটি Android উইজেট তৈরি করুন

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

আরও পড়ুন:অ্যান্ড্রয়েড এসডিকে জন্য ফেসবুক দিয়ে শুরু করা

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

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

একটি সংগ্রহ অ্যাপ্লিকেশন উইজেট তৈরি করা হচ্ছে

এই টিউটোরিয়ালে, আমরা একটি সংগ্রহ উইজেট তৈরি করব যা একটি অ্যারেটিকে স্ক্রোলযোগ্য তালিকার ভিউ হিসাবে প্রদর্শন করবে।

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

আপনার পছন্দসই সেটিংস সহ একটি নতুন অ্যান্ড্রয়েড প্রকল্প তৈরি করুন এবং আসুন শুরু করা যাক!

আপনার উইজেটের বিন্যাস তৈরি করা

শুরু করতে, আসুন আমরা উইজেটের ব্যবহারকারী ইন্টারফেস (ইউআই) সংজ্ঞায়িত করি।

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

আপনার বিন্যাসটি তৈরি করার সময়, আপনি নিম্নলিখিতগুলিতে সীমাবদ্ধ রয়েছেন:

  • AnalogClock
  • বোতাম
  • কালনিরুপক-যন্ত্র
  • FrameLayout
  • গ্রিড বিন্যাস
  • ImageButton
  • ImageView
  • LinearLayout
  • ProgressBar
  • RelativeLayout
  • TextView
  • ViewStub
  • AdapterViewFlipper
  • GridView
  • তালিকা দেখুন
  • StackView
  • ViewFlipper

উল্লেখ্য যে উপরের ক্লাস এবং ভিউগুলির সাবক্লাসগুলি না সমর্থিত।

List_widget.xML নামে একটি নতুন লেআউট রিসোর্স ফাইল তৈরি করুন। যেহেতু আমরা একটি তালিকাভিউ ব্যবহার করে আমাদের ডেটা প্রদর্শন করব, এই বিন্যাসটি মূলত একটি এর জন্য ধারক হিসাবে কাজ করে উপাদান:

সংগ্রহ উইজেট পপুলেট করা

এর পরে, আমাদের আমাদের তালিকাভিউয়ের জন্য একটি ডেটা সরবরাহকারী তৈরি করতে হবে। ডেটাপ্রোভিডার.জাভা নামে একটি নতুন জাভা ক্লাস তৈরি করুন এবং নিম্নলিখিতগুলি যুক্ত করুন:

আমদানি android.content.Context; আমদানি android.content.Inttent; আমদানি android.widget.RemoteViews; আমদানি android.widget.RemoteViewsService; আমদানি java.util.ArrayList; আমদানি java.util.List; স্ট্যাটিক android.R.id.text1 আমদানি করুন; স্ট্যাটিক android.R.layout.simple_list_item_1 আমদানি করুন; পাবলিক ক্লাসের ডেটাপ্রোভাইডার রিমোটভিউসসোসভারি.রেমোটভিউসফ্যাক্টরি {তালিকা প্রয়োগ করে মাইলিস্টভিউ = নতুন অ্যারেলিস্ট <> (); প্রসঙ্গ mContext = নাল; সর্বজনীন ডেটাপ্রোভাইডার (প্রসঙ্গে প্রসঙ্গ, উদ্দিষ্ট উদ্দেশ্য) C mContext = প্রসঙ্গ; Re @ ওভাররাইড পাবলিক অকার্যকর অনক্রিট () {initData (); Ata @DataSetChanged () ver initData () ওভাররাইড পাবলিক অকার্যকর; Est @ ওভাররাইড সার্বজনীন শূন্য অনডেট্রয়ে () {} @ ওভাররাইড পাবলিক ইন গেটকাউন্ট () my মাইলিস্টভিউ.সাইজ () ফেরান; } @ সার্বজনীন রিমোটভিউগুলি getViewAt (অন্তর্নিহিত অবস্থান) {রিমোটভিউস ভিউ = নতুন রিমোটভিউস (এমকন্টেক্সট.সেটপ্যাকেজনাম (), সরল_লিস্ট_ইটিম_1); view.setTextViewText (পাঠ্য 1, মাইলিস্টভিউ.জেট (অবস্থান)); রিটার্ন ভিউ; Public @ সর্বজনীন রিমোটভিউগুলি ওভাররাইড করুন গেমলয়েডিংভিউ () n রিটার্ন নাল; } @ ওভাররাইড পাবলিক ইন ভিউ ভিউটাইপকাউন্ট () {রিটার্ন 1; } @ সার্বজনীন দীর্ঘতর getItemId (পূর্ব অবস্থান) {রিটার্নের অবস্থান; } @ ওভাররাইড পাবলিক বুলিয়ান hasStableIds () {সত্য প্রত্যাবর্তন; } বেসরকারী শূন্য initData () {myListView.c خبره (); (int i = 1; i <= 15; i ++) {myListView.add ("তালিকার আইটেম" + i); }}}

অ্যাপ উইজেটপ্রভাইডার: আপনার উইজেটটি কনফিগার করছে

অ্যান্ড্রয়েড উইজেট তৈরি করতে আপনার কয়েকটি ফাইল তৈরি করতে হবে।

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

কালেকশন উইজেট নামে একটি নতুন জাভা ক্লাস (ফাইল> নতুন> জাভা ক্লাস) তৈরি করুন।

শুরু করার জন্য, সমস্ত উইজেট সরবরাহকারীর ফাইলগুলি অবশ্যই অ্যাপডিজিটপ্রভাইডার শ্রেণি থেকে প্রসারিত করতে হবে। আমাদের তখন একটি রিমোটভিউজ অবজেক্টে list_widget.xML লেআউট রিসোর্স ফাইলটি লোড করতে হবে এবং অ্যাপডিজিটম্যানেজারকে আপডেট হওয়া রিমোটভিউজ অবজেক্ট সম্পর্কে অবহিত করতে হবে:

পাবলিক ক্লাস কালেকশন উইজেট অ্যাপবিজেটপ্রোভাডার {স্ট্যাটিক শূন্য আপডেট অ্যাপ্লিকেশন (প্রসঙ্গ প্রসঙ্গ, অ্যাপ উইজেট ম্যানেজার অ্যাপ উইজেট ম্যানেজার, অ্যাপ্লিকেশন উইডজেড) প্রসারিত করে {// রিমোটভিউজ অবজেক্ট ইনস্টল করুন // রিমোটভিউ ভিউস (নতুন রিমোটভিউস (কনটেক্সট.জেটপ্লেজডাইম);); setRemoteAdapter (প্রসঙ্গ, দর্শন); // অনুরোধ করুন যে অ্যাপ্লিকেশন ম্যানেজারটি অ্যাপ্লিকেশন উইজেটটি আপডেট করে // অ্যাপডিজিটমেজেশন.আপডেটএপ উইজেট (অ্যাপ উইজেটআইডি, দর্শন); }

অ্যাডাপ্টার তৈরি করুন

যেহেতু আমরা একটি তালিকাভিউতে আমাদের ডেটা প্রদর্শন করছি, তাই আমাদের অ্যাপ উইজেটপ্রভাইডারে একটি সেটরেট অ্যাডাপ্টার () পদ্ধতি নির্ধারণ করতে হবে। সেটরেমোটএডাপ্টার () অ্যাবস্লিস্টভিউ.সেটরেমোটভিউস অ্যাডাপ্টার () কল করার সমতুল্য তবে অ্যাপ্লিকেশন উইজেটগুলিতে ব্যবহারের জন্য ডিজাইন করা হয়েছে।

এই পদ্ধতিতে, আমাদের অ্যাডাপ্টারভিউয়ের আইডি (R.id.widget_list) এবং সেই পরিষেবাটির অভিপ্রায় যা আমাদের রিমোটভিউস অ্যাডাপ্টারে শেষ পর্যন্ত ডেটা সরবরাহ করবে তা নির্ধারণ করতে হবে - আমরা শীঘ্রই এই উইজেট সার্ভিস ক্লাসটি তৈরি করব।

প্রাইভেট স্ট্যাটিক শূন্য সেট সেট রেমোটএডাপ্টার (প্রসঙ্গ প্রসঙ্গ, @ নননাল চূড়ান্ত রিমোটভিউ ভিউ) {ভিউস.সেটরেমোটএডাপ্টার (আর। আইডিজিট_লিস্ট, নতুন ইনটেন্ট (কনটেক্সট, উইজেটসোর্সেস ক্লাস)); }}

উইজেট জীবনচক্র পদ্ধতি নির্ধারণ করা

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

অন-আপডেটের মাধ্যমে নতুন সামগ্রী পুনরুদ্ধার করা হচ্ছে

অন-আপডেট () উইজেট জীবনচক্র পদ্ধতিটি নতুন তথ্য দিয়ে আপনার উইজেটের ভিউগুলি আপডেট করার জন্য দায়ী।

এই পদ্ধতিটি প্রতিবার বলা হয়:

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

আপনার উইজেটটি ব্যবহার করা উচিত এমন কোনও ইভেন্ট হ্যান্ডলারের নিবন্ধকরণ আপনি এখানেও করেন।

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

আপনি যখন আপডেট () কল করেন তখন আপনাকে এই উইজেটের প্রতিটি উদাহরণ বা শুধুমাত্র একটি নির্দিষ্ট উদাহরণ আপডেট করা হচ্ছে কিনা তা নির্দিষ্ট করতে হবে। আপনি যদি প্রতিটি উদাহরণ আপডেট করতে চান, তবে আপনি অ্যাপস উইজেটআইডস ব্যবহার করতে পারেন, এটি আইডির একটি অ্যারে যা ডিভাইস জুড়ে প্রতিটি উদাহরণ সনাক্ত করে।

নিম্নলিখিত স্নিপেটে, আমি প্রতিটি প্রতিবেদন আপডেট করছি:

@ ওভাররাইড পাবলিক অকার্যকর অন আপডেট (প্রসঙ্গ প্রসঙ্গ, AppWidgetManager appWidgetIans) int for (int appWidgetId: appWidgetIds) {// এই উইজেটের সমস্ত আপডেট আপডেট করুন // আপডেট অ্যাপ্লিকেশন উইজেট (প্রসঙ্গ, appWidgetManager, appWidgetId); । সুপার.অনআপেট (প্রসঙ্গ, অ্যাপ উইজেটম্যানেজার, অ্যাপ উইজেটআইডিএস); }

নোট করুন কোডটি সোজা রাখতে সাহায্য করার জন্য, এই অন-আপডেট () পদ্ধতিটি বর্তমানে উইজেটে কোনও পরিবর্তন আনছে না।

অন ​​সক্ষম: প্রাথমিক সেটআপ সম্পাদন করা হচ্ছে

অন ​​ایનેবল () লাইফসাইকেল পদ্ধতিটি ACTION_APPWIDGET_ENABLED এর প্রতিক্রিয়াতে ডাকা হয়, যা আপনার উইজেটের কোনও উদাহরণ হোমস্ক্রিনে যোগ করার পরে প্রেরণ করা হয় প্রথম সময়। যদি ব্যবহারকারী আপনার উইজেটের দুটি উদাহরণ তৈরি করে, তবে সক্ষম করা () এ প্রথম বারের জন্য ডাকা হবে, তবে না দ্বিতীয় জন্য।

অনাবৃত () লাইফসাইকেল পদ্ধতিটি যেখানে আপনার উইজেটের সমস্ত দৃষ্টান্তের জন্য প্রয়োজনীয় কোনও সেটআপ করা উচিত যেমন আপনার উইজেটের তথ্য ফিড করবে এমন ডেটাবেস তৈরি করা।

আমি একটি টোস্ট প্রদর্শন করতে যাচ্ছি, যাতে আপনি এই জীবনকালীন পদ্ধতিটি কখন ডাকা হবে তা ঠিক দেখতে পাবেন:

@ ওভাররাইড সার্বজনীন শূন্য অন-সক্ষম (প্রসঙ্গে প্রসঙ্গ) {টোস্ট.মেকটেক্সট (প্রসঙ্গ, "onEn सक्षम বলা হয়", টোস্ট। এলএনজিথ_লং)। শো (); }

মনে রাখবেন যে ব্যবহারকারী যদি আপনার উইজেটের সমস্ত দৃষ্টান্ত মুছে ফেলে এবং তারপরে একটি নতুন উদাহরণ তৈরি করে, তবে এটি প্রথম উদাহরণ হিসাবে শ্রেণিবদ্ধ করা হয়েছে এবং অন-সক্ষম () জীবনচক্র পদ্ধতিটি আবার একবার কল করা হবে।

অন ​​ডিসএবলড সহ পরিষ্কার করা হচ্ছে

অ্যানডিশিয়েড () পদ্ধতিটি ACTION_APPWIDGET_DISABLED এর প্রতিক্রিয়াতে ডাকা হয়, যা ট্রিগার হয় যখন ব্যবহারকারী মুছে ফেললে গত আপনার উইজেটের উদাহরণ।

এই উইজেট জীবনচক্র পদ্ধতিটি হ'ল অন-সক্ষম () পদ্ধতিতে আপনার তৈরি করা কোনও সংস্থান পরিষ্কার করা উচিত, উদাহরণস্বরূপ আপনি অন-সক্ষম () -র তৈরি ডেটাবেস মুছে ফেলতে পারেন।

আমাদের কোডটি সোজা রাখতে সাহায্য করার জন্য, এই পদ্ধতিটি চালিত হওয়ার সময় আমি কেবল একটি টোস্ট প্রদর্শন করব:

@ ওভাররাইড পাবলিক অকার্যকর অনডিল্ড (প্রসঙ্গে প্রসঙ্গ) {টোস্ট.মেকটেক্সট (প্রসঙ্গ, "অনডাইজড ডাকা", টোস্ট। এলএনজিএইচথ_লং) .শো (); }

সমাপ্ত অ্যাপ উইজেটপ্রভাইডার

আপনার কালেকশন উইজেট ফাইলটি এখন এর মতো দেখতে হবে:

আমদানি android.appwidget.appWidgetManager; আমদানি android.appwidget.appWidgetProvider; আমদানি android.content.Context; আমদানি androidx.annotation.NonNull; আমদানি android.content.Inttent; আমদানি android.widget.RemoteViews; আমদানি android.widget.Toast; // অ্যাপ উইজেটপ্রোভাডার বর্গ থেকে প্রসারিত // পাবলিক ক্লাস কালেকশন উইজেড অ্যাপ্লিকেশন উইডজেটপ্রভাইডার s স্ট্যাটিক শূন্য আপডেট অ্যাপ্লিকেশনকে প্রসারিত করে (প্রসঙ্গত প্রসঙ্গ, অ্যাপ উইজেট ম্যানেজার অ্যাপ উইজেট ম্যানেজার, ইনপুট উইজেটআইডি) {// একটি রিমোটভিউজ অবজেক্টে // রিমোটভিউ ভিউজ = নতুন প্রসঙ্গে লেআউট রিসোর্স ফাইলটি লোড করুন। getPackageName (), R.layout.list_widget); setRemoteAdapter (প্রসঙ্গ, দর্শন); // রিমোটভিউজ অবজেক্ট সম্পর্কে // অ্যাপ্লিকেশন উইজেটম্যানেজারকে অবহিত করুন // appWidgetManager.updateAppWidget (appWidgetId, ভিউ); Int @ ওভাররাইড পাবলিক অকার্যকর অন আপডেট (কনটেক্সট প্রসঙ্গ, অ্যাপ উইজেট ম্যানেজার অ্যাপ উইজেট ম্যানেজার, ইন্টি উইজেটআইডস) {এর জন্য (আইটি উইজেটআইডি: অ্যাপ উইজেটআইডস) {আপডেট অ্যাপ্লিকেশন (প্রসঙ্গ, অ্যাপ উইজেটম্যানেজার, অ্যাপ উইজেটআইডি); । সুপার.অনআপেট (প্রসঙ্গ, অ্যাপ উইজেটম্যানেজার, অ্যাপ উইজেটআইডিএস); N @ ওভাররাইড সার্বজনীন শূন্য অন-সক্ষম (প্রসঙ্গে প্রসঙ্গ) {টোস্ট.মেকটেক্সট (প্রসঙ্গ, "অনন্যড নামে পরিচিত", টোস্ট। এলএনজিএইচথ_লং)। শো (); Is @ ওভাররাইড সার্বজনীন শূন্য অনস্ক্রিয় (প্রসঙ্গ প্রসঙ্গ) {টোস্ট.মেকটেক্সট (প্রসঙ্গ, "অনডিজড নামে পরিচিত", টোস্ট। এলএনজিএইচথ_লং)। শো (); } বেসরকারী স্ট্যাটিক শূন্য সেট রেমোটএডাপ্টার (প্রসঙ্গ প্রসঙ্গ, @ নননাল চূড়ান্ত রিমোটভিউ ভিউ) {ভিউস.সেটরেমোটএডাপ্টার (আর.আইডি.বিজেট_লিস্ট, নতুন ইন্টেন্ট (প্রসঙ্গ, উইজেটসোর্সেস ক্লাস)); }}

AppWidgetProviderInfo ফাইল

আপনার অ্যাপ্লিকেশন উইজেটের জন্য একটি অ্যাপ উইজেটপ্রাইডারআইএনফো ফাইলও প্রয়োজন, যা আপনার উইজেটের সর্বনিম্ন মাত্রা এবং কত ঘন ঘন এটি আপডেট করা উচিত তা সহ বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্য সংজ্ঞায়িত করে।

AppWidgetProviderInfo ফাইলটি আপনার প্রকল্পের রেস / এক্সএমএল ফোল্ডারে সংরক্ষিত আছে।

যদি আপনার প্রকল্পে ইতিমধ্যে এই ফোল্ডারটি না থাকে, তবে আপনাকে এটি তৈরি করতে হবে:

  • আপনার প্রকল্পের রেজ ফোল্ডারটি কন্ট্রোল-ক্লিক করুন।
  • নতুন> অ্যান্ড্রয়েড রিসোর্স ডিরেক্টরি নির্বাচন করুন।
  • পরবর্তী উইন্ডোতে, রিসোর্স ধরণের ড্রপডাউনটি খুলুন এবং এক্সএমএল নির্বাচন করুন।
  • ডিরেক্টরিটির নামটি স্বয়ংক্রিয়ভাবে এক্সএমএলে আপডেট হওয়া উচিত, তবে এটি যদি না হয় তবে আপনাকে এটি ম্যানুয়ালি পরিবর্তন করতে হবে।
  • ঠিক আছে ক্লিক করুন।

এরপরে, একটি সংগ্রহ_উইজেট_ইনফো ফাইল তৈরি করুন, যা আমরা আমাদের অ্যাপ উইজেটপ্রভাইডারআইএনফো হিসাবে ব্যবহার করব:

  • আপনার প্রকল্পের এক্সএমএল ফোল্ডারটি কন্ট্রোল-ক্লিক করুন।
  • নতুন> এক্সএমএল রিসোর্স ফাইল নির্বাচন করুন।
  • এই ফাইলের সংগ্রহের নাম দিন_উইজেট_ইনফো।
  • ঠিক আছে ক্লিক করুন।

আমাদের AppWidgetProviderInfo ফাইলটিতে আমাদের নিম্নলিখিত বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে হবে:

1. অ্যান্ড্রয়েড: প্রাকদর্শন চিত্র

এটি সেই অঙ্কনযোগ্য যা ডিভাইসের উইজেট চয়নকারীতে আপনার অ্যাপ্লিকেশন উইজেটের প্রতিনিধিত্ব করে।

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

পূর্বরূপ চিত্র তৈরির সহজতম উপায় হ'ল অ্যান্ড্রয়েড এমুলেটরটিতে অন্তর্ভুক্ত উইজেট পূর্বরূপ অ্যাপ্লিকেশনটি ব্যবহার করা। এই অ্যাপ্লিকেশনটি আপনাকে আপনার উইজেটটি কনফিগার করতে দেয় এবং তারপরে একটি চিত্র তৈরি করতে দেয় যা আপনি আপনার Android প্রকল্পে ব্যবহার করতে পারেন।

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

2. অ্যান্ড্রয়েড: উইজেটশ্রেণী

অ্যাপ্লিকেশন উইজেটগুলি অবশ্যই একটি অ্যাপ উইজেট হোস্টের ভিতরে রাখতে হবে, যা সাধারণত স্ট্রোকের অ্যান্ড্রয়েড হোমস্ক্রিন হয়, তবে এভি লঞ্চার বা নোভা লঞ্চারের মতো তৃতীয় পক্ষের লঞ্চও হতে পারে।

এপিআই স্তরের 17 এবং 20 এর মধ্যে হোমস্ক্রিনে অ্যাপ্লিকেশন উইজেট স্থাপন করা সম্ভব হয়েছিল অথবা লকস্ক্রিন, তবে লকস্ক্রিন সমর্থনটি API স্তরের 21 স্তরে অবনমিত করা হয়েছিল।

আপনার অ্যাপ্লিকেশন উইজেটটি হোমস্ক্রিনে, লকস্ক্রিনে (যা অ্যান্ড্রয়েডকে "কীগার্ড" হিসাবে উল্লেখ করা হয়) বা উভয়ই, অ্যান্ড্রয়েড: উইজেটক্যাটরি বৈশিষ্ট্যটি ব্যবহার করে নির্দিষ্ট করা যেতে পারে। যেহেতু অ্যান্ড্রয়েডের অতি সাম্প্রতিক সংস্করণগুলিতে লকস্ক্রিনে উইজেট স্থাপন করা সম্ভব নয়, তাই আমরা কেবল হোমস্ক্রিনকেই টার্গেট করব।

ব্যবহারকারীর গোপনীয়তা সংরক্ষণ করতে, আপনার উইজেটটি লকস্ক্রিনে রাখার সময় কোনও সংবেদনশীল বা ব্যক্তিগত তথ্য প্রদর্শন করা উচিত নয়।

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

3. অ্যান্ড্রয়েড: ইনিশিয়াল লেআউট

এটি হ'ল স্ক্রিনে রাখার সময় আপনার উইজেটটি ব্যবহার করা উচিত এমন লেআউট রিসোর্স ফাইল যা আমাদের প্রকল্পের জন্য list_widget.xML।

৪. অ্যান্ড্রয়েড: রেজাইজমোড = "অনুভূমিক | উল্লম্ব"

অ্যান্ড্রয়েড: রিসাইজমোড বৈশিষ্ট্যটি আপনাকে নির্দিষ্ট করতে দেয় যে আপনার উইজেটটি অনুভূমিকভাবে, উল্লম্বভাবে বা উভয় অক্ষ বরাবরই আকার পরিবর্তন করতে পারে কিনা।

বিভিন্ন স্ক্রীন জুড়ে আপনার উইজেট প্রদর্শন এবং সঠিকভাবে কার্যকারিতা নিশ্চিত করতে, আপনি আপনার উইজেটটিকে অনুভূমিকভাবে পুনরায় আকার দেওয়ার অনুমতি দেবেন বলে প্রস্তাবিত এবং উল্লম্বভাবে, যদি না আপনার একটি নির্দিষ্ট কারণ না থাকে।

৫. অ্যান্ড্রয়েড: মিনিট হাইট এবং অ্যান্ড্রয়েড: মিনিট প্রস্থ

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

এই মানগুলি আপনার উইজেটের প্রাথমিক আকারকেও উপস্থাপন করে, সুতরাং আপনার উইজেটটি যদি পুনরায় আকার পরিবর্তনযোগ্য না হয় তবে মিনি হাইট এবং মিনিট প্রস্থটি উইজেটের স্থায়ী আকার নির্ধারণ করবে।

And. অ্যান্ড্রয়েড: আপডেটপিরওডমিলিস

আপনার উইজেট কতবার নতুন তথ্যের জন্য অনুরোধ করা উচিত তা আপনি নির্দিষ্ট করে দেবেন এমন অ্যাপ্লিকেশন উইজেটপ্রভাইডারআইএনফোও রয়েছে।

সর্বনিম্ন সমর্থিত আপডেট ব্যবধানটি প্রতি 1800000 মিলিসেকেন্ডে (30 মিনিট) একবার। এমনকি যদি আপনি একটি সংক্ষিপ্ত আপডেটের ব্যবধান ঘোষণা করেন তবে আপনার উইজেটটি প্রতি আধা ঘন্টা পরে কেবলমাত্র আপডেট হবে।

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

আপনার উইজেট যে ধরণের সামগ্রী প্রদর্শিত হবে তাও আপনার অ্যাকাউন্টে নেওয়া উচিত।

অ্যান্ড্রয়েডের জন্য আপনার উইজেটগুলি কী ধরণের সামগ্রী প্রদর্শন করবে তাও আপনার অ্যাকাউন্টে নেওয়া উচিত। উদাহরণস্বরূপ, একটি আবহাওয়া উইজেট কেবল প্রতিদিন একবারে একটি আপডেট করা পূর্বাভাস পুনরুদ্ধার করতে পারে, অন্যদিকে ব্রেকিং নিউজ প্রদর্শনকারী অ্যাপ্লিকেশনটিকে আরও ঘন ঘন আপডেট হওয়া প্রয়োজন।

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

আলসো পড়া: অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল আপনার যা জানা দরকার

অবশেষে, আপনি একবারে সঠিক আপডেটের ব্যবধানটি সনাক্ত করে নেওয়ার পরে, আপনার অ্যাপ্লিকেশন বিকাশ ও পরীক্ষার সময় আপনি একটি সংক্ষিপ্ত বিরতি ব্যবহার করতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি যখন আপনার অ্যাপ্লিকেশনটির অন-আপডেট () পদ্ধতিটি সঠিকভাবে ট্রিগার করছে তা পরীক্ষা করে নিচ্ছেন এবং তারপরে আপনার অ্যাপ্লিকেশনটিকে সাধারণের কাছে ছাড়ার আগে এই মানটি পরিবর্তন করে আপনি খুব স্বল্পতম সম্ভাব্য আপডেট ফ্রিকোয়েন্সি (অ্যান্ড্রয়েড: আপডেটপরিওডমিলিস = "1800000 use) ব্যবহার করতে পারেন।

সম্পন্ন AppWidgetProviderInfo

সমাপ্ত সংগ্রহ_উইজেট_ইনফো.এক্সএমএল ফাইলটির কিছু দেখতে পাওয়া উচিত:

ব্যবহারকারীর হোমস্ক্রিন বিশৃঙ্খলা করবেন না!

হোমস্ক্রিন যাতে কখনও বিশৃঙ্খলা না লাগে তা নিশ্চিত করতে আমরা আমাদের উইজেটে কিছু প্যাডিং এবং মার্জিন যুক্ত করব to যদি আপনার প্রকল্পে ইতিমধ্যে dimens.xML ফাইল না থাকে তবে আপনার একটি তৈরি করতে হবে:

  • আপনার প্রকল্পের মান ফোল্ডারটি কন্ট্রোল-ক্লিক করুন।
  • নতুন> মান সংস্থান ফাইল নির্বাচন করুন।
  • এই ফাইলটি নাম dimens দিন।
  • ঠিক আছে ক্লিক করুন।

আপনার dimens.xML ফাইলটি খুলুন এবং নিম্নলিখিত মার্জিন এবং প্যাডিং মানগুলি সংজ্ঞায়িত করুন:

10dp 8dp

উইজেটে ডেটা প্রেরণ করা হচ্ছে

এর পরে, আমাদের একটি উইজেট পরিষেবা তৈরি করতে হবে, যা আমাদের সংগ্রহের ডেটা উইজেটে প্রেরণের জন্য দায়ী।

উইজেট সার্ভিস নামে একটি নতুন জাভা ক্লাস (নতুন> জাভা ক্লাস) তৈরি করুন এবং নিম্নলিখিতগুলি যুক্ত করুন:

আমদানি android.content.Inttent; আমদানি android.widget.RemoteViewsService; পাবলিক ক্লাসের উইজেটসেসভার রিমোটভিউস সার্ভিসিকে প্রসারিত করে - @ ওভাররাইড পাবলিক রিমোটভিউসফ্যাক্ট্রি অন ভিটভিউফ্যাক্টরি (ইন্টেন্ট অভিপ্রায়) new নতুন ডেটাপ্রোভাডার (এটি, অভিপ্রায়) ফেরান; }}

ম্যানিফেস্টে আপনার উইজেটটি নিবন্ধভুক্ত করা হচ্ছে

আমাদের এখন আমাদের প্রকল্পের ম্যানিফেস্টে কিছু পরিবর্তন করতে হবে।

শুরু করার জন্য, ম্যানিফেস্টটি খুলুন এবং আপনার উইজেটকে একটি ব্রডকাস্টআরসিভার হিসাবে নিবন্ধ করুন। আমাদেরও android.appwidget.action.APPWIDGET_UPDATE ক্রিয়াকলাপের জন্য একটি উদ্দেশ্য ফিল্টার যুক্ত করতে হবে:

এর পরে, আপনাকে অ্যাপ্লিকেশন উইজেট সরবরাহকারীর উল্লেখ করতে হবে:

অবশেষে, আমাদের সেই পরিষেবাটি ঘোষণা করতে হবে যা আমাদের উইজেটে ডেটা প্রেরণ করবে, যা এই উদাহরণস্বরূপ উইজেটসেবাস ক্লাস। এই পরিষেবাটির জন্য android.permission.BIND_REMOTEVIEWS এর অনুমতি প্রয়োজন:

আপনার উইজেট পরীক্ষায় রাখুন

আপনি যদি এই টিউটোরিয়ালটি অনুসরণ করে চলেছেন তবে এখন আপনার কাছে একটি সম্পূর্ণ সংগ্রহ উইজেট থাকবে যা ব্যবহারকারীর হোমস্ক্রিনে ডেটার সেট সেট করে।

যদি এটি সত্যিকারের অ্যান্ড্রয়েড প্রকল্প হয় তবে আপনি সাধারণত লাইফসাইकल পদ্ধতিগুলি, বিশেষত অনআপড () পদ্ধতিতে প্রসারিত করতে পারেন তবে আপনার উইন্ডোজটি তৈরি করার জন্য আমাদের প্রয়োজন যা আপনার অ্যান্ড্রয়েড ডিভাইসে ইনস্টল ও পরীক্ষা করতে পারবেন:

  • এই প্রকল্পটি একটি সামঞ্জস্যপূর্ণ অ্যান্ড্রয়েড স্মার্টফোন, ট্যাবলেট বা এভিডি (অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস) এ ইনস্টল করুন।
  • হোমস্ক্রিনের যে কোনও ফাঁকা বিভাগ দীর্ঘ-টিপুন এবং অনুরোধ জানানো হলে উইজেটগুলি নির্বাচন করুন; এটি উইজেট পিকারটি চালু করে।
  • আপনি সবেমাত্র তৈরি করা অ্যাপ্লিকেশন উইজেটটি না পাওয়া পর্যন্ত উইজেট পিকারের মাধ্যমে সোয়াইপ করুন।
  • এটি আপনার হোমস্ক্রিনে যুক্ত করতে এই উইজেটটিকে দীর্ঘ-টিপুন।
  • যেহেতু এটি এই নির্দিষ্ট উইজেটের প্রথম উদাহরণ, অন-সক্ষম () পদ্ধতিটি চালানো উচিত, এবং আপনি একটি "অনএইনবেবলড" টোস্ট দেখতে পাবেন।
  • আপনার উইজেটটি পুনরায় আকার দিন। আপনি যদি ন্যূনতম সমর্থিত আকার নির্ধারণ করেন তবে পরীক্ষা করে নিন যে আপনি এই মানটি দিয়ে উইজেটটি সঙ্কুচিত করতে পারবেন না।
  • প্রত্যাশা অনুযায়ী তালিকাভুক্ত স্ক্রোলগুলি পরীক্ষা করুন।
  • এর পরে, আপনার উইজেটটি মোছার মাধ্যমে অনডিজলড () পদ্ধতিটি পরীক্ষা করা উচিত। উইজেটটি দীর্ঘ-টিপুন এবং তারপরে হোম স্ক্রীন থেকে সরান নির্বাচন করুন। যেহেতু এটি এই নির্দিষ্ট উইজেটের শেষ উদাহরণ, অনডিজলড () পদ্ধতিটি চালানো উচিত এবং আপনি একটি "অন ডিসএবলড" টোস্ট দেখতে পাবেন।

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

একটি অ্যান্ড্রয়েড উইজেট পূর্বরূপ চিত্র তৈরি করা

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

ব্যবহারকারীদের আপনার উইজেট নির্বাচন করতে উত্সাহিত করার জন্য, আপনার একটি পূর্বরূপ চিত্র সরবরাহ করা উচিত যা আপনার উইজেটটি যে সমস্ত দরকারী তথ্য এবং বৈশিষ্ট্যগুলি সরবরাহ করে তা হাইলাইট করে।

অ্যান্ড্রয়েড এমুলেটারের অন্তর্ভুক্ত উইজেট পূর্বরূপ অ্যাপ্লিকেশনটি ব্যবহার করে আপনি দ্রুত এবং সহজেই একটি পূর্বরূপ চিত্র তৈরি করতে পারেন।

নোট করুন যে উইজেট পূর্বরূপটি সর্বশেষতম অ্যান্ড্রয়েড সিস্টেমের চিত্রগুলিতে অন্তর্ভুক্ত নয়, সুতরাং আপনাকে নওগ্যাট (এপিআই স্তর 25) বা তার আগে ব্যবহার করে একটি AVD তৈরি করতে হবে:

  • আপনার অ্যাপ্লিকেশনটি এমন কোনও AVD তে ইনস্টল করুন যা 25 বা ততোধিক এপিআই চলমান।
  • এভিডির অ্যাপ ড্রয়ারটি খুলুন এবং উইজেট প্রিভিউ অ্যাপ্লিকেশনটি চালু করুন।
  • উইজেট প্রাকদর্শন বর্তমানে এই এভিডিতে ইনস্টল হওয়া প্রতিটি অ্যাপ্লিকেশনের একটি তালিকা প্রদর্শন করবে; তালিকা থেকে আপনার আবেদন নির্বাচন করুন।

  • আপনার উইজেটটি এখন খালি পটভূমিতে প্রদর্শিত হবে। আপনার উইজেটটি যে প্রস্তাব দেয় তা সবচেয়ে ভাল প্রদর্শিত না হওয়া অবধি আপনার উইজেটটিকে পুনরায় আকার দেওয়ার ও টুইট করার জন্য ব্যয় করুন।
  • আপনি একবার আপনার উইজেটের উপস্থিতি এবং সামগ্রী নিয়ে খুশি হয়ে গেলে স্ন্যাপশটটি নির্বাচন করুন।

  • আপনার স্ন্যাপশটটি পুনরুদ্ধার করতে, অ্যান্ড্রয়েড স্টুডিওতে ফিরে যান এবং সরঞ্জামদণ্ড থেকে দেখুন> সরঞ্জাম উইন্ডোজ> ডিভাইস ফাইল এক্সপ্লোরার নির্বাচন করুন। এটি অ্যান্ড্রয়েড স্টুডিওর ডিভাইস ফাইল এক্সপ্লোরার চালু করে।
  • ডিভাইস ফাইল এক্সপ্লোরারে, এসডিকার্ড / ডাউনলোডে নেভিগেট করুন। আপনার পূর্বরূপ চিত্রটি নীচের বিন্যাসে সংরক্ষণ করা উচিত: _রি_.png

  • এই চিত্রটি অ্যান্ড্রয়েড স্টুডিওর বাইরে টানুন এবং সহজেই অ্যাক্সেসযোগ্য এমন কোনও জায়গায় ফেলে দিন যেমন আপনার ডেস্কটপ।
  • এই চিত্র ফাইলটির একটি বর্ণনামূলক নাম দিন।
  • আপনার প্রকল্পের অঙ্কনযোগ্য ফোল্ডারে ফাইলটি টানুন এবং ফেলে দিন।
  • আপনার AppWidgetProviderInfo খুলুন, যা এই প্রকল্পের জন্য সংগ্রহ_ উইজেট_ইনফো.এক্সএমএল।
  • অ্যান্ড্রয়েড: পূর্বরূপ চিত্র = "@ মিপম্যাপ / আইসি_লাঞ্চার" লাইনটি সন্ধান করুন এবং আপনার পূর্বরূপ চিত্রটি উল্লেখ করতে এটি আপডেট করুন।

আপনার উইজেটটি এখন এই নতুন চিত্র সংস্থানটিকে এর পূর্বরূপ চিত্র হিসাবে ব্যবহার করবে:

  • আপনার শারীরিক অ্যান্ড্রয়েড ডিভাইস বা এভিডি তে আপডেট হওয়া প্রকল্পটি ইনস্টল করুন।
  • হোমস্ক্রিনের যে কোনও খালি বিভাগ দীর্ঘ-টিপুন।
  • উইজেটগুলি আলতো চাপুন, যা উইজেট পিকারটি চালু করে।
  • আপনার উইজেটে স্ক্রোল করুন; এটি এখন আপডেট করা পূর্বরূপ চিত্র ব্যবহার করা উচিত।

কাস্টমাইজযোগ্য উইজেট: একটি কনফিগারেশন ক্রিয়াকলাপ যোগ করা

একটি কনফিগারেশন ক্রিয়াকলাপ স্বয়ংক্রিয়ভাবে চালু হয় যখন ব্যবহারকারী আপনার উইজেটের প্রতিটি উদাহরণ তাদের হোমস্ক্রিনে রাখে।

আপনি আপনার প্রকল্পে একটি কনফিগারেশন ক্রিয়াকলাপ যোগ করতে চাইতে পারেন তার বেশ কয়েকটি কারণ রয়েছে।

উইজেটগুলি ব্যক্তিগত ব্যবহারকারীর পক্ষে সর্বাধিক গুরুত্বপূর্ণ তথ্য বা বৈশিষ্ট্যগুলিতে অ্যাক্সেস সরবরাহ করার সময় সেরা ব্যবহারকারীর অভিজ্ঞতা সরবরাহ করার ঝোঁক থাকে।

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

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

এমনকি অপেক্ষাকৃত সরলতর কাস্টমাইজেশন যেমন উইজেটের ব্যাকগ্রাউন্ড বা ফন্ট পরিবর্তন করা ব্যবহারকারীর অভিজ্ঞতার উপর ইতিবাচক প্রভাব ফেলতে পারে - সর্বোপরি, কেউ এমন উইজেটের প্রশংসা করতে পারে না যা তাদের বাকী হোমস্ক্রিনের সাথে দৃশ্যত সংঘর্ষে লিপ্ত হয়!

কেউই এমন কোনও উইজেটের প্রশংসা করতে যাচ্ছেন না যা তাদের বাকী হোমস্ক্রিনের সাথে দর্শনীয়ভাবে সংঘর্ষে লিপ্ত হয়!

বিকল্পভাবে, কখনও কখনও আপনার লিখিত সামগ্রীর দীর্ঘ তালিকা থাকতে পারে যা আপনি আপনার উইজেটে অন্তর্ভুক্ত করতে চান এবং আপনি আপনার বিকল্পগুলি সংকীর্ণ করতে সংগ্রাম করছেন। একটি কনফিগারেশন ক্রিয়াকলাপ হ'ল আপনার সমস্ত ধারণাগুলি ভাল ব্যবহারে রাখার উপায় হতে পারে তৈরি একটি বিশৃঙ্খল, বিভ্রান্তিকর উইজেট। শুধু মনে রাখবেন যে একটি উইজেট সেট আপ করা যেন একরকমের কাজ মনে হয় না, তাই আপনি যদি একটি কনফিগারেশন ক্রিয়াকলাপ সরবরাহ করেন তবে সুপারিশ করা হয় যে আপনি নিজেকে তিনটি কনফিগারেশন বিকল্পে সীমাবদ্ধ করুন।

আসুন আমাদের প্রকল্পে একটি কনফিগারেশন ক্রিয়াকলাপ যোগ করুন!

প্রথমত, আমাদের কনফিগারেশন ক্রিয়াকলাপটির একটি বিন্যাস প্রয়োজন, সুতরাং একটি নতুন লেআউট সংস্থান ফাইল কনফিগার_একটিভিটি.এক্সএমএল তৈরি করুন।

আমি এই লেআউটে নিম্নলিখিত বোতামগুলি যুক্ত করতে যাচ্ছি:

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

এখানে আমার সম্পূর্ণ কনফিগারেশন_অ্যাক্টিভিটি.এক্সএমএল ফাইল রয়েছে:

কনফিগারেশন ক্রিয়াকলাপ তৈরি করুন

এখন, আমাদের আমাদের কনফিগারেশন ক্রিয়াকলাপ তৈরি করা দরকার।

শুরু করতে, কনফিগারএটিভিটি নামে একটি নতুন জাভা ক্লাস তৈরি করুন। এই ক্রিয়াকলাপে, আমরা কনফিগারেশন ক্রিয়াকলাপ চালু করে এমন অভিপ্রায় থেকে অ্যাপ উইজেট আইডিটি পুনরুদ্ধার করতে যাচ্ছি। যদি এই অভিপ্রায়টির কোনও উইজেট আইডি না থাকে, তবে আমাদের সমাপ্তি () পদ্ধতিটি কল করতে হবে:

অভিপ্রায় উদ্দেশ্য = getIntent (); বান্ডিল অতিরিক্তগুলি = intent.getExtras (); যদি (অতিরিক্ত! = নাল) {appWidgetId = এক্সট্রা। যদি (appWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {সমাপ্ত (); }

এর পরে, আমাদের একটি রিটার্নের উদ্দেশ্য তৈরি করতে হবে, আসল অ্যাপ উইজেটআইডি পাস করতে হবে এবং কনফিগারেশন ক্রিয়াকলাপ থেকে ফলাফলগুলি সেট করতে হবে:

ইন্টেন্ট রেজালভ্যালু = নতুন ইনটেন্ট (); রেজাল্ট ভ্যালু.পুটেক্সট্রা (অ্যাপ উইজেটম্যানেজ.আরেক্টরা_এপপিডাব্লুআইডিআইডি, অ্যাপ উইজেটআইডি); সেট রেজাল্ট (RESULT_OK, রেজাল্ট ভ্যালু); শেষ (); }}}

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

আপনার উইজেটটি আপ-টু-ডেট তথ্য এবং সামগ্রী সহ তৈরি হয়েছে তা নিশ্চিত করতে, আপনার কনফিগারেশন ক্রিয়াকলাপ অবশ্যই প্রথম অন-আপডেট () অনুরোধটি ট্রিগার করুন।

এখানে সম্পূর্ণ কনফিগারেশন রয়েছে:

আমদানি android.app.Activity; আমদানি android.appwidget.appWidgetManager; আমদানি android.os.Bundle; আমদানি android.widget.Button; আমদানি android.content.Inttent; আমদানি অ্যান্ড্রয়েড.ভিউ.ভিউ; আমদানি android.view.View.OnClickListener; আমদানি android.widget.Toast; সার্বজনীন শ্রেণীর কনফিগারেশন ক্রিয়াকলাপটি বাড়ায় {@ ওভাররাইড সুরক্ষিত অকার্যকর অনক্রিট (বান্ডেল সেভড ইনস্ট্যান্সস্টেট) {সুপার.অনক্রিয়েট (সেভডআইনস্ট্যান্সস্টেট); setContentView (R.layout.config_activity); setResult (RESULT_CANCELED); বোতাম সেটআপ উইজেট = (বোতাম) ফাইন্ড ভিউবিআইআইডি (আর.আইডি.সেটআপ উইজেট); setupWidget.setOnClickListener (নতুন অনক্লিকলিস্টার () {@ ওভাররাইড পাবলিক শূন্য অনক্লিক (ভি ভি) {হ্যান্ডেলসেটআপ উইজেট ();}}); বাটন কনফিগার বাটন = (বাটন) সন্ধান ভিউবিআইআইডি (আর.আইডি.কনফিগবাটন); configButton.setOnClickListener (new OnClickListener () {@ ওভাররাইড পাবলিক শূন্য অনক্লিক (ভিউ ভি) {হ্যান্ডেলকনফিগ উইজেট ();}}); } বেসরকারী শূন্য হ্যান্ডেলসেটআপ উইজেট () App showAppWidget (); } বেসরকারী শূন্য হ্যান্ডেল কনফিগ উইজেট () {টোস্ট.মেকটেক্সট (কনফিগারঅ্যাক্টিভিটি.এইটি, "কনফিগারেশন বিকল্পগুলি", টোস্ট। এলএনজিএইচথ_লং) .শো (); app int appWidgetId; বেসরকারী শূন্যপদ অ্যাপ্লিকেশন উইজেট () {appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; অভিপ্রায় উদ্দেশ্য = getIntent (); বান্ডিল অতিরিক্তগুলি = intent.getExtras (); যদি (অতিরিক্ত! = নাল) {appWidgetId = এক্সট্রা। যদি (appWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {সমাপ্ত (); } // করণীয়: কনফিগারেশনটি সম্পাদন করুন // ইন্টেন্ট রেজাল্ট ভ্যালু = নতুন ইনটেন্ট (); রেজাল্ট ভ্যালু.পুটেক্সট্রা (অ্যাপ উইজেটম্যানেজ.আরেক্টরা_এপপিডাব্লুআইডিআইডি, অ্যাপ উইজেটআইডি); সেট রেজাল্ট (RESULT_OK, রেজাল্ট ভ্যালু); শেষ (); }}}

একবার আপনি একটি কনফিগারেশন ক্রিয়াকলাপ তৈরি করার পরে, আপনাকে এই ক্রিয়াকলাপটিকে ম্যানিফেস্টে ঘোষণা করতে হবে এবং উল্লেখ করতে হবে যে এটি APPWIDGET_CONFIGURE ক্রিয়াটি গ্রহণ করে:

অবশেষে, যেহেতু একটি কনফিগারেশন ক্রিয়াকলাপটিকে প্যাকেজের সুযোগের বাইরে উল্লেখ করা হয়, তাই আমাদের এই অ্যাপটিটি আমাদের অ্যাপ্লিকেশনপ্রোডাইভারআইএনফোতে ঘোষণা করতে হবে, যা এই পরিস্থিতিতে সংগ্রহ_উইজেড_ইনফো.এক্সএমএল ফাইল:

অ্যান্ড্রয়েড কনফিগার = "com.jessicathornsby.collectionwidget.ConfigActivity">

আপনার প্রকল্প পরীক্ষা করা হচ্ছে

আপনার সমাপ্ত প্রকল্পটি পরীক্ষায় নেওয়ার এখন সময় এসেছে:

  • একটি শারীরিক অ্যান্ড্রয়েড ডিভাইস বা AVD এ আপনার আপডেট হওয়া প্রকল্পটি ইনস্টল করুন।
  • আপনি খুব সাম্প্রতিক সংস্করণের সাথে কাজ করছেন তা নিশ্চিত করার জন্য আপনার উইজেটের সমস্ত পূর্ববর্তী উদাহরণগুলি মুছুন।
  • হোমস্ক্রিনের যে কোনও ফাঁকা জায়গা দীর্ঘ-টিপুন এবং অনুরোধ জানানো হলে উইজেটগুলি নির্বাচন করুন।
  • উইজেট চয়নকারীতে আপনার উইজেটটি সন্ধান করুন এবং এটি নির্বাচন করতে দীর্ঘ প্রেস করুন।
  • আপনার হোমস্ক্রিনে উইজেটটি ফেলে দিন। কনফিগারেশন ক্রিয়াকলাপটি স্বয়ংক্রিয়ভাবে চালু হওয়া উচিত।
  • পারফর্ম কিছু কনফিগারেশন বোতামটি ক্লিক করুন এবং একটি কনফিগারেশন বিকল্প টোস্ট উপস্থিত হবে যা নিশ্চিত করে যে এই মিথস্ক্রিয়াটি সফলভাবে নিবন্ধিত হয়েছে।
  • কল্পনা করুন যে আপনি উইজেটের সেটিংস টুইট করেছেন এবং এখন এটি আপনার হোমস্ক্রিনে রাখতে প্রস্তুত; উইজেট তৈরি বোতামটি একটি ট্যাপ দিন এবং এই উইজেটটি সফলভাবে তৈরি করা উচিত।

আপনি গিটহাব থেকে সংগ্রহ সম্পন্ন উইজেট প্রকল্পটি ডাউনলোড করতে পারেন।

মোড়ক উম্মচন

এই নিবন্ধে, আমরা একটি স্ক্রোলযোগ্য সংগ্রহ উইজেট তৈরি করেছি যা ব্যবহারকারীর হোমস্ক্রিনে একটি ডেটা সেট প্রদর্শন করে।

আপনি যদি এই প্রকল্পের সাথে কাজ চালিয়ে যেতে চান, তবে আপনি নিজের আপডেট () পদ্ধতিতে নিজের কোড যুক্ত করার চেষ্টা করতে পারেন, একটি উইজেট তৈরি করতে যা আপনার অ্যাপ্লিকেশনপ্রাইভাইডারআইএনফো ফাইল (কালেকশন_উইজেড_ইনফো) -তে সংজ্ঞায়িত বিরতিতে নতুন তথ্য দিয়ে আপডেট করে।

আপনি যদি কোনও অ্যান্ড্রয়েড উইজেট তৈরি করেন তবে নীচের মন্তব্যে আপনার তৈরিগুলি ভাগ করে নেওয়ার বিষয়ে নিশ্চিত হন!

নতুনদের জন্য অ্যান্ড্রয়েড এসডিকে টিউটোরিয়ালকীভাবে অ্যান্ড্রয়েড অ্যাপস তৈরি করবেনজাভা কেবল অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশের জন্য অফিসিয়াল প্রোগ্রামিং ভাষা নয় (কোটলিন সহ), জাভা নিজেই গুগল অ্যান্ড...

সবচেয়ে খারাপ স্কোর দিয়ে শুরু করে, 32-বিট অ্যান্ড্রয়েড 5.0, দেখায় যে জাভা কোডটি সি এর চেয়ে 296% ধীর গতিতে বা অন্য কথায় 4 গুণ ধীর গতিতে চলেছে। আবার মনে রাখবেন যে এখানে নিরঙ্কুশ গতি গুরুত্বপূর্ণ নয...

পাঠকদের পছন্দ