27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
রপ্তানি ধ্রুবক
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
যে ক্ষেত্রে একটি ইন্টারফেস জাভা-সামঞ্জস্যপূর্ণ নয় (কারণ এটি উদাহরণস্বরূপ ইউনিয়ন ব্যবহার করে) তখনও জাভা বিশ্বে ধ্রুবক (এনাম মান) রপ্তানি করা বাঞ্ছনীয় হতে পারে। এই দৃশ্যটি hidl-gen -Ljava-constants …
যা একটি প্যাকেজের ইন্টারফেস ফাইল(গুলি) থেকে টীকাযুক্ত enum ঘোষণাগুলি বের করে এবং [PACKAGE-NAME]-V[PACKAGE-VERSION]-java-constants
নামে একটি জাভা লাইব্রেরি তৈরি করে . নিম্নলিখিত হিসাবে রপ্তানি করা প্রতিটি enum ঘোষণা টীকা করুন:
@export
enum Foo : int32_t {
SOME_VALUE,
SOME_OTHER_VALUE,
};
প্রয়োজনে, যে নামটির অধীনে এই ধরনের জাভা বিশ্বে রপ্তানি করা হয় তা টীকা-প্যারামিটার name
যোগ করে ইন্টারফেস ঘোষণায় নির্বাচিত নাম থেকে ভিন্ন হতে পারে:
@export(name="JavaFoo")
enum Foo : int32_t {
SOME_VALUE,
SOME_OTHER_VALUE,
};
যদি জাভা কনভেনশন বা ব্যক্তিগত পছন্দ এনাম টাইপের মানগুলিতে একটি সাধারণ উপসর্গ যোগ করতে বলে, তাহলে টীকা-প্যারামিটার value_prefix
ব্যবহার করুন:
// File "types.hal".
package android.hardware.bar@1.0;
@export(name="JavaFoo", value_prefix="JAVA_")
enum Foo : int32_t {
SOME_VALUE,
SOME_OTHER_VALUE,
};
ফলস্বরূপ জাভা ক্লাস নিম্নরূপ প্রদর্শিত হয়:
package android.hardware.bar.V1_0;
public class Constants {
public final class JavaFoo {
public static final int JAVA_SOME_VALUE = 0;
public static final int JAVA_SOME_OTHER_VALUE = 1;
};
};
অবশেষে, types.hal
এ ঘোষিত enum প্রকারের জন্য জাভা টাইপ ডিক্লেয়ারেশন প্রদত্ত প্যাকেজে একটি ক্লাস Constants
মধ্যে গোষ্ঠীভুক্ত করা হয়েছে। একটি ইন্টারফেসের শিশু হিসাবে ঘোষিত Enum প্রকারগুলিকে সেই ইন্টারফেসের জাভা ক্লাস ঘোষণার অধীনে গোষ্ঠীভুক্ত করা হয়।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Export constants\n\nIn cases where an interface isn't Java-compatible (because it uses unions\nfor example) it might still be desirable to export the constants (enum values) to\nthe Java world. This scenario is supported by `hidl-gen -Ljava-constants\n...` which extracts annotated enum declarations from the interface\nfile(s) in a package and produces a java library named\n`[PACKAGE-NAME]-V[PACKAGE-VERSION]-java-constants`. Annotate each\nenum declaration to be exported as follows: \n\n```java\n@export\nenum Foo : int32_t {\n SOME_VALUE,\n SOME_OTHER_VALUE,\n};\n```\n\nIf necessary, the name under which this type is exported to the Java world\ncan be different from that chosen in the interface declaration by adding the\nannotation-parameter `name`: \n\n```java\n@export(name=\"JavaFoo\")\nenum Foo : int32_t {\n SOME_VALUE,\n SOME_OTHER_VALUE,\n};\n```\n\nIf Java conventions or personal preference ask for a common prefix to be\nadded to the enum type's values, use the annotation-parameter\n`value_prefix`: \n\n```java\n// File \"types.hal\".\n\npackage android.hardware.bar@1.0;\n\n@export(name=\"JavaFoo\", value_prefix=\"JAVA_\")\nenum Foo : int32_t {\n SOME_VALUE,\n SOME_OTHER_VALUE,\n};\n```\n\nThe resulting Java class appears as follows: \n\n```java\npackage android.hardware.bar.V1_0;\n\npublic class Constants {\n public final class JavaFoo {\n public static final int JAVA_SOME_VALUE = 0;\n public static final int JAVA_SOME_OTHER_VALUE = 1;\n };\n};\n```\n\nFinally, Java type declaration for enum types declared in\n`types.hal` are grouped inside a class `Constants` in the\ngiven package. Enum types declared as children of an interface are grouped\nunder that interface's Java class declaration."]]