ادد کردن عکس و لیبل و غیره در لیست ویو و مدیریت آن

با سلام و سپاس

 

بنا به درخواست یکی از دوستان مختصر کدی براتون مهیا کردیم که با لیست ویو بیشتر آشنا بشید.

 

دید که تو لیست ویو عکس میزارن ؟

 

دید وقتی متن فارسی رو تو لیست ویو نمایش میدیم میچسبه به سمت راست انگار رفته تو دیواره لیست ویو ؟

Continue reading “ادد کردن عکس و لیبل و غیره در لیست ویو و مدیریت آن”

سورس کد CustomBottomSheet – B4A Library source code

با سلام و سپاس

 

این نوع سمپل ها رو خوده مرجع میزارن ولی دوستان میان به اسم خودشون تموم میکنن :mrgreen:   :mrgreen:   :mrgreen:

 

بگذریم این سورس کد رو خود مرجع گذاشته که من برای شما ها میزارم لینک دانلود مرجع هم رایگان می باشد که اونم براتون میزارم .

 

لینک از مرجع : yon.ir/STrhV

 

Capture_2017_11_27_12_53_19_729.png (400×712)

 

GPBip26.png (400×711)

 

 

لینک دانلود مستقیم از مرجع : http://yon.ir/pqo3M

 

دانلود سورس

رویداد باز شدن منو در کتابخانه MenuSlidingWrapper

اگه از کتابخونه ی MenuSlidingWrapper استفاده میکنید میتونید با تابع زیر وقتی منو باز میشه رو تشخیص بدید.

اون Event رو هم که نیازه زیر تابع اوردم اونجا شما میتونی بفهمی که منو باز شده :

Continue reading “رویداد باز شدن منو در کتابخانه MenuSlidingWrapper”

آموزش ساخت پنل متحرک

موزش ساخت پنل متحرک(میتونید با لمس و کشیدن به بالا و پایین حرکتش بدین)

یک باتن تعریف کنید و نوی کلیک باتن یک پنل تعریف کنید و ادد کنید به اکتیویتی (طوری که بعد کلیک پنل ادد بشه به اکتیویتی)

بعدش هم اینو بزارید و حالشو ببرید:

 

Sub Activity_Touch (Action As Int, X As Float, Y As Float)
If Action = Activity.ACTION_MOVE Then
pnazar.Top = y
End If
If Action = Activity.ACTION_UP Then
If y > 15%y Then
Cod.View_anim(500,pnazar,"SlideOutDown")
Else
pnazar.Top = 0
End If
End If
End Sub

ما پنل با نام pnazar ساختیم که توی کد های بالا هم هست
و این قسمت کد هم برای خشکل شدم کار هست

 

Cod.View_anim(500,pnazar,"SlideOutDown")

 

از کتابخونه انیمیشن ویو هست AnimationView

 

فرستاده شده : مجید گودرزی

حذف سفیدی یا سیاهی اول آپ

برای حذف اون صفحه سفید یا سیاهی که اول برنامه بهتون نشون میده در صورتی که از متریال استفاده نمی کنید کافیه کدهای زیر رو به منیفستتون اضافه کنید:

 

SetApplicationAttribute(android:theme, "@style/LightTheme")
CreateResource(values-v14, theme.xml,
<resources>
  <style
  name="LightTheme" parent="@android:style/Theme.Holo.Light">
   <item name="android:windowDisablePreview">true</item>
  </style>
</resources>
)

 

فرستاده شده : Mahdi_designer

سورس کد گرفتن تمامی نوتیفیکیشن ها در بیسیک فور اندروید ( به همراه جزییات )

با سلام و سپاس

ضمن  عرض تسلیت این روز عزیز ……

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

Continue reading “سورس کد گرفتن تمامی نوتیفیکیشن ها در بیسیک فور اندروید ( به همراه جزییات )”

سورس پالت رنگ متریال

با سلام و سپاس

امروز براتون سورس پالت رنگ رو مهیا کرده ایم .

این سورس با کتابخانه قدرتمند ریسایکلر نوشته شده هست که بثورت متریال می باشد .

Continue reading “سورس پالت رنگ متریال”

آخرین نسخه کتابخانه Dialogs 4.01 ببیسیک فور اندروید

با سلام و سپاس

 

 آخرین نسخه کتابخانه Dialogs 4.01 ببیسیک فور اندروید  برای اولین منتشر کننده بعد از مرجع از سایت یاهو ۹۸ Yahoo

 

امیدوارم مفید واقع گردد .

 

با سپاس 

 

دانلود کتابخانه

 

 

SS-2017-06-01_16.37.34.png (324×581)

SS-2017-06-01_16.00.52.png (436×764)

سورس قرآن + متریال + تنظیمات + ذخیره اسکرول خوانده شده

با سلام و سپاس 

خدمت کاربران گرامی 

امروز براتون سورس کامل قرآن رو مهیا کرده ایم.

 

این که این برنامه شامل قسمت های زیر می باشد :

Continue reading “سورس قرآن + متریال + تنظیمات + ذخیره اسکرول خوانده شده”

حل کردن صفحه سفید اول اپ در بیسیک فور اندروید B4A

با سلام وسپاس 

 

خدمت کاربران عزیز وب سایت یاهو ۹۸ YAHOO

Continue reading “حل کردن صفحه سفید اول اپ در بیسیک فور اندروید B4A”

تشخیص زبان گوشی در بیسیک فور اندروید

با استفاده از کد زیر زبان گوشی کاربر را میتوانید در برنامه تشخیص بدهید .

 

ابتدا کتابخانه Reflection را فعال کنید و کد زیر را در اکتیویتی مورد نظرتان قرار دهید :

 

Sub PhoneLanguage As String
 Dim r As Reflector
 r.Target = r.RunStaticMethod("java.util.Locale", "getDefault", Null, Null)
 Return r.RunMethod("getDisplayName")
End Sub

 

برای مثال اگر بخواهید زبان فعلی گوشی کاربر را در یک لیبل نمایش دهید باید متن لیبل را بر روی PhoneLanguage قرار دهید :

 

label1.Text = PhoneLanguage

موفق باشید  🙂

سورس اسلاید منو چپ و راست ( لیست ویو + کلیک آیتم )

با سلام

امروز براتون سورس کد منو ۲ طرفه کد نویسی کرده ام که شما در این سورس یک منو از سمت راست و یک منو از سمت چپ خواهید داشت .

 

که در هر کدوم از منو ها از لیست ویو استفاده شده و به تعداد دلخواه میتونید زیر منو براش انتخاب کنید و با کلیک آیتم رویدادش رو اضافه کنید .

Continue reading “سورس اسلاید منو چپ و راست ( لیست ویو + کلیک آیتم )”

قابلیتهای جدید B4A ورژن ۷٫X در بیسیک فور اندروید

نسخه جدید بیسیک فور اندروید اون هم با استفاده از نسخه ۸ جاوا و قابلیت های کاربردی فراوان ارائه شده است.

قابلیت های افزوده شده در این ورژن بیسیک قالبا راه حل مشکل بسیاری از سوالات دوستان می باشد..

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

Sleep

Sleep قابلیت ساده و کاربردی در برنامه نویسی با ورژن جدید بیسیک خواهد بود.

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

مثال اول

اسپلش رو اکثر بچه ها طراحی کردن. خب در روش مرسوم با استفاده از تایمر زمان ورود به اکتیویتی دوم مشخص میشد. ولی حالا خیلی سریع و ساده همانند کد زیر ساخته می شود

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout1")
	Sleep(3000)
	StartActivity("Menu")
	Activity.Finish
End Sub

در کد بالا بعد از سه ثانیه یا همون ۳۰۰۰ میلی ثانیه از زمان نمایش اسپلش اکتیویتی دوم نمایش داده میشود.

مثال دوم

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

takeoff-gif.54879

کد زیر کد رویداد این کلیک ها می باشد.

Sub btn_Action
   Dim b As Button = Sender
   For i = 10 To 0 Step - 1
     b.Text = i
     Sleep(100)
   Next
   b.Text = "Takeoff!"
End Sub

نکته: همانگونه که در مثال های بالا مشاهده نمودید استفاده از Sleep در مواردی که یک یا چند مکث با تعداد مشخص و یا تعداد کم داشته باشید. کاربرد دارد و در غیر اینصورت استفاده از تایمر همانند قدیم مناسبتر می باشد.

 

قابلیت Wait For:


در این قابلیت ما می تونیم تمامی رویداد هارو در کنار کدی که می نویسیم داشته باشیم.یعنی دیگه نیازی نیست شما به صورت جداگانه برید رویداد مثلا JobDone  رو تعریف کنید.به وسیله WaitFor  هر جای ادیتور و در بلاک های مختلف می تونید رویداد هاتون رو صدا بزنید و کنترل کنید.

مزایای Wait For:

– نظم بهتر به کد نویسی

– جلوگیری از تداخل در رویداد ها ( بر فرض هندل راحت دو تا Job بدون اینکه برای هیچ کدوم تداخلی بوجود بیاد )

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

مثال اولش رو واسه SQL  میزنیم، تا ببینیم به چ شکل عمل می کنه»

 – اضافه کردن رکورد به دیتابیس و خروجی که رویدادش به ما بر میگردونه:

For i = 1 To 1000
   sql.AddNonQueryToBatch("INSERT INTO table1 VALUES (?)", Array(Rnd(0, 100000)))
Next
Dim SenderFilter As Object = sql.ExecNonQueryBatch("SQL")
Wait For (SenderFilter) SQL_NonQueryComplete (Success As Boolean)
Log("NonQuery: " & Success)

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

حالا اینجا ما تابع AddNonQueryToBatch  رو داریم که می تونیم اطلاعات رو درج کنیم.اطلاعات رو به وسیله این تابع وارد و با اجرای تابع ExecNonQueryBatch اطلاعات درج در دیتابیس می شوند.برای اینکه از وضعیت درج اطلاعات با خبر شویم، رویدادی رو اختصاص دادند.این رویداد یک متغییر از نوع Boolean  داره که مشخص می کنه اطلاعات با موفقیت به دیتابیس وارد شده اند یا خیر.

به راحتی تونستیم به جای اینکه رویداد SQL_NonQueryComplete رو جدا تعریف کنیم، دقیقا بعد از کدی که واسش تعریف شده نوشتیم.دقیقا توی جاوا به همین شکل می تونید عمل کنید. می تونید رویداد رو هرجای کد تعریف کنید.

مثال از گرفتن اطلاعات از دیتابیس »

Dim SenderFilter As Object = sql.ExecQueryAsync("SQL", "SELECT * FROM table1", Null)
	Wait For (SenderFilter) SQL_QueryComplete (Success As Boolean, rs As ResultSet)
	If Success Then
		Do While rs.NextRow
			Log(rs.GetInt2(0))
		Loop
		rs.Close
	Else
		Log(LastException)
	End If

خب فک نکنم پیچیدگی یا ابهامی توی این کد باشه.کوئری رو به تابع میدید و بعدش میایید توی رویدادش اطلاعات رو دریافت می کنید.در صورتی که مشکلی نباشه.اینجا هندل کردن خطاها خیلی بهتر شده.یعنی کد اجرا میشه و متغییر Success بهمون این اجازه رو میده تا خطایی در برناممون رخ نده و کنترلی داشته باشه.در مورد ResultSet  هم بگم که جای نگرانی نداره و چیز جدیدی نیست، همون Cursor  هستش.مشتق شده از Cursor  هستش.( جزئی از شی گرایی هستش که هر شیی از یک شیی دیگه مشتق بشه تمامی وِِِیژگی ها و قابلیت های والدش رو به ارث میبره).

 

قابلیت Wait For:

مثالی از استفادش در OkHttpUtils2  »

Dim j As HttpJob
j.Initialize("", Me)
j.Download("https://www.google.com") 
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
   Log(j.GetString)
End If
j.Release

ساده ترین مثال ممکن  لینک رو میدی بهش، رویداد رو در کنارش اضافه می کنی و نتیجه رو لاگ می کنید سخته واقعا ؟؟!!

 

مثال بعدی »

ub DownloadQuote
   Dim j As HttpJob
   j.Initialize("", Me) 'name is empty as it is no longer needed
   j.Download("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand")
   Wait For (j) JobDone(j As HttpJob)
   If j.Success Then
     'The result is a json string. We parse it and log the fields.
     Dim jp As JSONParser
     jp.Initialize(j.GetString)
     Dim quotes As List = jp.NextArray
     For Each quot As Map In quotes
       Log("Title: " & quot.Get("title"))
       Log("Content: " & quot.Get("content"))
     Next
   End If
   j.Release
End Sub

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

استفاده از کد بالا هم فقط کافیه تابع DownloadQuote  رو یه جایی صدا بزنید.

 

مثال بعدی »

Sub DownloadTwoLinks
   Dim j As HttpJob
   j.Initialize("", Me) 'name is empty as it is no longer needed
   j.Download("https://www.google.com")
   Wait For (j) JobDone(j As HttpJob)
   If j.Success Then
     Log(j.GetString)
   End If
   j.Release
   'second request
   Dim j As HttpJob 'redim and initialize
   j.Initialize("", Me)
   j.Download("https://www.duckduckgo.com")
   Wait For (j) JobDone(j As HttpJob)
   If j.Success Then
     Log(j.GetString)
   End If
   j.Release
End Sub

خب اینجا هم دو تا لینک رو میدیم بهش تا دانلود کنه واسمون.هر جای کد واستون نا مفهوم بود، کد رو خودتون تست کنید و ببینید به چ شکل عمل می کنه.می تونید با Log  گذاشتن نحوه عملکردش رو ببینید.

 

مثال بعدی »


Sub Activity_Create(FirstTime As Boolean)
   DownloadMany(Array("http://www.google.com", "http://duckduckgo.com", "http://bing.com"))
End Sub

Sub DownloadMany (links As List)
   For Each link As String In links
     Dim j As HttpJob
     j.Initialize("", Me) 'name is empty as it is no longer needed
     j.Download(link)
     Wait For (j) JobDone(j As HttpJob)
     If j.Success Then
       Log("Current link: " & link)
       Log(j.GetString)
     End If
     j.Release
   Next
End Su

دانلود محتوای سایت ها.خیلی شیک و معمولی.

 

مثال بعدی »

Sub DownloadImage(Link As String, iv As ImageView)
   Dim j As HttpJob
   j.Initialize("", Me)
   j.Download(Link)
   Wait For (j) JobDone(j As HttpJob)
   If j.Success Then
     iv.Bitmap = j.GetBitmap
   End If
   j.Release
End Sub

 

دانلود عکس و قرار دادنش توی ایمیج ویو، نحوه استفادش:

 

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("1")
   DownloadImage("https://b4x-4c17.kxcdn.com/android/forum/data/avatars/m/0/1.jpg?1469350209", ImageView1)
   DownloadImage("https://b4x-4c17.kxcdn.com/images3/code.png", ImageView2)
End Sub

 

این نحوه ی استفاده از قابلیت Wait For  هستش تا واسه ی شما جا بیوفته.

با این می تونید رویداد هاتون رو هرجا که خواستید تعریف و کنترل کنید.

پیروز باشید .

 

مدرس : آرتا و مهدی نژاد

مخفی کردن آیکون برنامه در بیسیک فور اندروید

در این قسمت یک کد بسیار کاربردی را قرار داده ایم که با استفاده از آن میتوانید آیکون برنامه خودتون را مخفی کنید به طوری که در لیست برنامه ها نمایش داده نشه ! برای استفاده از این کد کتابخانه Reflection را فعال کنید و کد زیر را توی اکتیویتی مورد نظرتون قرار بدین :

 

Sub HideApp(Enable As Boolean)
Dim r As Reflector
Dim cn As Object = r.CreateObject2("android.content.ComponentName", _
Array As Object(Application.PackageName, Application.PackageName&".main"), _
Array As String("java.lang.String", "java.lang.String"))
r.Target = r.GetContext
r.Target = r.RunMethod("getPackageManager")
Dim e As Int
If Enable = True Then
e = 2
Else
e = 1
End If
r.Target = r.RunMethod4("setComponentEnabledSetting", Array As Object(cn, e, 0), _
Array As String("android.content.ComponentName", "java.lang.int", "java.lang.int"))
End Sub

 

حالا برای مخفی کردن آیکون کافیه که کد زیر را در بخش مورد نظرتون قرار بدین ( زمانی که میخواهید آیکون مخفی بشه ) :

 

HideApp(True)
/pre>

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

 

HideApp(False)
/pre>

در ضمن بهتره که این کد ها را در اکتیویتی Main استفاده کنید …


	

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

با سلام و سپاس

 

این سورس کد رو یکی از کاربران یاهو ۹۸ YAHOO برای ارتقاع سطح دوستان مبتدی ارسال کرده و درخواست گذاشتن در سایت رو داشته بود.

 

نیز شما هم اگر سورسی به رایگان و غیر رایگان دارید با ما در ارتباط باشید.

 

موفق باشید.

 

 

دانلود سورس