آموزش ساخت اپلیکیشن تبدیل صدا به متن در B4A – جلسه دوم
سلام
با دومین جلسه ی آموزشی ساخت اپلیکیشن تبدیل صدا به متن در بیسیک فور اندروید در خدمتتون هستیم؛ در این منو میخوایم مقدمات برنامه رو بسازیم کارهایی نظیر ایجاد دسترسی های لازم، ساخت منوی متریال و …، در ادامه همراه بپرسم باشید.
در این جلسه یادخواهید گرفت:
- دسترسی های لازم را برای دسترسی به کارت حافظه بدهید.
- چگونه منوی متریال تعریف کنید.
- پوشه در حافظه ایجاد کنید و در آن دیتابیس آفلاین را کپی کنید.
نکته: توجه داشته باشید که برخی از بخش های بالا، دارای توضیحاتی هستند که شامل کدها و دستورات دیگری هم میشوند و به همین دلیل ما توصیه میکنیم از هر بخش ساده نگذرید.
شروع آموزش:
- ابتدا یک پروژه ایجاد میکنیم.
- حال برای گرفتن دسترسی هایی به کارت حافظه کتابخانه RuntimePermissions را تیک میزنیم و و سپس به این شکل کتابخانه را تعریف میکنیم:
۱ ۲ ۳ |
Sub Globals Private rtp As RuntimePermissions End Sub |
- حالا از کتابخانه بالا به این شکل استفاده میکنیم:
۱ ۲ ۳ ۴ |
Sub Activity_Create(FirstTime As Boolean) rtp.CheckAndRequest(rtp.PERMISSION_WRITE_EXTERNAL_STORAGE) rtp.CheckAndRequest(rtp.PERMISSION_READ_EXTERNAL_STORAGE) End Sub |
- یادتان نرود که حتما باید ساب زیر را در برنامه تان اضافه کنید تا وقتی میخواهید مجوز را صادر کنید، برنامه کرش نکند.
۱ ۲ ۳ ۴ ۵ |
Sub Activity_PermissionResult (Permission As String, Result As Boolean) If Permission = rtp.PERMISSION_WRITE_EXTERNAL_STORAGE And Permission=rtp.PERMISSION_READ_EXTERNAL_STORAGE And Result = False Then Msgbox("شما اجازه دسترسی به حافظه را به این برنامه نداده اید و در اینصورت ممکن است برخی از بخش های برنامه به درستی کار نکنند","") End If End Sub |
- همچنین این مجوزها را در بخش مانیفست برنامه هم تعریف کنید:
۱ ۲ |
AddPermission(android.permission.WRITE_EXTERNAL_STORAGE) AddPermission(android.permission.READ_EXTERNAL_STORAGE) |
پیشنهاد ما این است که اگر برنامه شما نیاز به مجوزهایی داشت، کلا یک اکتیویتی را به منظور گرفتن این مجوزها اختصاص دهید و بعد به اکتیویتی صفحه اصلی برنامه تان بروید.
- بعد از این که دسترسی های لازم را از برنامه گرفتید، حالا به اکتیویتی اصلی می آییم.
- ابتدا می آییم و لایوت مربوط به اکتیویتی را بارگذاری میکنیم:
۱ ۲ ۳ |
Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("main_page") End Sub |
اگر اپلیکیشن هایی رو دیده باشید، اکثرا برای زیبایی و دسترسی راحت کاربر به گزینه های برنامه داخلش از منوی متریال استفاده شده است. حال ما میخواهیم این منو را پیاده سازی کنیم.
پیاده سازی منوی متریال B4A
- ابتدا کتابخانه B4XDrawer را تیک میزنیم.
- سپس کتابخانه را تعریف میکنیم:
۱ |
Private d_menu As B4XDrawer |
- حال کتابخانه را راه اندازی میکنیم.
۱ ۲ ۳ |
d_menu.Initialize(Me, "Drawer", Activity, ۳۰۰dip) d_menu.CenterPanel.LoadLayout("main_page") d_menu.LeftPanel.LoadLayout("menu") |
دقت داشته باشید که یک لایوت نیاز دارم تا ویوهای منو را در آن بسازیم که در اینجا ما اسم لایوت را menu گذاشتیم.
- به وسیله دستور زیر، منو را باز کنید:
۱ |
d_menu.LeftOpen = Not(d_menu.LeftOpen) |
حالا میرویم به سراغ دیتابیس آفلاین و ایجاد پوشه ای که دیتابیس مان را درش کپی کنیم.
بعد از اینکه دیتابیس را توسط نرم افزار Navicat ساختید با استفاده از دستور زیر پوشه برای برنامه ایجاد کنید و دیتابیس را در آن ایجاد کنید.
- ابتدا با استفاده از کتابخانه ران تایم پرمیشن یک پوشه در مسیر برنامه ایجاد کنید.
- ابتدا متغیر کتابخانه را تعریف کنید.
۱ |
Private run As RuntimePermissions |
- سپس با استفاده از دستور زیر پوشه ای برای برنامه در حافظه داخلی ایجاد کنید:
۱ ۲ ۳ |
If File.Exists(run.GetSafeDirDefaultExternal(""),"voicetotext")=False Then File.MakeDir(run.GetSafeDirDefaultExternal(""),"voicetotext") End If |
- سپس با استفاده از این دستور، دیتابیس را در پوشه ای که در بالا ساختید، کپی کنید:
۱ ۲ ۳ |
If File.Exists(run.GetSafeDirDefaultExternal("")&"/voicetotext","db.db")=False Then File.Copy(File.DirAssets,"db.db",run.GetSafeDirDefaultExternal("")&"/voicetotext","db.db") End If |
در ادامه می آییم و دیتابیس کپی شده را راه اندازی میکنیم.
- ابتدا کتابخانه اس کیو ال را تیک میزنیم تا بتوانیم با دیتابیس آفلاین کار کنیم و سپس کتابخانه را تعریف مینماییم:
۱ |
Private sql As SQL |
- در ادامه می آییم و کتابخانه را راه اندازی میکنیم:
۱ ۲ ۳ |
If sql.IsInitialized=False Then sql.Initialize(run.GetSafeDirDefaultExternal("")&"/voicetotext","db.db",True) End If |
آموزش را همینجا به پایان می رسانیم، همراه ما باشید با ادامه آموزش ها …
مشکلی یا سوالی داشتید میتوانید در بخش پرسش و پاسخ سایت، سوال خود را بپرسید.
موفق باشید.
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید