ডাটাবেস ইন্সপেক্টর দিয়ে আপনার ডাটাবেস ডিবাগ করুন

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

ডাটাবেস ইন্সপেক্টর খুলুন

ডাটাবেস ইন্সপেক্টরে একটি ডাটাবেস খুলতে, নিম্নলিখিতগুলি করুন:

  1. API স্তর 26 বা উচ্চতর চলমান একটি এমুলেটর বা সংযুক্ত ডিভাইসে আপনার অ্যাপ চালান

  2. মেনু বার থেকে, দেখুন > টুল উইন্ডোজ > অ্যাপ পরিদর্শন নির্বাচন করুন।

  3. ডাটাবেস ইন্সপেক্টর ট্যাব নির্বাচন করুন।

  4. মেনু থেকে চলমান অ্যাপ্লিকেশন প্রক্রিয়া নির্বাচন করুন।

  5. বর্তমানে চলমান অ্যাপের ডাটাবেসগুলি ডাটাবেস প্যানে প্রদর্শিত হয়। আপনি যে ডাটাবেস পরিদর্শন করতে চান তার জন্য নোডটি প্রসারিত করুন।

ডেটা দেখুন এবং পরিবর্তন করুন

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

ডাটাবেস ইন্সপেক্টর উইন্ডোর স্ক্রিনশট।
চিত্র 1. ডাটাবেস ইন্সপেক্টর উইন্ডো।

একটি টেবিলে ডেটা পরিবর্তন করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. একটি ঘরে ডাবল ক্লিক করুন।
  2. একটি নতুন মান টাইপ করুন।
  3. এন্টার চাপুন ।

যদি আপনার অ্যাপ রুম ব্যবহার করে এবং আপনার UI ডাটাবেস পর্যবেক্ষণ করে, যেমন LiveData বা Flow এর সাথে, তাহলে ডেটাতে আপনি যে কোনো পরিবর্তন করেন তা আপনার চলমান অ্যাপে অবিলম্বে দৃশ্যমান হয়। অন্যথায়, পরিবর্তনগুলি শুধুমাত্র পরের বার যখন আপনার অ্যাপ ডাটাবেস থেকে পরিবর্তিত ডেটা পড়বে তখনই দৃশ্যমান হবে৷

লাইভ ডাটাবেস পরিবর্তন দেখুন

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

বিকল্পভাবে, ম্যানুয়ালি ডেটা আপডেট করতে, পরিদর্শক উইন্ডোর শীর্ষে রিফ্রেশ টেবিল বোতামে ক্লিক করুন।

আপনার ডাটাবেস জিজ্ঞাসা করুন

ডাটাবেস ইন্সপেক্টর অ্যাপটি চলাকালীন আপনার অ্যাপের ডাটাবেসের বিরুদ্ধে প্রশ্ন চালাতে পারে। আপনার অ্যাপ রুম ব্যবহার করলে টুলটি DAO কোয়েরি ব্যবহার করতে পারে, কিন্তু এটি কাস্টম SQL কোয়েরিও সমর্থন করে।

DAO প্রশ্ন চালান

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

একটি DAO-তে যেকোন কোয়েরি পদ্ধতি চালানোর জন্য, ডাটাবেস ইন্সপেক্টরে রান SQLite স্টেটমেন্টে ক্লিক করুন এর @Query টীকাটির পাশে বোতাম।

DAO নর্দমা কর্মের স্ক্রিনশট.
চিত্র 2. DAO কোয়েরি নর্দমা কর্ম.

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

কাস্টম এসকিউএল কোয়েরি চালান

আপনার অ্যাপ চলাকালীন আপনার অ্যাপের ডাটাবেসের বিরুদ্ধে কাস্টম SQL কোয়েরি চালানোর জন্য আপনি ডাটাবেস ইন্সপেক্টর ব্যবহার করতে পারেন।

একটি ডাটাবেস অনুসন্ধান করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নতুন ক্যোয়ারী ট্যাব খুলুন ক্লিক করুন পরিদর্শক উইন্ডোতে একটি নতুন ট্যাব খুলতে ডেটাবেস ফলকের শীর্ষে।

    নতুন ক্যোয়ারী ট্যাব বোতাম নির্দেশ করে স্ক্রিনশট।
    চিত্র 3. একটি নতুন ক্যোয়ারী ট্যাব খুলুন।
  2. যদি আপনার অ্যাপে একাধিক ডাটাবেস থাকে, তাহলে নতুন ক্যোয়ারী ট্যাবে থাকা তালিকা থেকে প্রশ্ন করার জন্য ডাটাবেস নির্বাচন করুন।

  3. নতুন ক্যোয়ারী ট্যাবের শীর্ষে, পাঠ্য ক্ষেত্রে আপনার কাস্টম SQL ক্যোয়ারী টাইপ করুন।

  4. রান এ ক্লিক করুন।

বিকল্পভাবে, আপনি পূর্বে ব্যবহার করেছেন এমন একটি ক্যোয়ারী চালানোর জন্য ক্যোয়ারী ইতিহাস বৈশিষ্ট্যটি ব্যবহার করুন:

  1. ক্যোয়ারী ইতিহাস দেখান ক্লিক করুন ক্যোয়ারী ইতিহাস বোতাম দেখান আপনি পূর্বে নির্বাচিত ডাটাবেসের বিরুদ্ধে চালানো প্রশ্নের একটি তালিকা দেখতে বোতাম।

    স্ক্রিনশট কোয়েরি ইতিহাস ড্রপ-ডাউন দেখাচ্ছে।
    চিত্র 4. ক্যোয়ারী ইতিহাস মেনু।
  2. এডিটরে সম্পূর্ণ ক্যোয়ারীটির পূর্বরূপ দেখতে তালিকার একটি ক্যোয়ারী ক্লিক করুন এবং এডিটরে কপি করতে এন্টার টিপুন।

  3. বিবৃতি কার্যকর করতে রান ক্লিক করুন.

নতুন ক্যোয়ারী ট্যাবে প্রদর্শিত ক্যোয়ারী ফলাফল শুধুমাত্র পঠনযোগ্য এবং পরিবর্তন করা যাবে না। যাইহোক, আপনি UPDATE , INSERT , বা DELETE এর মত পরিবর্তনকারী বিবৃতি চালানোর জন্য কাস্টম SQL ক্যোয়ারী ক্ষেত্র ব্যবহার করতে পারেন।

যদি আপনার অ্যাপ রুম ব্যবহার করে এবং আপনার UI ডাটাবেস পর্যবেক্ষণ করে, যেমন LiveData বা Flow এর সাথে, তাহলে ডেটাতে আপনি যে কোনো পরিবর্তন করেন তা আপনার চলমান অ্যাপে অবিলম্বে দৃশ্যমান হয়। অন্যথায়, পরিবর্তনগুলি শুধুমাত্র পরের বার যখন আপনার অ্যাপ ডাটাবেস থেকে পরিবর্তিত ডেটা পড়বে তখনই দৃশ্যমান হবে৷

নীরব কার্যপদ্ধতি

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

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

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

আপনি যখন অফলাইন মোডে একটি ডাটাবেস দেখছেন, তখন প্রক্রিয়ার নামটিতে [DETACHED] অন্তর্ভুক্ত থাকে যে ইন্সপেক্টর আর প্রক্রিয়াটির সাথে সংযুক্ত নেই। এছাড়াও, ডাটাবেস আইকন ডাটাবেস অফলাইন চিত্র 5 এ দেখানো অফলাইন অবস্থা নির্দেশ করে।

অফলাইন মোডে ডাটাবেস পরিদর্শক
চিত্র 5. অফলাইন মোডে ডাটাবেস ইন্সপেক্টর।

ডাটাবেস সংযোগ খোলা রাখুন

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

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

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

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

  • ডাটাবেস প্যানেলে একটি ডাটাবেস বা টেবিল নির্বাচন করুন এবং প্যানেলের শীর্ষের কাছে ফাইল রপ্তানিতে ক্লিক করুন।
  • ডাটাবেস প্যানেলে একটি ডাটাবেস বা টেবিলে ডান-ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে ফাইলে রপ্তানি করুন নির্বাচন করুন।
  • একটি ট্যাবে একটি টেবিল বা কোয়েরির ফলাফল পরিদর্শন করার সময়, টেবিলের উপরে ফাইল বা কোয়েরির ফলাফলে রপ্তানি ক্লিক করুন।

একটি রপ্তানি ক্রিয়া নির্বাচন করার পরে, চূড়ান্ত ধাপে আপনাকে সাহায্য করার জন্য এক্সপোর্ট ডেটাবেস ডায়ালগটি ব্যবহার করুন, যেমন চিত্র 6-এ দেখানো হয়েছে।

আপনি একটি ডাটাবেস, টেবিল, বা ক্যোয়ারী ফলাফল রপ্তানি করার চেষ্টা করছেন কিনা তার উপর নির্ভর করে, আপনার কাছে নিম্নলিখিত এক বা একাধিক ফর্ম্যাটে ডেটা রপ্তানি করার বিকল্প রয়েছে: DB, SQL, বা CSV৷

ডাটাবেস ডায়ালগ বক্স রপ্তানি করুন

চিত্র 6. এক্সপোর্ট ডাটাবেস ডায়ালগ।

অতিরিক্ত সম্পদ

ডেটাবেস ইন্সপেক্টর সম্পর্কে আরও জানতে, নিম্নলিখিত অতিরিক্ত সংস্থানগুলি দেখুন:

ব্লগ এর লেখাগুলো

ভিডিও