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

با سپاس

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

 

Sub Activity_KeyPress (KeyCode As Int) As Boolean

 If KeyCode = KeyCodes.KEYCODE_BACK Or KeyCode = KeyCodes.KEYCODE_MENU  Or KeyCode=KeyCodes.KEYCODE_HOME Then

'جایی که یک عمل برامون انجام بده

  Return True

End If

 Return False

End Sub

 

بسته نشدن سرویس در حالات مختلف Service

سلام.

با این کارها میتونی کاری کنی که سرویس بسته نشه.

 

ماندگار کردن سرویس از طریق اضافه کردن این کد توی #Region  Service Attributes :

 

#StartCommandReturnValue: android.app.Service.START_STICKY

 

استارت کردن سرویس به صورت خودکار بعد از روشن شدن گوشی که باید  #StartAtBoot : رو برابر با true قرار بدی.

 

#StartAtBoot: true

 

اجرا کردن سرویس هر ۵دقیقه یک بار با اضافه کردن این کد به service_start به این صورت:

 

Sub Service_Start (StartingIntent As Intent)

StartServiceAt("", DateTime.Now + 60000*5,True)

End Sub

 

و اجرا کردن بلافاصله ی سرویس بعد از بسته شدن سرویس ، در رویداد service_destory :

 

Sub Service_Destroy

StartService("")

End Sub

 

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

 

آموزش کار با سرویس ( قطع و وصل بودن اینترنت )

با سپاس

خب اول باید یک سرویس بسازم

با استفاده از روش زیر

Project – Add New Module – Service Module.

پس از ساخت سرویس یک if روشن بودن یا نبودن اینترنت کاربر رو می گیریم و بعد داخل if اکتیویتی رو صدا می زنیم به همین سادگی

Dim jo As JavaObject
If jo.InitializeContext.RunMethod("chekwifi",Null)=False Then
	Else
Dim Timer1 as timer 
Timer1.Initialize("Timer1", 10000)
Timer1.Enabled = True
End If

Sub Timer1_Tick
CallSubDelayed2(activity name, "sub name", "chizi ke Mikhai befresti ")

End Sub

 

جاستیفای کردن متن مخصوص زبانهای RTL راست به چپ مانند فارسی و عربی

برای جلوگیری از نامنظم بودن متن در یک ویو باید آن را جاستیفای کرد.

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

دانلود سورس
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.
    Dim From As String
    Private RTLJustify1 As RTLJustifyTextView
    Dim sv As ScrollView
    Private btn1 As Button
    Private btn2 As Button
    Private Panel1 As Panel
End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example
    sv.Initialize(1900dip)
    Activity.AddView(sv,0,0,100%x,100%y)
    sv.Panel.LoadLayout("Layout1")
    sv.Panel.Height = Panel1.Height
    From = File.ReadString(File.DirAssets, "Arabic-Lipsum.txt")
    RTLJustify1.SetText(From,False)
    RTLJustify1.DrawingCacheEnabled = True   
    RTLJustify1.TextColor = Colors.Blue
    RTLJustify1.TextGravity = RTLJustify1.GRAVITY_FILL_VERTICAL
   
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub btn2_Click
    RTLJustify1.SetText(From,False)
End Sub
Sub btn1_Click
    RTLJustify1.SetText(From,True)
End Sub

مرجع گیت هاب
https://github.com/Saleh-Hassan/RTL-TextJustify-Android
تاپیک در سایت مرجع
https://www.b4x.com/android/forum/threads/text-justify-for-rtl-languages.72189/#post-459114

حذف برنامه از لیست دکمه recent

حدف برنامه از لیست دکمه recent کار خیلی ساده ایه اگه فقط بیاید و یه خط کد رو به منیفیست اضافه کنید.

 

SetActivityAttribute(Main,“android:excludeFromRecents”,“true”)

 

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

تشخیص زمان حذف برنامه

حالا فرض کنید از کد بالا استفاده نکردین. آیا میشه تشخیص داد چه زمانی کاربر برنامه شما رو از لیست برنامه های اخیر حذف میکنه؟

بله میشه. حتما دیدین تو تمام پروژه ها یه سرویس به اسم starter هست. توی اون میشه زمان حذف برنامه از لیست رو تشخیص داد:
 

منبع : معلی 

تابعی برای سفارشی کردن View

با تابع زیر هم میتونید View خودتون رو خیلی اسون وسط چین کنید :

 

Sub CenterView(v As View, parent As View)
v.Left = parent.Width / 2 - v.Width / 2
v.Top = parent.Height / 2 - v.Height / 2
End Sub

 

با تابع زیر میتونید خودتون Spinner رو باز کنید.ینی اینکه یه فلش (جهت خودمون) بذارید و وقتی روی اون کلیک شد Spinner باز بشه.

Sub OpenSpinner(s As Spinner)
 Dim r As Reflector
 r.Target = s
 r.RunMethod("performClick")
End Sub

تشخیص زبان فعلی گوشی با تابع زیر

تشخیص زبان فعلی گوشی با تابع زیر

 

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

 

تبدیل اعداد داخل یه متن به اعداد فارسی

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

 

Sub ConvertNumbers2Persian(sNumber As String) As String
Dim sNumbers(10) As String
Dim res As String
Dim j As Int
res = sNumber
sNumbers(0) = "٠"
sNumbers(1) = "١"
sNumbers(2) = "٢"
sNumbers(3) = "٣"
sNumbers(4) = "۴"
sNumbers(5) = "۵"
sNumbers(6) = "۶"
sNumbers(7) = "٧"
sNumbers(8) = "٨"
sNumbers(9) = "٩٩"

For i =0 To sNumber.Length - 1
j = sNumber.SubString2(i,i+1)
res = res.Replace(sNumber.CharAt(i),sNumbers(j))
Next
Return res
End Sub

 

ساخت یه چک باکس سفارشی با تصویر دلخواهتان

فقط کافیه شما بجای Checkbox یه ToggleButton بیارید توی فرم و تابع زیر رو فراخوانی کنید.
دو تا تصویر میخواد یکی برای حالت معمولی و یکی هم برای حالتی که تیک خورده
جالبه نه؟!!!!

Sub ChangeCheckBoxImage(chk As ToggleButton)

Dim c1 As StateListDrawable
Dim actColor,hoverColor As BitmapDrawable

actColor.Initialize(LoadBitmapSample(File.DirAssets,"checkbox_on.png",32,32))
hoverColor.Initialize(LoadBitmapSample(File.DirAssets,"checkbox_off.png",32,32))

c1.Initialize
c1.AddState(c1.State_Checked,actColor)
c1.AddState(c1.State_Unchecked,hoverColor)
c1.AddCatchAllState(hoverColor)

chk.Background = c1

End Sub

 

تکه کد تغییر غیر قابل ویرایش کردن Edit Text

به درود

 

آیا شده بخواهید تا حالا EditText شما غیر قابل ویرایش بشه.

 

یا اصل قابل انتخاب و کیلیک کردن نشه ؟

 

کافیه ار تابع زیر استفاده کنید.

 

Sub setTextIsSelectable(edt As EditText, Selectable As Boolean)
Dim jo = edt As JavaObject
jo.RunMethod("setTextIsSelectable", Array As Object(Selectable))
End Sub

 

لیست اینتنت های کاربردی

سپاس و درود

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

 

ACTION_ACCESSIBILITY_SETTINGS
Activity Action: Show settings For accessibility modules.
** ACTION_ADD_ACCOUNT
Activity Action: Show add account screen For creating a new account.
** ACTION_AIRPLANE_MODE_SETTINGS
Activity Action: Show settings To allow entering/exiting airplane mode.
** ACTION_APN_SETTINGS
Activity Action: Show settings To allow configuration of APNs.
** ACTION_APPLICATION_DETAILS_SETTINGS
Activity Action: Show screen of details about a particular Application.
** ACTION_APPLICATION_DEVELOPMENT_SETTINGS
Activity Action: Show settings To allow configuration of Application development-related settings.
** ACTION_APPLICATION_SETTINGS
Activity Action: Show settings To allow configuration of Application-related settings.
** ACTION_BATTERY_SAVER_SETTINGS
Activity Action: Show battery saver settings.
** ACTION_BLUETOOTH_SETTINGS
Activity Action: Show settings To allow configuration of Bluetooth.
** ACTION_CAPTIONING_SETTINGS
Activity Action: Show settings For video captioning.
** ACTION_CAST_SETTINGS
Activity Action: Show settings To allow configuration of cast endpoints.
** ACTION_DATA_ROAMING_SETTINGS
Activity Action: Show settings For selection of 2G/3G.
** ACTION_DATE_SETTINGS
Activity Action: Show settings To allow configuration of date And time.
** ACTION_DEVICE_INFO_SETTINGS
Activity Action: Show general device information settings (serial number, software version, phone number, etc.).
** ACTION_DISPLAY_SETTINGS
Activity Action: Show settings To allow configuration of display.
** ACTION_DREAM_SETTINGS
Activity Action: Show Daydream settings.
** ACTION_HARD_KEYBOARD_SETTINGS
Activity Action: Show settings To configure the hardware keyboard.
** ACTION_HOME_SETTINGS
Activity Action: Show Home selection settings.
** ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS
Activity Action: Show screen For controlling background data restrictions For a particular Application.
** ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS
Activity Action: Show screen For controlling which apps can ignore battery optimizations.
** ACTION_INPUT_METHOD_SETTINGS
Activity Action: Show settings To configure input methods, in particular allowing the user To enable input methods.
** ACTION_INPUT_METHOD_SUBTYPE_SETTINGS
Activity Action: Show settings To enable/disable input method subtypes.
** ACTION_INTERNAL_STORAGE_SETTINGS
Activity Action: Show settings For internal storage.
** ACTION_LOCALE_SETTINGS
Activity Action: Show settings To allow configuration of locale.
** ACTION_LOCATION_SOURCE_SETTINGS
Activity Action: Show settings To allow configuration of current location sources.
** ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS
Activity Action: Show settings To manage all applications.
** ACTION_MANAGE_APPLICATIONS_SETTINGS
Activity Action: Show settings To manage installed applications.
** ACTION_MANAGE_DEFAULT_APPS_SETTINGS
Activity Action: Show Default apps settings.
** ACTION_MANAGE_OVERLAY_PERMISSION
Activity Action: Show screen For controlling which apps can draw on top of other apps.
** ACTION_MANAGE_WRITE_SETTINGS
Activity Action: Show screen For controlling which apps are allowed To write/modify system settings.
** ACTION_MEMORY_CARD_SETTINGS
Activity Action: Show settings For memory card storage.
** ACTION_NETWORK_OPERATOR_SETTINGS
Activity Action: Show settings For selecting the network operator.
** ACTION_NFCSHARING_SETTINGS
Activity Action: Show NFC Sharing settings.
** ACTION_NFC_PAYMENT_SETTINGS
Activity Action: Show NFC Tap & Pay settings

This shows UI that allows the user To configure Tap&Pay settings.
** ACTION_NFC_SETTINGS
Activity Action: Show NFC settings.
** ACTION_NOTIFICATION_LISTENER_SETTINGS
Activity Action: Show Notification listener settings.
** ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS
Activity Action: Show Do Not Disturb access settings.
** ACTION_PRINT_SETTINGS
Activity Action: Show the top level print settings.
** ACTION_PRIVACY_SETTINGS
Activity Action: Show settings To allow configuration of privacy options.
** ACTION_QUICK_LAUNCH_SETTINGS
Activity Action: Show settings To allow configuration of quick launch shortcuts.
** ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Activity Action: Ask the user To allow an app To ignore battery optimizations (that Is, put them on the whitelist of apps shown by ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS).
** ACTION_SEARCH_SETTINGS
Activity Action: Show settings For global search.
** ACTION_SECURITY_SETTINGS
Activity Action: Show settings To allow configuration of security And location privacy.
** ACTION_SETTINGS
Activity Action: Show system settings.
** ACTION_SHOW_REGULATORY_INFO
Activity Action: Show the regulatory information screen For the device.
** ACTION_SOUND_SETTINGS
Activity Action: Show settings To allow configuration of sound And volume.
** ACTION_SYNC_SETTINGS
Activity Action: Show settings To allow configuration of sync settings.
** ACTION_USAGE_ACCESS_SETTINGS
Activity Action: Show settings To control access To usage information.
** ACTION_USER_DICTIONARY_SETTINGS
Activity Action: Show settings To manage the user input dictionary.
** ACTION_VOICE_CONTROL_AIRPLANE_MODE
Activity Action: Modify Airplane mode settings using a voice command.
** ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE
Activity Action: Modify Battery Saver mode setting using a voice command.
** ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE
Activity Action: Modify Do Not disturb mode settings.
** ACTION_VOICE_INPUT_SETTINGS
Activity Action: Show settings To configure input methods, in particular allowing the user To enable input methods.
** ACTION_VPN_SETTINGS
Activity Action: Show settings To allow configuration of VPN.
** ACTION_VR_LISTENER_SETTINGS
Activity Action: Show VR listener settings.
** ACTION_WEBVIEW_SETTINGS
Activity Action: Allows user To Select current webview implementation.
** ACTION_WIFI_IP_SETTINGS
Activity Action: Show settings To allow configuration of a static IP address For Wi-Fi.
** ACTION_WIFI_SETTINGS
Activity Action: Show settings To allow configuration of Wi-Fi.
** ACTION_WIRELESS_SETTINGS
Activity Action: Show settings To allow configuration of wireless controls such As Wi-Fi, Bluetooth And Mobile networks.
** AUTHORITY
** EXTRA_ACCOUNT_TYPES
Activity Extra: Limit available options in launched Activity based on the given account types.
** EXTRA_AIRPLANE_MODE_ENABLED
Activity Extra: Enable Or disable Airplane Mode.
** EXTRA_AUTHORITIES
Activity Extra: Limit available options in launched Activity based on the given authority.
** EXTRA_BATTERY_SAVER_MODE_ENABLED
Activity Extra: Enable Or disable Battery saver mode.
** EXTRA_DO_NOT_DISTURB_MODE_ENABLED
Activity Extra: Enable Or disable Do Not Disturb mode.
** EXTRA_DO_NOT_DISTURB_MODE_MINUTES
Activity Extra: How many minutes To enable Do Not disturb mode For.
** EXTRA_INPUT_METHOD_ID
** INTENT_CATEGORY_USAGE_ACCESS_CONFIG
Activity Category: Show Application settings related To usage access.
** METADATA_USAGE_ACCESS_REASON
Metadata key: Reason For needing usage access.

 

تکه کد رفتن حالت هواپیما Airplane و بلعکس

با سپاس و درود 

 

با Function زیر میتونید گوشی رو روی حالت هواپیما Airplane بزارید.
اگه بهش True بفرستید میره حالت هواپیما و اگه False که از حالت هواپیما درمیاره

 

Sub SetAirplaneMode(On As Boolean)
Dim p As Phone
If on = GetAirplaneMode Then Return 'already in the correct state
Dim r As Reflector
Dim contentResolver As Object
r.Target = r.GetContext
contentResolver = r.RunMethod("getContentResolver")
Dim state As Int
If on Then state = 1 Else state = 0
r.RunStaticMethod("android.provider.Settings$System", "putInt", _
Array As Object(contentResolver, "airplane_mode_on", state), _
Array As String("android.content.ContentResolver", "java.lang.String", "java.lang.int"))
Dim i As Intent
i.Initialize("android.intent.action.AIRPLANE_MODE", "")
i.PutExtra("state", "" & On)
p.SendBroadcastIntent(i)
End Sub

 

این Function برای بدست اوردن وضعیت Airplane گوشی استفاده میشه

 

Sub GetAirplaneMode As Boolean
Dim p As Phone
Return p.GetSettings("airplane_mode_on") = 1
End Sub

با تشکر امید آقاخانی

سورس کد درون پرداختی بازار از دیتابیس + التیمیت لیست ویو

با سلام و سپاس

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

در این سورس کد شما با چندین مفاهیم آشنا میشوید :

Continue reading “سورس کد درون پرداختی بازار از دیتابیس + التیمیت لیست ویو”

تابع تغییر نام فایل

سلام دوستان،

امروز این تابع رو که از اسمش هم پیداست که کارش “تغییر نام فایل” هست رو براتون قرار میدم. امیدوارم براتون کاربردی باشه.

یادتون نره کتابخونه ی Phone رو تیک بزنید.

 

Sub RenameFile(OriginalFileName As String, NewFileName As String) As Boolean
    Dim Result As Int
    Dim StdOut, StdErr As StringBuilder
    StdOut.Initialize
    StdErr.Initialize
    Dim Ph As Phone
    Result = Ph.Shell("mv " & OriginalFileName & " " & NewFileName, Null,  StdOut, StdErr)
    If Result = 0 Then
        Return True
    Else
        Return False
    End If
End Sub