آموزش ساخت اپلیکیشن تبدیل صدا به متن در B4A – جلسه یازدهم
سلام
با یازدهمین جلسه ی آموزشی ساخت اپلیکیشن تبدیل صدا به متن در بیسیک فور اندروید در خدمتتون هستیم؛ در این قسمت قصد داریم تا با استفاده از انیمیشن بین اکتیویتی ها جابجا بشیم، تاریخ میلادی را به شمسی تبدیل کنیم و با متغیرهای گلوبال آشنا شویم، در ادامه همراه بپرسم باشید.
در این جلسه یادخواهید گرفت:
- استفاده از یک متغیر در سرتاسر پروژه
- جا به جایی بین اکتیویتی به صورت انیمیشنی
- تبدیل تاریخ میلادی به شمسی
استفاده از یک متغیر در سراسر پروژه:
فرض کنید که متغیری به اسم x دارید. این متغیر حاوی اطلاعاتی است که در زمان اجرای اولین اکتیویتی، اطلاعات داخل این متغیر ریخته میشود.
این متغیر حاوی دیتایی است که نیاز است در همه اکتیویتی ها از آن استفاده شود. حالا برای استفاده از این متغیر در همه اکتیویتی ها به این شکل عمل میکنیم:
فرض کنید متغیر ایکس در اکتیویتی به نام main تعریف شده است. ما باید در بخش Sub Process_Globals متغیر را تعریف کنیم. به این شکل:
۱ ۲ ۳ |
Sub Process_Globals Private x As string End Sub |
ما در اینجا از رشته استفاده کردیم. با همه انواع متغیرها میتوان این کار را انجام داد.
سپس برای صدا زدن این متغیر باید در اکتیویتیه مورد نظر، آن را این شکلی صدا بزنیم:
۱ |
Main.x |
یعنی اول اسم اکتیویتی که متغیر در آن تعریف شده و سپس خود متغیر.
برخی از کتابخانه ها هم را میتوان این شکلی تعریف کرد.
جا به جایی بین اکتیویتی به صورت انیمیشنی:
در نسخه های بالای اندروید، خود سیستم عامل این ویژگی را دارد که به صورت انیمیشنی بین صفحات جا به جا میشود.
اما در نسخه های پایین تر نیاز است تا از فایل های جانبی استفاده شود.
برای این کار ابتدا کتابخانه Reflection را در پروژه تیک بزنید.
سپس ماژول AnimateLayout را که ضمیمه این آموزش خواهیم کرد را به برنامه اضافه میکنیم.
سپس یه پوشه ای که حاوی ۴تا فایل xml است را که در آموزش ضمیمه میکنیم را در مسیر زیر کپی کنید و حتما پوشه را ReadOnly کنید
Project name\ Objects\res
و در ادامه هرجایی که خواستیم اکتیویتی را عوض کنیم، این گونه ماژول را صدا میزنیم:
۱ |
AnimateLayout.SetAnimation("file2","file1") |
دو پارامتر ورود در پوشه ای که گفته شد موجود است و حالا خودتان تست کنید که از کدام حالت بیشتر استفاده میکنید.
تبدیل تاریخ میلادی به شمسی:
این کار به راحتی در بیسیک فور اندروید قابل پیاده سازی است.
ابتدا یک متغیر از نوع رشته ی آرایه ای و یکی دیگر از نوع رشته تعریف میکنیم:
۱ ۲ |
Dim s() As String Dim month As String |
سپس با استفاده از خط زیر روز، ماه و سال را از یکدیگر جدا میکنیم:
۱ |
s=Regex.Split("/",pd.getDate(۰,۰,۰,"/")) |
و در ادامه ماه های میلادی را میگیریم و آن ها را به این شکل به ماه های شمسی تبدیل میکنیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ |
If s(۱)="۱" Then month="فروردین" Else If s(۱)="۲" Then month="اردیبهشت" Else If s(۱)="۳" Then month="خرداد" Else If s(۱)="۴" Then month="تیر" Else If s(۱)="۵" Then month="مرداد" Else If s(۱)="۶" Then month="شهریور" Else If s(۱)="۷" Then month="مهر" Else If s(۱)="۸" Then month="آبان" Else If s(۱)="۹" Then month="آذر" Else If s(۱)="۱۰" Then month="دی" Else If s(۱)="۱۱" Then month="بهمن" Else If s(۱)="۱۲" Then month="اسفند" End If |
در متغیر month نام ماه هایی که تبدیل شده است، قرار دارد. و این گونه از آن استفاده میکنیم:
۱ |
s(۲) & "/" & " " & month & "/" & " " & s(۰) |
الان این خط حاویه روز، ماه و سال شمسی است که از تاریخ میلادی گرفته شده است.
آموزش را همینجا به پایان می رسانیم، همراه ما باشید با ادامه آموزش ها …
مشکلی یا سوالی داشتید میتوانید در بخش پرسش و پاسخ سایت، سوال خود را بپرسید.
موفق باشید.
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید