رفتن به مطلب

Radiomedia

کاربر عادی
  • تعداد ارسال ها

    40
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    3

آخرین بار برد Radiomedia در 6 تیر

Radiomedia یکی از رکورد داران بیشترین تعداد پسند مطالب است !

اعتبار در سایت

36 عالی

درباره Radiomedia

  • درجه
    کاربر باسابقه
  • تاریخ تولد 1 بهمن 1370

مشخصات پروفایل

  • محل زندگی
    خمین
  • محل تولد
    خمین
  • علاقه مندی ها
    برنامه نویسی موسیقی

آخرین بازدید کنندگان نمایه

529 بازدید کننده نمایه
  1. در خدمتم.. اگر ممکنه پروژه رو بفرستید تا اصلاحش کنم، کد من نسبی بود تقریبا باید به نیاز شما تغییر پیدا کنه. اما یادمه گفته بودید در ساعت خاصی مثل دوازده. اگر بخواید هر زمانی که کاربر گوشی رو باز کرد اون عکس رو ببینه، خیلی آسونه و اگر بخواید طبق هر روز ماه هر عکس نمایش داده بشه (مثل شکل ماه) باز هم آسونتر. بر طبق روزهای ماه: Dim strDay As String = DateTime.GetDayOfMonth(DateTime.Now) & ".jpg" 'or ".png" iv.Background = LoadBitmap(File.DirAssets , strDay) مگر با روز عکس ها تغییر نمیکنن؟ چرا با کلیک؟ این کد بدردتون میخوره، اگر روزانه بخواید عوض بشه: روز ماه رو میگیره و عکس روز رو لود میکنه
  2. در b4a فقط یک راه هست، اونم ماژول مورد نظر رو بنویسید یا لی‌آوت رو طراحی کنید یا... بعدش همون فایل ماژول رو به تنهایی بفرستید و در طرف دیگه فقط ایمپورت میکنه: منوی Project گزینه Add existing module خیلی راحت ایمپورت میشه بدون مشکل، اینطوری دیگه کل پروژه Overwrite نمیشه فقط همون بخش تازه یا ایجاد یا Replace میشه. موفق باشید
  3. سلام. اول بگید کجا میخواید نمایش داده بشه؟ 1- داخل اپ؟ که اگر کاربر راس ساعت در برنامه باشه میشه. 2- داخل ویجت یا اعلان یا ... که باید با سرویس انجام بشه. در هردو صورت ما یک شرط میزاریم و میگیم هروقت ساعت 12 شد عکس رو نمایش بده، و برای اینکه عکس تکراری نشون نده مقدار عکس های قبلی رو درون یک فایل ذخیره میکنیم. If DateTime.GetHour(DateTime.Now) = 12 then Dim intR As Int intR = Rnd(1 , 24) iv.bitmap = LoadBitmap(File.DirAssets , $"${intR}.png"$) End If کد بالا برای نمایش تصادفی هست. اما برای اینکه به ترتیب نشون بده بجای خط 2 و 3: If File.Exists(File.DirInternal , "pic.txt") Then Dim picno As String picno = File.ReadString(File.DirInternal , "pic.txt") iv.bitmap = LoadBitmap(File.DirAssets , $"${picno}.png"$) If picno < 23 Then Dim sum As String = picno + 1 File.WriteString(File.DirInternal , "pic.txt" , sum ) Else if picno = 23 Then File.WriteString(File.DirInternal , "pic.txt" , "1" ) End If Else File.WriteString(File.DirInternal , "pic.txt" , "1" ) End If اگر نوع int رو ساپورت نکرد برای عملیات ریاضی از ReadList یا.. استفاده کن. امیدوارم بدردتون بخوره سوالی بود در خدمتم
  4. خواهش میکنم. مشکل شما رو نمیدونم اما حتما حتما ازین ب بعد از روش زیر استفاده کنید: Sub DownloadImage(Link As String, iv As ImageView) Dim job As HttpJob job.Initialize("", Me) 'note that the name parameter is no longer needed. job.Download(Link) Wait For (job) JobDone(job As HttpJob) If job.Success Then iv.Bitmap = job.GetBitmap End If job.Release End Sub این مثال تابع دانلود عکس هست، و چون resumable هست خودش تا پایان عملیات برنامه رو نگه میداره داره در ورژن 3 کتابخانه هم میتونید timeout رو دستی تنظیم کنید. دیگه اسم جاب مهم نیست، در ضمن در ورژن 10.0 بیسیک این کتابخانه تغییراتی داشته که حتما بروزرسانی کنید.
  5. سلام. می تونید برای سهولت کار از کتابخانه من استفاده کنید، تم های سفارشی پیشفرض داره با قابلیت تغییر جزییات و اسفاده بی دردسر فقط با یک خط کد: CreateResourceFromFile(Macro, MaatisaLibs.Blue) لینک مطلب (کلیک کنید) در خدمتم
  6. با سلام (توجه - این آموزش برای این است که تفاوت یکسان شدن سایز متن ویو و یکسان شدن خود ویو یا در برخی موارد فیت شدن متن در ویو را متوجه بشید) موضوع مهمی که هنوزم هم در این انجمن و هم در انجمن سایت مرجع مورد بحث هست، سایز متن ویوها در دستگاه های مختلفه. امروز من هم کتابخانه مناسب رو بتون معرفی میکنم و هم راهکار رو بتون میدم تا اگر ایرادی در پروژتون وجود داشت بتونید برطرفش کنید. اما اصلا منظور ما از Scale یا مقیاس یا بزرگ و کوچک شدن متن نسبت به صفحه چیه؟ ما وقتی میخوایم ویوها رو با توجه به سایز صفحه مثل تلفن یا تبلت تنظیم کنیم که کوچک یا بزرگتر از حد معمول نشن، در Designer Script و یا در Code editor در B4A میتونیم کدهامون رو وارد کنیم، که مقیاس ما یا سایزدهی معمول هست که با dip داده میشه، یا نسبت به پهنا و ارتفاع صفحه است، که با %x و %y اینکارو انجام میدیم. اما برای متن ویوهامون اینکار انجام نمیشه و فقط خود ویو بزرگ و کوچک میشه و برای مثال اگر سایز فونت یک لیبل رو 15 داده باشیم، در هر سایزی همون 15 رو نشون میده و در دیوایس های کوچک خیلی بزرگ میشه و در دیوایس های بزرگ مثل تبلت خیلی کوچیک، پس راهکار اصلی چیه؟ راهش اینه که مثل ویوها با توجه به سایز صفحه سایز اونا بدیم: - یک راه اینه که با توجه به سایز ویو، سایز متن رو هم تغییر بدیم، که من این راهو انتخاب نکردم تابحال - یک راه هم نسبت به سایز صفحه گوشی هست: اما آیا میشه با فقط با در نظر گرفتن مقدار های درصد و dip اینکارو کرد؟ پاسخ خیر هست، ... ما بین دستگاه های مختلف دو تفاوت داریم یکی سایز پهنا و ارتفاع هست، و یکی Scale هست که یعنی نسبت نقطه به پیکسل یا اینچ (دقیقا یادم نیست) که اگر در دیزاینر b4a دیده باشید یا در شبیه سازها، سه عدد مختلف مثل زیر وجود دارد: Width: 768 - Height: 1024 - Scale : 1(160) مقیاس این اسکیل هم 160 هست، یعنی اگر 1 بود یعنی 160 اگر 2 بود 320 و ... پس زمانی که ما دو دستگاه با پهنای 768 داریم، یکی از آنها اسکیل 1 و دیگری 2 بود، قطعا سایز ویوها و فونت های ما هم متفاوت خواهد بود. پس چاره چیست، و چطور میتوان همه این سایز ها رو بدست آورد؟ چاره این است که ما یک مقدار پنها را بگیریم به همراه همین مقدار Scale که برای این کار در محیط Code در B4A برای بدست آوردن پهنا: Activity.Width که همون پهنا رو برمیگردونه مثلا 768 و برای Scale هم کلیدواژه Density رو میزنیم که همون مقدار برابر 1 یا 2 یا... که برابر 160، 320 و... هست رو برمیگردونه، برای راحت تر شدن محاسبات ما بهتره این مقدار برگشتی Density رو ضرب در 160 کنیم تا آسون تر شه. من در کلاسی که خودم نوشتم که هم به صورت جدا و هم مجموعه در سایت در - اینجا - قرار دادم به همراه توضیحات، میتونه با استاندارد کامل سایز متن رو نسبت به سایز گوشی تنظیم کنه. فرمول اون به این صورته که من اول پهنا رو تقسیم بر مقیاس کردم و اونو ضرب در مقدار ثابتی (که از تقسیم سایزی که کاربر وارد کرده بدست اومده) کردم. و این باعث میشه در همه سایز صفحه ها مقدار یکسانی داشته باشیم، یعنی اگر شما به صورت زیر وارد کنید: lbl.Textsize = msp1.sp(15) در هر سایز صفحه ای، سایز متن شما 15 استاندارد خواهد شد، ولی اگر به اینصورت باشد : lbl.Textsize = 15 فقط در سایزی که در حال طراحی هستید 15 را لحاظ میکند و در تبلت ها خیلی کوچکتر و ناخوانا خواهد بود. پس نتیجه می‌گیریم اگر میخواید متنی رو با هر سایزی درون ویو خودتون فیت کنید این راهش نیست، در اصل اگر برای فیت کردن کدی بنویسید، نیازی به این کلاس نیست، و شما میتونید با کتابخانه StringUtils پهنا و ارتفاع متنتون رو نسبت به ویو بگیرید و اندازش کنید، کار این کتابخانه sp فقط تعادل متن نسبت به سایز صفحه است. من هنوز برای فیت کردن در انجمن جستجو نکردم، اگر موردی بود ذکر کنید ویرایش کنم، اگر هم نبود امر بفرمایید یه کلاس براش بنویسم. امیدوارم بدردتون خورده باشه، لبتون خندون و لایک فراموش نشه.
  7. سلام، ممنون بابت فیدبک، اما من متوجه نشدم، این خط در فایل xml در خط 7 موجوده، و البته کتابخانه هم بدون مشکل کار میکنه. اما اگر هرگونه ایرادی هست، امر بفرمایید اصلاح میشه. فایل xml : <?xml version="1.0" encoding="utf-8"?> <root> <doclet-version-NOT-library-version>1.00</doclet-version-NOT-library-version> <b4x_version>9.80</b4x_version> <dependsOn>json</dependsOn> <dependsOn>phone</dependsOn> <dependsOn includesSingletonModules="true">maatisaokhttputils2</dependsOn> <dependsOn>okhttp</dependsOn> <dependsOn>stringutils</dependsOn> <dependsOn>okhttp-3.5.0</dependsOn> <dependsOn>okio-1.11.0</dependsOn> <class b4a_type="Service"> <name>ir.maatisa.pushnotify.push</name> <shortname>push</shortname> <owner>process</owner> <objectwrapper>java.lang.Class</objectwrapper> <permission>android.permission.VIBRATE</permission> <field> <name DesignerName="tmr">_tmr</name> <returntype>anywheresoftware.b4a.objects.Timer</returntype> </field> <field> <name DesignerName="linkR">_linkr</name> <returntype>String</returntype> </field> <field> <name DesignerName="str2">_str2</name> <returntype>String</returntype> </field> <field> <name DesignerName="jsonob">_jsonob</name> <returntype>anywheresoftware.b4a.objects.collections.JSONParser</returntype> </field> <field> <name DesignerName="mapob">_mapob</name> <returntype>anywheresoftware.b4a.objects.collections.Map</returntype> </field> <field> <name DesignerName="ac">_ac</name> <returntype>Object</returntype> </field> <field> <name DesignerName="inter">_inter</name> <returntype>int</returntype> </field> <field> <name DesignerName="phpLink">_phplink</name> <returntype>String</returntype> </field> <field> <name DesignerName="ico">_ico</name> <returntype>String</returntype> </field> <field> <name DesignerName="table">_table</name> <returntype>String</returntype> </field> <field> <name DesignerName="tout">_tout</name> <returntype>int</returntype> </field> <field> <name DesignerName="mapS">_maps</name> <returntype>anywheresoftware.b4a.objects.collections.Map</returntype> </field> <field> <name DesignerName="listen_pushStatus">_listen_pushstatus</name> <returntype>boolean</returntype> </field> <field> <name DesignerName="serv_notify">_serv_notify</name> <returntype>boolean</returntype> </field> <field> <name DesignerName="callAc">_callac</name> <returntype>Object</returntype> </field> <field> <name DesignerName="EvName">_evname</name> <returntype>String</returntype> </field> <method> <name>process_globals</name> <returntype>void</returntype> </method> </class> <class> <name>ir.maatisa.pushnotify.maatisapush</name> <shortname>MaatisaPush</shortname> <comment>A MaatisaPush Class that handles "push" service. Author: Mohsen Torabi Sample code in &lt;code&gt;mp.About&lt;/code&gt; Description More Info: &lt;link&gt;Telegram|https://t.me/maatisa_swdg&lt;/link&gt; </comment> <owner>process</owner> <event>pushReceived(success as Boolean, pushInfo as MaatisaPushArgs)</event> <method> <name>IsInitialized</name> <comment>Tests whether the object has been initialized.</comment> <returntype>boolean</returntype> </method> <method> <name DesignerName="About">_about</name> <comment>This library and php file was created by Mohsen Torabi from Maatisa.ir Contact me: MohsenTorabi086@gmail.com More Info: &lt;link&gt;Telegram|https://t.me/maatisa_swdg&lt;/link&gt; Sample: &lt;code&gt; #BridgeLogger: True Sub Globals Dim mp As MaatisaPush End Sub Sub Activity_Create(FirstTime As Boolean) mp.Initialize( "main" , "mp" , True) mp.setValues(0 , 0 , "http://yrDomain.ir/" , "pushnotify" , "" , "main") LogColor($"${mp.About}"$ , Colors.Yellow) mp.startPush End Sub 'You must do it in a service that whenever user exit application, then you can receive datas from your service. Sub mp_pushReceived(success As Boolean, pushInfo As MaatisaPushArgs) LogColor($"pushReceived Event: ${success} &amp; er: ${pushInfo.error}"$, Colors.Green) If success Then Dim ph As PhoneIntents 'Needs Phone library Dim n As Notification n.Initialize If pushInfo.status = "app" Then n.SetInfo(pushInfo.titr, pushInfo.body, Me) ' //ac = Main Else If pushInfo.status = "link" Then n.SetInfo(pushInfo.titr, pushInfo.body ,ph.OpenBrowser(pushInfo.link)) End If n.Notify(2) End If End Sub &lt;/code&gt; </comment> <returntype>String</returntype> </method> <method> <name DesignerName="getListenStatus" HideFromIDE="true">_getlistenstatus</name> <returntype>boolean</returntype> </method> <method> <name DesignerName="Initialize">_initialize</name> <comment>callback - is the module that handle the pushReceived Event. like "main" or "yourActivityName" EventName - that will be used for pushReceived Event. showServiceNotification - If True, Service shows a notification itself. If False, You must set the valid callback [Activity or Service] and Event name, and you can create your custom notification. &lt;code&gt;mp.Initialize( "main" , "mp" , True) &lt;/code&gt; </comment> <returntype>String</returntype> <parameter> <name>ba</name> <type>anywheresoftware.b4a.BA</type> </parameter> <parameter> <name>callback</name> <type>String</type> </parameter> <parameter> <name>EventName</name> <type>String</type> </parameter> <parameter> <name>showServiceNotification</name> <type>boolean</type> </parameter> </method> <method> <name DesignerName="phpCode">_phpcode</name> <comment>Return PHP code that must upload in your host. PHP Code: &lt;code&gt; &lt;?php // Mohsen Torabi - Maatisa.ir - Contact Me: MohsenTorabi086@gmail.com $q1 = $_GET['q1']; $tname = $_GET['tname']; $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'yourDBname'; $con = @mysqli_connect($host,$user,$pass,$db); mysqli_set_charset($con,'UTF8'); If (!mysqli_connect_error()) { $tmax = mysqli_query($con,$q1); $rmax = mysqli_fetch_assoc($tmax); $mmax = $rmax['mnotify']; If($mmax &gt; 0){ $query = "SELECT * FROM $tname WHERE ID=$mmax"; $table = mysqli_query($con,$query); $row = mysqli_fetch_assoc($table); $arr['title'] = 'pushok'; $arr['ID'] = $row['ID']; $arr['status'] = $row['status']; $arr['titr'] = $row['titr']; $arr['body'] = $row['body']; $arr['link'] = $row['link']; echo json_encode($arr); } Else { $arr['title'] = 'pushfailed'; echo json_encode($arr); } } Else { //!mysqli_connect_error() $arr['title'] = 'dbfailed'; echo json_encode($arr); } mysqli_close($con); ?&gt; &lt;/code&gt; </comment> <returntype>String</returntype> </method> <method> <name DesignerName="setListenStatus" HideFromIDE="true">_setlistenstatus</name> <comment>You can set "True" or "False" to Pause or Resume listening Push Service. Or get listening Status &lt;code&gt;mp.ListenStatus = Not(mp.ListenStatus)&lt;/code&gt; </comment> <returntype>String</returntype> <parameter> <name>status</name> <type>boolean</type> </parameter> </method> <method> <name DesignerName="setValues">_setvalues</name> <comment>Sets values for receiving Data interval - interval of timer that check new notification. Default is : 60 - in Seconds. Timeout - of http GetRequest. Default is : 3000 - in ms. [Temporary: Disabled] phplink - just like this [with http:// or https:// ] : "https://yoursite.ir/" without "MaatisaPush.php" TableName - Your db table name for queries. icon - Small icon on notification. Activity - used for Notification Click event. Like: "main" or "yourActivityName" - For all be careful (Case Sensitive) - Your DataBase table must be contains these Fields: ID - Sure that is "Auto Increment", to finding out which record is fresh. status - For notification that open app or open a URL. Must be "app" or "link" titr - Title of notification. body - Body of notification. link - It use for open URL. Can be empty for status "app". &lt;code&gt;mp.setValues(0 , 0 , "http://yrDomain.ir/" , "pushnotify" , "" , "main")&lt;/code&gt; </comment> <returntype>String</returntype> <parameter> <name>interval</name> <type>int</type> </parameter> <parameter> <name>Timeout</name> <type>int</type> </parameter> <parameter> <name>phpLink</name> <type>String</type> </parameter> <parameter> <name>TableName</name> <type>String</type> </parameter> <parameter> <name>icon</name> <type>String</type> </parameter> <parameter> <name>Activity</name> <type>String</type> </parameter> </method> <method> <name DesignerName="startPush">_startpush</name> <comment>Starts push service You must first call Initialize and setValues. It must call at last and never repeat it again. You can call ListenStatus to "Pause" or "Resume" Service later. </comment> <returntype>String</returntype> </method> <property> <name DesignerName="ListenStatus">_listenstatus</name> <comment>You can set "True" or "False" to Pause or Resume listening Push Service. Or get listening Status &lt;code&gt;mp.ListenStatus = Not(mp.ListenStatus)&lt;/code&gt; </comment> <returntype>boolean</returntype> <parameter> <name>Value</name> <type>boolean</type> </parameter> </property> </class> <class> <name>ir.maatisa.pushnotify.push._maatisapushargs</name> <shortname>MaatisaPushArgs</shortname> <owner>process</owner> <method> <name>Initialize</name> <comment>Initializes the fields to their default value.</comment> <returntype>void</returntype> </method> <field> <name>IsInitialized</name> <comment>Tests whether the object has been initialized.</comment> <returntype>boolean</returntype> </field> <field> <name>titr</name> <returntype>String</returntype> </field> <field> <name>body</name> <returntype>String</returntype> </field> <field> <name>link</name> <returntype>String</returntype> </field> <field> <name>status</name> <returntype>String</returntype> </field> <field> <name>error</name> <returntype>String</returntype> </field> </class> <version>1.05</version> <author>Mohsen Torabi - Telegram: https://t.me/maatisa_swdg</author> </root>
  8. با سلام پست ویژه ما: کتابخانه پوش نوتیفیکیشن ماتیسا - MaatisaPush Library 1.05 اول بگم در کانال اینو پولی گذاشته بودم اما چون کم کاربرد بود و نمونه های رایگان و محدود موجود بود، رایگانش کردم تا بیشتر مورد استفاده قرار بگیره و بجاش برای شادی روح شهدای دفاع مقدس بخصوص عموهای من (شهیدان محمد و علی فرخی) یه صلوات بفرستید، سپاسگزارم. پوش نوتیفیکیشن؟ سرویسی که قادر است در حالت پس‌زمینه هرزمانی که تلفن به اینترنت متصل است (مخصوصا زمانی که اپلیکیشن‌های ما در حالت اجرا نیستند)، پیام موردنظر ما را که در سرویس ابری خود قرار داده ایم در Notification area گوشی کاربر نشان دهد. درحال حاضر سرویس های مختلفی برای انجام این امر وجود دارد، و حتی گوگل هم سرویسی با نام Firebase ارائه داده است. مزایای این سرویس ها: - نیازی به سرور و یا هاست خودی نیست و پیام‌های ما در سرویس ابری آنها ذخیره می‌شود. - نیازی به نوشتن یک خط کد هم نیست، همه کارها با IDE طراحی شده خودشان انجام خواهد شد و با اسکریپت های آماده می‌توان در برنامه خود راه اندازی کرد. و... معایب: - این سرویس ها کاملا نامحدود نیستند و محدودیت‌هایی دارند، از جمله: • تعداد کاربرانی که می‌توانید برای آنها پیام ارسال کنید. • تعداد پیام‌هایی که در بازه زمانی مشخص می‌توانید ارسال کنید. • نوع و ظاهر پیام ارسالی: شامل عکس دار بودن و... این موارد با پرداخت هزینه هایی قابل ارتقا هستند. - سفارشی سازی کامل پیام ارسالی و... ما این موارد را سطحی و کلی بیان کردیم، پس ممکن است سرویس هایی باشند که در ارائه خدمات تنوع بیشتر یا کمتری ارائه دهند. اما کتابخانه ای که ما ارائه کردیم چگونه است؟ {ابتدا باید توجه داشته باشید که تعداد پیام‌های ارسالی، تعداد کاربران و... همه موارد به سرویس ابری خودتان بستگی دارد، و اگر منابع تخصیصی خودتان را تمام کنید تا شارژ مجدد نمی‌توانید از سرویس خود استفاده ای کنید، پس موقع خرید سرویس ابری حتما با توجه به نیاز خود سرویس موردنظر را خریداری کنید. همچنین می‌توانید صرفا برای انجام تست از سرویس های رایگان نیز استفاده کنید} پس از خرید کتابخانه و استخراج آن از فایل زیپ شاهد ۳ فایل زیپ دیگر خواهید بود: • فایل کتابخانه • فایل های سمت سرور • سمپل کتابخانه دو فایل jar و xml موجود در زیپ Library را در پوشه Additional Libraries کپی کنید. در زیپ ServerSide دو فایل وجود دارد. • فایل MaatisaPush.php این فایل را در مکانی دلخواه در هاست خود کپی کنید. و آدرس آن را برای قراردادن در کد به خاطر بسپارید. همچنین باید این فایل را با استفاده از ویرایشگر متنی باز کنید و اطلاعات دیتابیس خود را در خطوط ۶ تا ۹ وارد کنید. خط ۶ - آدرس یا آی‌پی هاست دیتابیس خط ۷ - نام کاربری Username دیتابیس خط ۸ - پسورد دیتابیس خط ۹ - نام دیتابیس • فایل pushnotify.sql این فایل را هم در دیتابیس mysql هاست خود import کنید. - اگر مایل به اینکار نبودید می‌توانید با مقادیر زیر یک جدول در دیتابیس خود با استفاده از phpMyAdmin بسازید: - ID - Auto Increase - Index برای بررسی آخرین پیام وارد شده استفاده می‌شود - status - TEXT برای تعیین وضعیت رفتار نوتیفیکیشن استفاده می‌شود و مقادیر 'app' یا 'link' می‌گیرد که اگر app باشد، هنگام کلیک کاربر، اکتیویتی تعیین شده باز خواهد شد. و اگر link باشد، آدرس وب وارد شده در فیلد link با intent باز خواهد شد. - titr - TEXT متن نوشته عنوان یا نوشته بزرگ نوتیفیکیشن - body - TEXT متن بدنه نوتیفیکیشن - link - TEXT لینک وب، برای زمانی که مقدار فیلد status برابر link باشد. × فعلا برای ورود اطلاعات در دیتابیس باید دستی اینکار را انجام دهید، یعنی هربار که می‌خواهید پیغام جدیدی برای کاربران ارسال کنید، رکورد جدیدی هم باید ایجاد کنید. پس از انجام این کارها برای نمونه می‌توانید پروژه نمونه را بازکنید و طریقه پیاده سازی این کتابخانه را ببینید و کدهای موجود در پروژه نمونه را در پروژه خود کپی کنید. - نمونه سورس و آموزش پیاده سازی: ابتدا کتابخانه MaatisaPush را تیک بزنید. Sub Globals Dim mp As MaatisaPush End Sub Sub Activity_Create(FirstTime As Boolean) mp.Initialize( "main" , "mp" , False) mp.setValues(10 , 0 , "http://maatisa.ir/app/" , "pushnotify" , "" , "main") LogColor( $"${mp.About}"$ , Colors.Yellow) mp.startPush End Sub Sub Activity_LongClick mp.ListenStatus = Not(mp.ListenStatus) Log($"Enabled: ${mp.ListenStatus}"$) End Sub Sub mp_pushReceived(success As Boolean, pushInfo As MaatisaPushArgs) ' LogColor($"pushReceived Event: ${success} & er: ${pushInfo.error}"$, Colors.Green) ' If success Then Dim ph As PhoneIntents Dim n As Notification n.Initialize If pushInfo.status = "app" Then n.SetInfo(pushInfo.titr, pushInfo.body, Me) Else If pushInfo.status = "link" Then n.SetInfo(pushInfo.titr, pushInfo.body ,ph.OpenBrowser(pushInfo.link)) End If n.Notify(2) Else LogColor($"Error: ${pushInfo.error}"$, Colors.Magenta) End If End Sub Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event' If KeyCode = KeyCodes.KEYCODE_BACK Then ExitApplication End If Return True End Sub اسکرین از لاگ برنامه : اسکرین شات از صفحه کد نمونه: دانلودها: دانلود فایل پیش نمایش apk دانلود کتابخانه + فایل های سمت سرور(php و sql) + پروژه نمونه توضیح خط به خط کدها رو هم آماده میکنم همین پست رو ویرایش میکنم ببخشید که سرم یذره شلوغه ایشاله کاربردی باشه و لبتون خندون
  9. با سلام. برگشتیم با یک کتابخانه جامع و کاربردی با 4 کلاس و یک Attribute منیفست برای راحت تر انتخاب کردن تم های سفارشی 1 - کلاس sp یا MaatisaScaleFont : برای تعیین سایز یکسان متن ویوها در تمامی دیوایس ها: توضیح سورس 2 - کلاس MaatisaPersianNumber : تبدیل اعداد انگلیسی به فارسی: نحوه کار: Dim mpn1 As MaatisaPersianNumber Activity.Title = mpn1.PerNumber("1234567890") 3 - کلاس MaatisaLinkSupport : لینک دار کردن متن لیبل: Dim mls1 As MaatisaLinkSupport mls1.LinkSupport(lbl1) 4 - کلاس MaatisaCustomToast : یک تواست مسیج سفارشی با قابلیت تعویض فونت و سایز و رنگ متن و شکل و رنگ پس زمینه: Dim mct1 As MaatisaCustomToast mct1.Initialize("Welcome to Maatisa products", Typeface.DEFAULT_BOLD, Colors.Black, 16, Colors.Yellow, 20dip) mct1.Show("" , True) در Initialize مقدار اول پیام پیشفرض برای نمایش، مقدار دوم : فونت متن، مقدار سوم رنگ متن، چهارم سایز متن، مقدار پنجم: رنگ پس زمینه، و مقدار ششم Radius گوشه شکل پس زمینه در خط آخر هم نمایش تواست، اگر رشته خالی باشد متن پیشفرض در خط بالا را نشان می دهد، وگرنه متن وارد شده را نشان می دهد. توضیحات همه کدها در پروژه نمونه و در داکیومنت در فایل زیپ ارائه شده 5 - تم های موجود در کتابخانه: شامل 20 تم |~~ Themes [Macro]: |~~~ Dark [Def dark theme] |~~~ Light [Def light theme] |~~~ Blue [Dark parent] |~~~ Orange [Light parent] |~~~ Pink [Light parent] |~~~ Purple [Light parent] |~~~ Cyan [Light parent] |~~~ Brown [Dark parent] |~~~ Yellow [Dark parent] |~~~ Darkness [Dark parent] |~~~ Maatisa1 [Dark parent] |~~~ Maatisa2 [Dark parent] |~~~ Maatisa3 [Dark parent] |~~~ Maatisa4 [Dark parent] |~~~ Maatisa5 [Dark parent] |~~~ Maatisa6 [Dark parent] |~~~ Maatisa7 [Light parent] |~~~ Maatisa8 [Dark parent] |~~~ Maatisa9 [Dark parent] |~~~ Maatisa10 [Dark parent] طرز استفاده در منیفست: CreateResourceFromFile(Macro, MaatisaLibs.Blue) تصویر نمونه رنگ تم ها: اسکرین شات برخی از تم ها : انشاله به یاری خدا تم های بیشتری هم اضافه میکنم، و ایرادات جزئی هم برطرف میشن، یک مقدار سرم شلوغه، اگر درخواستی هم بود امر کنید در اولین فرصت در خدمتم. داکیومنت کتابخانه هم خدمت شما: ________________________________ |~ MaatisaLibs v1.00 ________________________________ |~~ Classes: |~~~ MaatisaSP v1.00 |~~~ MaatisaPersianNumber v1.00 |~~~ MaatisaCustomToast v1.00 |~~~ MaatisaLinkSupport v1.00 _________________________________ |~~ Themes [Macro]: |~~~ Dark [Def dark theme] |~~~ Light [Def light theme] |~~~ Blue [Dark parent] |~~~ Orange [Light parent] |~~~ Pink [Light parent] |~~~ Purple [Light parent] |~~~ Cyan [Light parent] |~~~ Brown [Dark parent] |~~~ Yellow [Dark parent] |~~~ Darkness [Dark parent] |~~~ Maatisa1 [Dark parent] |~~~ Maatisa2 [Dark parent] |~~~ Maatisa3 [Dark parent] |~~~ Maatisa4 [Dark parent] |~~~ Maatisa5 [Dark parent] |~~~ Maatisa6 [Dark parent] |~~~ Maatisa7 [Light parent] |~~~ Maatisa8 [Dark parent] |~~~ Maatisa9 [Dark parent] |~~~ Maatisa10 [Dark parent] ________________________________________________________________________ |~~~ How 2 use Macro Themes: (Add line below in Manifest Editor) |~~~~ CreateResourceFromFile(Macro, MaatisaLibs.Blue) _________________________________________________________________________ |~ Developed by Mohsen Torabi Maatisa SoftWare Development Group(SWDG) |~~ Telegram ch: https://t.me/maatisa_swdg |~~ Telegram ID: adMaatisa |~~ Email: mohsentorabi086@gmail.com - mohsentorabi1@hotmail.com |~~ Phone: (+98)9197260906 (Include WhatsApp) _________________________________________________________________________ Enjoy! _________________________________________________________________________ |~ Theme's Color Hex Codes: (In order: Primary Dark Primary Background Accent ) |~~ Blue #039BE5 #03A9F4 #CFD8DC #D4016E |~~ Darkness #011F30 #08283B #023250 #04D18F |~~ Orange #A8310D #DD2C00 #FFFFFF #DD2C00 |~~ Pink #BC0948 #F50057 #FFFFFF #F50057 |~~ Purple #7E0391 #A301BC #FFFFFF #A301BC |~~ Cyan #096971 #00838F #FFFFFF #00838F |~~ Yellow #FFD600 #FFEA00 #565226 #FFEA00 |~~ Brown #3E2723 #4E342E #795548 #BCAAA4 |~~ Maatisa1 #111D1C #F5272F #FCC136 #FE686D |~~ Maatisa2 #21243D #FF7C7C #FFD082 #59E3FE |~~ Maatisa3 #721B65 #B80D57 #F8615A #FFD868 |~~ Maatisa4 #204051 #3B6978 #84A9AC #CAE8D5 |~~ Maatisa5 #000000 #323232 #FF1E56 #FFAC41 |~~ Maatisa6 #7D152F #A3172C #8C0F48 #FC863D |~~ Maatisa7 #16DFBA #02FECF #BBFEF2 #20A88F |~~ Maatisa8 #730A39 #870E42 #E09722 #13ABAD |~~ Maatisa9 #33152D #4D1C48 #B00C1A #B7C765 |~~ Maatisa10 #4D2244 #2E8C8F #D32604 #D9FE04 _________________ کتابخانه MaatisaLibs v1.00 شامل کتابخانه، اسکرین شات، سمپل، داکیومنت، رنگ تم ها دانلود امیدوارم بدردتون بخوره، لبتون خندون
  10. سلام احتمالا ممکنه تابحال به ارور هایی برای اتصال به اینترنت با مجموعه کتابخانه های httputils برخورده باشید، معروف ترین و لاعلاج ترینشون : sending message to waiting queue of uninitialized activity (submitjob) برای حل این مشکل و بی شمار مشکلات تو سایت مرجع خیلی گشتم، اما راهکار مستقیمی پیدا نکردم، خودم راههای مختلفو امتحان کردم، و در نهایت سورس کلاس httpsutils رو ویرایش و دوباره کامپایل کردم. دلیلش هم ورژن جدید b4xlib هست، که در ورژن 2.70 این مشکل ها نیست، اما نمیشد همزمان از هر دو ورژن اسفاده کرد، که با این کار شما میتونید همزمان از هردوش استفاده کنید، اگر هنگام استفاده از هردو همزمان در تعریف متغییر مشکل داشتید، دوباره سورس کلاس رو از سایت مرجع دانلود کنید (یا فایل اصلی b4xlib در پوشه Libraries رو Extract کنید و کلاس و سرویس رو در پروژه جدید ایمپورت کنید) و نام کلاس و سرویس رو تغییر بدید (یادتون نره نامشون رو در فراخوانی ها در کدها هم جایگزین کنید) دانلود کتابخانه امیدوارم مفید باشه براتون ایشاله همیشه لبتون خندون باشه
×
×
  • جدید...