টিএল; ডিআর , যদি আপনি "প্যাকেজ আর উপস্থিত নেই" ত্রুটিটি পান তবে সম্ভাব্য কারণগুলি
- এক্সএমএল রিসোর্স ফাইলগুলিতে কিছু ত্রুটি
-> এক্সএমএল ত্রুটিগুলি ঠিক করুন
- বর্তমান প্যাকেজটি প্যাকেজ থেকে আলাদা
R( package
অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল বৈশিষ্ট্য দেখুন )
-> আমদানি Rশ্রেণি, যেমন import com.example.android.R;
-> বা আপনার উত্সে উপযুক্ত প্যাকেজটি ব্যবহার করুন, যেমন package com.example.android;
-> অথবা অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল প্যাকেজ বৈশিষ্ট্যটি
<manifest xmlns:android="..." package="com.example.android" ...>যদি উপযুক্ত হয় তবে তা পরিবর্তন করুন
- ব্যবহৃত
Rআইডিগুলি সিস্টেম সংস্থান থেকে হয়
-> আমদানি করবেন না android.R, তবে আপত্তিজনক আইডির সাথে উপসর্গ স্থাপন করুন android., উদাহরণস্বরূপ android.R.layout.simple_list_item_2
আপনি android.Rঅবশ্যই আইডির উপসর্গের পরিবর্তে আমদানি করতে পারেন, তবে আপনি Rআর অ্যাপ্লিকেশন শ্রেণিটি আমদানি করতে পারবেন না এবং অবশ্যই অ্যাপ্লিকেশন আইডির উপসর্গ স্থাপন করতে হবে, উদাহরণস্বরূপ com.example.android.R.id.main_menu।
R বর্গ অ্যাপ্লিকেশানের সম্পদ থেকে স্বয়ংক্রিয়ভাবে উত্পন্ন করা হয়। এতে idএই সংস্থানগুলির জন্য গুলি রয়েছে <manifest>
এবং এটি সংশ্লিষ্ট AndroidManifest.xmlফাইলের ট্যাগে থাকা প্যাকেজে অন্তর্ভুক্ত রয়েছে
।
যদি রিসোর্স এক্সএমএল ফাইলগুলিতে কোনও ত্রুটি না থাকে তবে R.javaউত্সটি নীচে একটি প্যাকেজ উপ-ডিরেক্টরিতে উত্পন্ন gen/এবং সংকলিত হবে।
প্যাকেজে আরও একটি Rক্লাস অবস্থিত android। এই android.Rশ্রেণিতে কিছু নেস্টেড ক্লাস রয়েছে, যার মধ্যে সিস্টেম রিসোর্সের idজন্য পরিবর্তিত গুলি এবং অন্যান্য মান রয়েছে ।
জাভাতে কোনও ক্লাস ব্যবহার করতে, আপনাকে অবশ্যই পুরো প্যাকেজ সহ শ্রেণীর নাম রাখতে হবে, যেমন
java.util.List<Object> list = new java.util.ArrayList<Object>();
বা ক্লাসটি আমদানি করুন এবং তারপরে প্যাকেজ ছাড়াই এটি ব্যবহার করুন
import java.util.List;
import java.util.ArrayList;
List<Object> list = new ArrayList<Object>();
প্যাকেজটির নামকরণ না করেও আপনি ক্লাস ব্যবহার করতে পারেন, যদি বর্তমান বর্গ এবং ব্যবহৃত শ্রেণি উভয় একই প্যাকেজে থাকে, যেমন
package com.example.android;
public class A {
/* ... */
}
package com.example.android;
public class B {
public void useA() {
A a = new A();
}
}