رفتن به مطلب

***آموزش رپ کتابخانه***


امیرحسین قاسمی

ارسال‌های توصیه شده

باسلام،

با یک آموزش دیگر با عنوان(رپ کتابخانه برای بیسیک فور اندروید)در خدمتتون هستم.

شما میتوانید جهت سهولت در کار خودتان و یاحتی سایر توسعه کنندگان کتابخانه های کاربردی برای B4a رپ کنید و حتی میتوانید از فروش فایل کتابخانه درآمد کسب کنید.

ابتدا ببینیم که رپ کردن(Wraping)به چه معناست:

Wrap به معنای بسته بندی کردن می باشد و در واقع در برنامه نویسی به فرایندی گفته می شود که توابع و سایر کدها را در قالب یک class جمع آوری می کند و میتوان توابع آن ها را در اکتویتی ها و کلاس های دیگر فراخوانی کرد.

کتابخانه ها منحصر به پلتفورم B4a نمی شوند و حتّی ما در اندروید استودیو،فلاتر،ری اکت نیتیو و سایر محیط های برنامه نویسی نیز از کتابخانه ها استفاده می کنیم.

برای B4a میتوان از طریق خود محیط مذکور، جاوا، کاتلین و... کتابخانه رپ کرد. بنده در این تاپیک آموزشی قصد دارم تا به طور رایگان آموزش رپ کتابخانه رو از طریق خود B4a براتون آموزش بدم.

امّا اگر از این تاپیک استقبال خوبی بشه قول میدم براتون آموزش رپ کتابخونه از جاوا رو هم در انجمن قرار بدم:Laie_60B:

1-خب:DD: B4a رو باز کنید. یک پروژه جدید ایجاد کنید.

2-کتابخانه ها همانند برنامه ها دارای یک پکیج نیمی هستند، ابتدا از منوی project گزینه build configurations رو انتخاب کنید و پکیج نیم کتابخونه تون رو وارد کنید.(مثل تصویر زیر)

1.PNG

3-به تصویر زیر دقت کنید:

2.png

خب همانطور که در تصویر بالا می بینید در این مرحله با Region  Project Attributes کار داریم که همون محلی هست که هنگام توسعه پروژه ای نام،ورژن،قابلیت نصب روی کارت SD، افقی یا عمودی بودن و... رو تعیین می کنیم. توی تصویر بالا کلیه نکاتی که لازم هست برای ساخت کتابخانه ای در این قسمت انجام بشه رو خدمتتون گفتم. فقط ممکنه بعضی از تگ ها مثل(#LibraryName) بصورت پیشفرض وجود نداشته باشه که باید خودتون اضافه کنید.

4-از منوی project با کلیک روی add new module و سپس class module یک standard class ایجاد کنید.

Dim a As نام standard class

در این مرحله هرنامی که وارد کنید کتابخانه با همان نام بصورت متغیری تعریف خواهد شد.(بهتر است که نام کتابخانه خود را در این بخش قرار دهیم زیرا کاربر جهت استفاده در B4a باید از کجا بداند که کتابخانه را با چه تایپی(نوعی) تعریف کند؟ اولین مورد که به ذهن کاربر می رسد این است که نام کتابخانه را وارد می کند. بدین شکل:

Dim a As نام کتابخانه

5-پس از انجام مراحل بالا یک class به شکل زیر باز خواهد شد:

3.png

توجه کنید که در این بخش همواره با sub ها سر و کار خواهیم داشت زیرا ما در اینجا توابع آماده را قرار می دهیم و کاربر(استفاده کننده از کتابخانه شما)این توابع را بصورت متد در اکتویتی های خود فراخوانی میکند.

بنابراین دانستن چند امر ضروری است:

اگر قبل از sub مورد نظر هیچی قرار ندهیم یا عبارت public را قرار دهیم در آن صورت کاربر به این تابع دسترسی خواهد داشت مثلا در تصویر بالا initialize و همچنین class_globals قابل مشاهده خواهند بود(جهت امتحان کتابخانه به اکتویتی Main مراجعه می کنیم و متغیری از نوع کلاسی که ساختیم تعریف می کنیم) :

4.png

همانطور که می بینید سه متد از کتابخانه(class)ما معرفی میشود.

مثلا شاید اصلا به متدهای class_Globals و initialize و حتی isInitialized نیازی نباشد. بنابراین به class خود باز می گردیم و پشت sub هایی که میخواهیم با تعریف کتابخانه نمایان نشوند واژه ای به نام(Private)قرار میدهیم:

5.PNG

الان نباید class_globals معرفی شود.

6.png

بله!!! الان دیگر class_globals نیامده است:Laie_60B:

شما میتوانید برای بقیه توابع نیز اینکار را انجام دهید.

یک نکته دیگه هم وجود دارد اینکه شاید نخواهیم isinitialized نیز نمایان نشود اما در class ما تابعی با نام مذکور وجود ندارد تا آن را private کنیم!

برای این کار باید قطعه کد زیر را به class خود اضافه کنید.

Private Sub IsInitialized
End Sub

خب! در class خود باید توابع مورد نظر را بنویسیم و آن توابعی که باید توسط کاربر مقدار دهی شوند را هرگز نباید private کنیم. مثلا:

7.PNG

همانطور که در تصویر بالا می بینید چون به بقیه sub ها احتیاج نیست اون هارو private کردیم. البته ممکنه خودمون نیاز داشته باشیم مثلا از Class_Globals استفاده کنیم و متغیرهامونو توش تعریف کنیم و در کتابخانه استفاده کنیم اما لزوما کاربر به آن احتیاجی نخواهد داشت.بلکه مثلا در اینجا تنها چیزی که کاربر احتیاج دارد Sub پلاس هست(خودمون نام ساب رو plus گذاشته ایم، این نام دلخواهی است)که دو مقدار عددی میگیرد آنها را جمع کرده و برمیگرداند.

اگر بخواهیم کتابخانه خود را در Main امتحان کنیم چنین چیزی خواهد شد:

8.png

همانطور که می بینید فقط یک متد نمایان می شود.

میتوانیم از کتابخانه خود به شکل زیر استفاده کنیم:

9.PNG

اگر از a.sub(5,8) مثلا در یک msgbox استفاده کنیم عدد 13 نمایش داده خواهد شد.

6-ما میتوانیم جهت درک بیشتر کاربر از کامنت های توضیحات برای کتابخانه خود استفاده کنیم و حتی میتوانیم مثال نیز برای آن قرار دهیم تا کاربر مثالی از نحوه تعریف و استفاده از کتابخانه را ببیند و حتی بتواند آن را copy و paste کند.

برای این کار به تصویر زیر دقت فرمایید:

10.png

جهت توضیحات دقیقا یک خط بالاتر از Sub موردنظر یک تک کوتیشن(') میگذاریم و توضیحات خود را مینویسیم.

جهت درج مثال پس از درج توضیحات یک Enter میزنیم تا به خط بعد منتقل شویم. سپس واژه(Example:) را مینویسیم و دوباره Enter را میزنیم. درخط جدید واژه(<code>) را پس گذاشتن(')مینویسیم و دوباره Enter را میزنیم.در این خط و هر خط بعد از آن میتوانیم کدهای خود(مثال کتابخانه مان) را بصورت کامنت شده(با تک کوتیشن('))قرار دهیم. وسپس میتوانیم با نوشتن واژه(</code>)مثال خود را خاتمه دهیم. پس فرم کلی به شکل زیر شد:

'توضیحات
'Example:
'<code>
محل قرار گرفتن مثال های شما(قبل از هر خط مثال از تک کوتیشن استفاده کنید)
'</code>
sub mysub

endsub

نتیجه بصورت زیر خواهد بود:

11.png

7-خب حالا چگونه کتابخانه خود را رپ کنیم؟ یعنی دو فایل jar و xml تولید شود؟

روی class خود بروید و دکمه های Alt+5 را همزمان فشار دهید یک پنجره ای باز خواهد شد که مسیر ذخیره کتابخانه را باید تعیین کنید. ترجیحا یک پوشه بسازید و آن را انتخاب کنید. اما میتوانید جهت راحتی کار در مسیر کتابخانه های b4a ذخیره کنید تا در b4a کتابخانه خود را تیک بزنید و امتحان کنید.(فقط باید در پنجره کتابخانه راست کلیک کرده و گزینه Refresh را انتخاب کنید تا لیست کتابخانه ها بروز شود.)

 

خب مثالی که ما در این تاپیک زدیم خیلی ساده بود و کتابخونه مون میومد دوتا عدد رو جمع می کرد قطعا شما میتونید کتابخانه های بسیار کاربردی و قدرتمندی رو رپ کنید.

 

لازم میدونم یک نکته روهم اینجا بگم: اون سری هم یک کتابخانه ساخت کتاب با متن و تصویر رو براتون قرار داده بودم، برخی از دوستان عزیز لطف کردند اومدن پی وی بنده و قدردانی کردند(این قدردانی ها انگیزه ای برای فعالیت بهتر بنده هستن.) و همچنین گفتند که شما این همه زحمت می کشید چرا محصول خود را بصورت رایگان در دسترس عموم قرار میدید؟

بنظرم جواب این سوال بسیار واضح و آشکار هست و اون چیزی جز خدمت به برنامه نویسان عزیز کشورم نیست و این زحمات بنده بسیار ناچیز می باشد و امیدوارم مورد قبول حق قرار بگیرد.

 

امیدوارم از این آموزش نهایت استفاده رو برده باشید.

یاعلی:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام مجدد خدمت شما،

یادم رفته بود یک مورد رو توضیح بدم.

به پیشنهاد یکی از دوستان عزیز انجمن تاپیک رو ویرایش کردم و یک مرحله هم بهش اضافه کردم.(آموزش گذاشتن توضیحات و مثال از کتابخانه(به مرحله ششم مراجعه کنید))

درضمن دوتا تصویر از مرحله 6 رو دوست عزیزمون(https://answercenter.ir/profile/12049-mthzf1384/) فرستادند و متعلق به بنده نیست.

:53:موفق و کامروا باشید:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...