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

با سپاس 

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

Continue reading “پخش موزیک و نوحه آنلاین( از دیتابیس آنلاین )”

امنیت فولدر محتوای پروژه با SecuredAssets.jar

سلام دوستان 

 

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

 

با این آموزش امنیت برنامتون رو بالا بببرید

 

لینک تاپیک این موضوع در سایت مرجع  

 

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

 

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

 

فایلها در مکانی که شما آدرس میدهد ذخیره میشوند

 

خب مثلا من موزیکی بنام ۰٫mp3 رو رمزنگاری کردم و فایل خروجی بنام syed و پسوورد ۰۹۳۵******* را خروجی گرفتم و فقط فایل رو به پروژم اضاف کردم

میریم سراغ کد نویسی

ابتدا لایبری EncryptFiles رو تیک بزنید

ابتدا معرفی کردن متغیر ها

Dim encrypt As EncryptFiles
Dim mp As MediaPlayer

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

mp.Initialize2("mp")
Activity.LoadLayout("Layout1")
ProgressDialogShow("در حال بارگزاری و خواندن فایل مربوطه")
encrypt.Initialize("encrypt",Me)
encrypt.UnpackAsset("syed","09352511893",Application.VersionCode)

هم تعیین میکنیم برای گرفتن نتیجه و پخش یا هرکاری روی موزیک

Sub encrypt_Done(success As Boolean)
ProgressDialogHide
If success = True Then
mp.Load(encrypt.PrivateAsset,"0.mp3")
mp.Play
Else
ToastMessageShow("ERRORRRRRRRRRR",False)

End If
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 هست. توی اون میشه زمان حذف برنامه از لیست رو تشخیص داد:
 

منبع : معلی 

دریافت اس ام اس در رشته

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

 

#Region  Project Attributes 
	#ApplicationLabel: B4A Example
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations possible values: unspecified, landscape or portrait.
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals


   Dim t As Timer
   Dim SmsMessages1 As SmsMessages


	Dim SmsList As String
	
End Sub

Sub Globals
	
End Sub

Sub Activity_Create(FirstTime As Boolean)
	

		Activity.LoadLayout("Layout1")

	
	t.Initialize("t",1000)
	t.Enabled=True
	

End Sub


Sub t_Tick
	Sms_

	End Sub



Sub salam_Finish(Success As Boolean)
	
End Sub







Sub Salam_Sended(Success As Boolean)
	
End Sub




Sub Sms_
		Dim List1 As List
		List1 = SmsMessages1.GetAllSince(DateTime.Add(DateTime.Now, -7, -7, -7))
		For i = 0 To List1.Size - 1
		Dim Sms As Sms
		Sms = List1.Get(i)
		Log(Sms.Body)
		 SmsList=Sms.Body&CRLF&SmsList

	Next
End Sub


Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Button1_Click
	
End Sub

 

سورس مولتی لیبل

با سلام و سپاس 

 

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

 

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

 

دانلود سورس

 

دانلود نمونه APK

 

تابعی برای سفارشی کردن 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

 

سورس کتاب به صورت فصل بندی ( متن و عکس + دیتابیس )

با سپاس 

 

در این ساعت از سایت سورس کتاب با دیتابیس و فصل بندی رو براتون پیوست کردم.

 

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

 

شات گیفت نمایانگر همچی هست .

 

دانلود نمونه APK