অ্যান্ড্রয়েড - প্যাকেজের নাম কনভেনশন


205

Android.com এ "হ্যালো ওয়ার্ল্ড" উদাহরণস্বরূপ , প্যাকেজের নাম
"package com.example.helloandroid;"

এই প্যাকেজটির নামকরণের জন্য কি কোনও গাইডলাইন / স্ট্যান্ডার্ড রয়েছে? (তথ্যসূত্রগুলি সুন্দর হবে)

উত্তর:


229

অ্যান্ড্রয়েড সাধারণ জাভা প্যাকেজ কনভেনশন অনুসরণ করে এবং এখানে পড়ার জন্য পাঠ্যের একটি গুরুত্বপূর্ণ স্নিপেট রয়েছে (অ্যান্ড্রয়েডে বিকাশের সময় এক্সএমএল ফাইলগুলির বিস্তৃত ব্যবহার সম্পর্কে এটি গুরুত্বপূর্ণ)।

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

com.adobe.reader (অ্যাডোব রিডার)

com.adobe.photoshop (অ্যাডোব ফটোশপ)

com.adobe.ideas (অ্যাডোব ধারণা)

[দ্রষ্টব্য যে এটি কেবল একটি উদাহরণ এবং এগুলি সঠিক প্যাকেজের নাম নাও হতে পারে]]

এগুলি অভ্যন্তরীণভাবে ম্যাপ করা যায় (যথাক্রমে) এতে:

কম / Adobe / Reader

কম / Adobe / ফটোশপ

কম / Adobe / ধারনা

জাভাতে প্যাকেজ নামকরণ কনভেনশন থেকে ধারণাটি এসেছে, এ সম্পর্কে আরও এখানে পড়তে পারেন: *

http://en.wikipedia.org/wiki/Java_package#Package_naming_conventions

সূত্র: http://www.quora.com/Why-do-a-majority-of-Android-package-names-begin-with-com


2
এখানে অ্যান্ড্রয়েড সাইট থেকে একটি (সংক্ষিপ্ত) রেফারেন্স - বিকাশকারী.অ্যান্ড্রয়েড
রিসোর্সেস / টিউটোরিয়ালস

4
আপনার উত্তরে আপনার একটি ভুল রয়েছে যা লোককে বিভ্রান্ত করতে পারে। এটি com.adobe.ideas, এবং com.adobe.Ideas (মূলধন I) নয়। প্যাকেজ নামে ক্যাপিটাল ব্যবহার করা একটি খারাপ ধারণা (কিছু গুগল পরিষেবা আপনার পক্ষে কাজ করবে না)
আমির উয়াল

4
দুঃখিত মানুষ. আপনার উত্তরটি দেখার পরে আমি আরও
ঘুরে দেখলাম

7
@ এবং অ্যান্ড্রয়েড ডেভেলপার - সমস্ত বর্ণমালা, ' এবং '_' অনুমোদিত। তবে, একটি প্যাকেজের নাম (বা com.adobe.reader এ "পাঠক" এর মতো একটি প্যাকেজের নাম) একটি নম্বর দিয়ে শুরু করতে পারে না, বা জাভা সংরক্ষিত কীওয়ার্ড হতে পারে না (যেমন "" বা "এর জন্য" ")। এই বিধিনিষেধের বিরুদ্ধে লড়াই করার জন্য, আপনি প্যাকেজটির নামটি একটি '_' দিয়ে শুরু করবেন যাতে 3.cookies.for.you.com com.you._for.cookies._3 এ অনুবাদ করবে)। বিশদ জন্য প্রাসঙ্গিক ওরাকল ডকুমেন্টেশন দেখুন।
জিমি হুচ

1
"Com.appname" অ্যান্ড্রয়েডে একটি বৈধ প্যাকেজের নাম হতে পারে?
বুয়েকিমা

65

প্যাকেজের নামটি আপনার অ্যাপ্লিকেশনটির জন্য স্বতন্ত্র সনাক্তকরণের জন্য ব্যবহৃত হয়।
অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি ইনস্টল করা হয়েছে কিনা তা নির্ধারণ করতে প্যাকেজের নাম ব্যবহার করে।
সাধারণ নামকরণ হ'ল:

com.companyname.applicationname

উদাহরণ:

com.android.Camera


2
com আলাদা হতে পারে, যদি সংস্থা / সংস্থার ডোমেনের নাম আলাদা হয়। অর্থাত। org.wikedia.wikediaapp
নিলস অ্যাবিল্ডগার্ড

6
যদি কেউ আমার ওয়েবসাইটের নামটি তার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটির জন্য প্যাকেজের নাম হিসাবে নেয়? আমি কি দোকান থেকে এই অ্যাপ্লিকেশনটি নামাতে পারি?
মোহাম্মদ আলবান্না

38

http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

সংস্থাগুলি তাদের প্যাকেজ নামগুলি শুরু করতে তাদের বিপরীত ইন্টারনেট ডোমেন নাম ব্যবহার করে example উদাহরণস্বরূপ, com.example.mypackage যেমন একটি প্রোগ্রামার দ্বারা তৈরি মাইপ্যাকেজ নামে একটি প্যাকেজ উদাহরণ ডটকম।

একটি সংস্থার মধ্যে সংঘটিত নামের সংঘর্ষগুলি সেই সংস্থার মধ্যে কনভেনশন দ্বারা পরিচালনা করা প্রয়োজন, সম্ভবত অঞ্চল বা প্রকল্পের নাম সংস্থার নামের পরে (উদাহরণস্বরূপ, com.example.region.mypackage) অন্তর্ভুক্ত করে।

আপনার যদি কোনও কোম্পানির ডোমেইন থাকে তবে www.example.com

তারপরে আপনার ব্যবহার করা উচিত:

com.example.region.projectname

আপনার যেমন ডোমেইন নাম যেমন উদাহরণ ডটকম.উইকের চেয়ে বেশি হওয়া উচিত:

uk.co.example.region.projectname

যদি আপনি কোনও ডোমেনের মালিক না হন তবে আপনার নিজের ইমেল ঠিকানাটি ব্যবহার করা উচিত:

name@example.com এর জন্য এটি হওয়া উচিত:

com.example.name.region.projectname


আমাকে দয়া করে কেন এটি ব্যবহার করতে হবে দয়া করে ব্যাখ্যা করতে পারেন? প্যাকেজটির নাম হিসাবে আমার সংস্থার ডোমেন নাম ব্যবহার করে আমি কী সুবিধা পাব?
ব্যাটম্যাচি

: দয়া করে একটি উদাহরণ হিসাবে এই Stackoverflow প্রশ্ন দেখতে পাবেন stackoverflow.com/questions/8381324/...
JCasso

ঠিক আছে আমি প্যাকেজের নামটি অনন্য রাখতে এটি বুঝতে পারি তবে আমার প্রশ্নটি যখন আমরা গুগল প্লেতে আপলোড করি। গুগল প্লে কি প্যাকেজটির নাম অনলাইনে যাওয়ার আগে স্টোরটিতে অনন্য কিনা তা নিশ্চিত করে না? সুতরাং আমরা যদি কেবল গুগল প্লে থেকে ইনস্টল করি তবে আমাদের এই দ্বন্দ্ব থাকা উচিত নয়
ব্যাটমাসি

গুগল প্লে নিশ্চিত করে যে অ্যাপ্লিকেশন আইডিগুলি অনন্য। এটি বিরোধের জন্য প্যাকেজগুলি স্ক্যান করে না। সুতরাং বিকাশকারীরা এই নামকরণের কনভেনশনটি অনুসরণ না করে তবে দুটি একই অভিজাত / পরিষেবাদির একই নামধারী নাম রয়েছে এমনটিও সম্ভব। দয়া করে দেখুন: developer.android.com/studio/build/application-id.html
জে কাসো

আপনি যদি আপনার ডোমেনের নাম পরিবর্তন করেন তবে কী হবে? এছাড়াও, ইমেলটির জন্য পরামর্শটি কিছুটা বিপজ্জনক বলে মনে হচ্ছে - আমার ইমেলটি যদি foo@outlook.com এবং মাইক্রোসফ্ট আউটলুকের জন্য একটি ফু প্যাকেজ তৈরি করতে চায়? দুজনেই com.outlook.foo এ থাকবেন, তাই না?
হ্যাপিডগ

6
Com = commercial application (just like .com, most people register their app as a com app)
First level = always the publishing entity's' name
Second level (optional) = sub-devison, group, or project name
Final level = product name

উদাহরণস্বরূপ তিনি অ্যান্ড্রয়েড লঞ্চার (হোম স্ক্রিন) হলেন Com.Google.android.launcher


2

সাধারণত প্রথম 2 টি প্যাকেজ "শব্দ" হ'ল বিপরীতে আপনার ওয়েব ঠিকানা। (আপনার কাছে সাবডোমেন থাকলে এখানে কনভেনশন হিসাবে 3 জন থাকতেন))

সুতরাং স্ট্যাকওভারফ্লো উত্পাদিত কিছু হ'ল সম্ভবত প্যাকেজ com.stackoverflow.w काहीही.customname এ থাকবে

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

mysubdomain.toplevel.com থেকে কিছু হবে com.toplevel.mysubdomain.w काहीही

সেই সাধারণ সম্মেলনের বাইরেও আকাশ সীমাবদ্ধ। এটি এমন একটি পুরানো লিনাক্স কনভেনশন যা আমি ঠিক মনে করতে পারি না ...


পরামর্শের জন্য ধন্যবাদ. তবে, সরকারী অ্যান্ড্রয়েড সাইট থেকে কোনও রেফারেন্স আছে?
চার্লস ইয়ুং

আমি যে নিকটতম জিনিসটি দেখতে পেলাম তা এখানে একটি ব্লার্ব ছিল: বিকাশকারী.অ্যান্ড্রয়েড / গাইড / টপিক্স / ম্যানিফেস্ট / But তবে আপনি যদি প্যাকেজ লাইব্রেরি হিসাবে বিদ্যমান সমস্ত কিছু গ্রহণ করেন তবে আপনি দেখতে পাবেন যে তারা সর্বদা একই সম্মেলনটি অনুসরণ করে। এইচটিপিটি org.apache.http থেকে, অ্যান্ডেনজিন হ'ল org.anddev.andengine ইত্যাদি
এরিক

অ্যান্ড্রয়েডে প্যাকেজ নামের জন্য কোন অক্ষরগুলি অনুমোদিত সে সম্পর্কে নিয়মগুলি কী? এটি কি কেবল ইংরেজী অক্ষর, " এবং অনুমোদিত "_" অক্ষর?
অ্যান্ড্রয়েড বিকাশকারী

সহায়ক মন্তব্যের জন্য সবাইকে ধন্যবাদ। আমি সম্পর্কিত সমস্যার মুখোমুখি হচ্ছি: spectorskyঅ্যাপ্লিকেশনটিতে আমার প্যাকেজটি calendarডিভাইস ফাইল এক্সপ্লোরার হিসাবে পুনরায় প্রকাশ করা হয়েছে com.tmp.spectorsky.calendar। আমি বুঝতে পারি না কেন tmpএখানে স্তরটি উপস্থিত হয়?
স্পেক্টরস্কি

-1

তবে যদি আপনার অ্যান্ড্রয়েড অ্যাপটি কেবলমাত্র ব্যক্তিগত উদ্দেশ্যে বা একা তৈরি করে তৈরি করা হয় তবে আপনি ব্যবহার করতে পারেন:

me.app_name.app

10
আপনি বলতে পারেন, যে বিবৃতি দেওয়া হয়েছে তা আপনার পক্ষে মতামত :)
রাহুল রেড্ডি

@ রাহুলেরেডি কেন এটাকে নিম্নমানের, আমি বুঝতে পারি না। গুগল কম ব্যবহার করার জন্য কাউকে সীমাবদ্ধ করে না। বা org! আপনি
প্যাকেজটির

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

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

1
@ ব্যাটমসি এই পরিস্থিতিটি কল্পনা করুন: ডেভ এক্স অ্যাপ তৈরি করে (সৃজনশীল নাম নয়) এবং এতে "me.app_name.services.MyService"। দেব ওয়াই, যিনি দেব এক্সের মতো একই ডাকনামটি পেয়েছেন (উদাহরণস্বরূপ একাধিক জায়গায় আমার কাছ থেকে সিসিসিসি নেওয়া হয়েছিল), একটি অ্যাপ তৈরি করে, নামটিও ক্রিয়েটিভ নয়, দেব এক্স এর অ্যাপ্লিকেশন নামের মতো। দেব ওয়াই তার অ্যাপ্লিকেশনটির জন্য একটি "me.app_name.services.MyS सर्विस" তৈরি করে। ব্যবহারকারী উভয় অ্যাপ্লিকেশন ইনস্টল করে, তাদের মধ্যে একটি নাম দিয়ে এর পরিষেবা শুরু করার চেষ্টা করে - কোন পরিষেবাটি শুরু হয়? অসম্ভব বলে মনে হচ্ছে তবে সেখানে অ্যান্ড্রয়েড অ্যাপসের সংখ্যা বিবেচনা করুন। প্যাকেজের নামে আপনার ইমেল ব্যবহার করা এই সম্ভাবনাটি সরিয়ে দেয়।
সিসিসিসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.