Cronet ব্যবহার করে তৈরি করা অনুরোধের জীবনচক্র এবং লাইব্রেরি দ্বারা প্রদত্ত কলব্যাক পদ্ধতিগুলি ব্যবহার করে কীভাবে সেগুলি পরিচালনা করা যায় সে সম্পর্কে জানুন।
জীবনচক্র ওভারভিউ
Cronet লাইব্রেরি ব্যবহার করে তৈরি করা নেটওয়ার্ক অনুরোধ UrlRequest ক্লাস দ্বারা প্রতিনিধিত্ব করা হয়। UrlRequest জীবনচক্র বোঝার জন্য নিম্নলিখিত ধারণাগুলি গুরুত্বপূর্ণ:
- রাজ্যগুলি
- একটি রাষ্ট্র হল একটি নির্দিষ্ট অবস্থা যেখানে অনুরোধ একটি নির্দিষ্ট সময়ে হয়। ক্রোনেট লাইব্রেরি ব্যবহার করে তৈরি করা UrlRequest বস্তুগুলি তাদের জীবনচক্রে বিভিন্ন রাজ্যের মধ্য দিয়ে যায়। অনুরোধের জীবনচক্রে একটি প্রাথমিক অবস্থা এবং একাধিক ক্রান্তিকালীন এবং চূড়ান্ত অবস্থা অন্তর্ভুক্ত রয়েছে।
-
UrlRequestপদ্ধতি - ক্লায়েন্টরা রাষ্ট্রের উপর নির্ভর করে
UrlRequestঅবজেক্টে নির্দিষ্ট পদ্ধতিতে কল করতে পারে। পদ্ধতিগুলি অনুরোধটিকে এক রাজ্য থেকে অন্য রাজ্যে নিয়ে যায়। -
Callbackপদ্ধতি -
UrlRequest.Callbackক্লাসের পদ্ধতি প্রয়োগ করে, আপনার অ্যাপ অনুরোধের অগ্রগতি সম্পর্কে আপডেট পেতে পারে। আপনিUrlRequestঅবজেক্টের কল পদ্ধতিতে কলব্যাক পদ্ধতি প্রয়োগ করতে পারেন যা জীবনচক্রকে একটি রাজ্য থেকে অন্য রাজ্যে নিয়ে যায়।
নিম্নলিখিত তালিকাটি UrlRequest জীবনচক্রের প্রবাহ বর্ণনা করে:
- আপনার অ্যাপ
start()পদ্ধতিতে কল করার পরে জীবনচক্রটি স্টার্টেড অবস্থায় থাকে। - সার্ভার একটি পুনঃনির্দেশ প্রতিক্রিয়া পাঠাতে পারে, যা
onRedirectReceived()পদ্ধতিতে প্রবাহকে নিয়ে যায়। এই পদ্ধতিতে, আপনি নিম্নলিখিত ক্লায়েন্ট অ্যাকশনগুলির মধ্যে একটি নিতে পারেন:-
followRedirect()ব্যবহার করে পুনঃনির্দেশ অনুসরণ করুন। এই পদ্ধতিটি অনুরোধটিকে স্টার্টেড অবস্থায় ফিরিয়ে নিয়ে যায়। -
cancel()ব্যবহার করে অনুরোধটি বাতিল করুন। এই পদ্ধতিটি অনুরোধটিকেonCanceled()পদ্ধতিতে নিয়ে যায় যেখানে অনুরোধটি বাতিল চূড়ান্ত অবস্থায় সরানোর আগে অ্যাপটি অতিরিক্ত ক্রিয়াকলাপ সম্পাদন করতে পারে।
-
- অ্যাপটি সমস্ত পুনঃনির্দেশ অনুসরণ করার পরে, সার্ভার প্রতিক্রিয়া শিরোনাম পাঠায় এবং
onResponseStarted()পদ্ধতি বলা হয়। অনুরোধটি পড়া () অবস্থায় অপেক্ষা করছে । রেসপন্স বডির অংশ পড়ার চেষ্টা করার জন্য অ্যাপটিকেread()পদ্ধতিতে কল করা উচিত।read()কল করার পরে, অনুরোধটি পঠন অবস্থায় থাকে, যেখানে নিম্নলিখিত সম্ভাব্য ফলাফল রয়েছে:- রিডিং অ্যাকশন সফল হয়েছে, কিন্তু আরও ডেটা পাওয়া যাচ্ছে।
onReadCompleted()বলা হয় এবং রিকোয়েস্টটি আবার Read() অবস্থায় অপেক্ষা করছে । রেসপন্স বডি পড়া চালিয়ে যেতে অ্যাপটিকে পুনরায়read()পদ্ধতিতে কল করা উচিত। অ্যাপটিcancel()পদ্ধতি ব্যবহার করে অনুরোধ পড়া বন্ধ করতে পারে। - রিডিং অ্যাকশন সফল হয়েছে, এবং আর কোনো ডেটা উপলব্ধ নেই৷
onSucceeded()পদ্ধতিটি বলা হয় এবং অনুরোধটি এখন সফল চূড়ান্ত অবস্থায় রয়েছে। - পড়ার ক্রিয়া ব্যর্থ হয়েছে৷
onFailedপদ্ধতি বলা হয় এবং অনুরোধের চূড়ান্ত অবস্থা এখন ব্যর্থ ।
- রিডিং অ্যাকশন সফল হয়েছে, কিন্তু আরও ডেটা পাওয়া যাচ্ছে।
নিম্নলিখিত চিত্রটি একটি UrlRequest বস্তুর জীবনচক্র দেখায়:
ক্রনেট অনুরোধ জীবনচক্র
| কিংবদন্তি | |
|---|---|
UrlRequest পদ্ধতি |