تابع گرفتن مدت زمان یه فیلم توی بیسیک ۴ اندروید

با سلام و سپاس خدمت عزیزان

 

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

Continue reading “تابع گرفتن مدت زمان یه فیلم توی بیسیک ۴ اندروید”

سورس و کتابخانه پیشرفته irBPG الگوریتم‌های بهینه کم کردن حجم تصاویر با حفظ کیفیت

با سلام و سپاس 

 

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

 

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

 

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

 

یکسال پیش کتابخانه Webp را برای کاهش حجم تصاویر برای بیسیک wrap نمودم و بعد یکسال فناوری رقیب و پیشرفته تری بنام BPG را برایتان تهیه نمودم.

 

BPG مخفف Better Portable Graphics است که  Fabrice Bellard  برنامه‌نویس معروفی روی آن کار کرده است کسی که قبلاً FFMPEG و QEMU را ساخته است. BPG با استفاده از الگوریتم‌های بهینه کاری می‌کند که حجم تصاویر با حفظ کیفیت، نصف شود!


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

مزیت جالب دیگر پشتیبانی از کانال‌های رنگی ۱۴ بیتی است. در jpg فقط از ۸ بیت پشتیبانی می‌شود و این یعنی تعداد رنگ‌ها به شدت افزایش می‌یابد.

مزیت دیگر BPG نسبت به jpg پشتیبانی از کانال آلفا است. منظور از کانال آلفا همان شفافیت است؛ همان بخش‌های شفاف عکس که در فرمتی مثل png سراغ داریم.


خوشبختانه با توجه به اینکه BPG مبتنی بر H.265 است و پشتیبانی از H.265 به تدریج دنیای موبایل را فرامی‌گیرد، این امیدواری وجود دارد که دیکد شدن BPG به سادگی

و با کمتری توان مصرفی انجام شود.

توضیحات بیشتر در اینجا

 

Dim d As BitmapDrawable
	Dim b() As Byte=toBytes(File.OpenInput(File.DirAssets,"cats.bpg"))
	d.Initialize(irBPG.getDecodedBitmap(irBPG.decodeBuffer(b,b.Length)))
	Activity.Background=d

 

Sub toBytes(in As InputStream)As Byte()
	Dim out As OutputStream
	out.InitializeToBytesArray(0)
	File.Copy2(in, out)
	Dim data() As Byte
	Return out.ToBytesArray
End Sub
دانلود سورس و کتابخانه

سورس کد و کتابخانه پیشرفته FaceOffToggleButton برای پیشرفته کردن ویو تگل

با سلام و سپاس 

 

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

 

Continue reading “سورس کد و کتابخانه پیشرفته FaceOffToggleButton برای پیشرفته کردن ویو تگل”

سورس کد سرچ توی لیست ویو ListView در بیسیک فور اندروید

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

 

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

Continue reading “سورس کد سرچ توی لیست ویو ListView در بیسیک فور اندروید”

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

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

 

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

 

اما کار سورس به چه صورتی هست ؟

Continue reading “سورس کد گرفتن و لاگ کردن عکس گرفته شده با دوربین گوشی”

آموزش تغییر رنگ متون در بیسیک فور اندروید

با سلام و سپاس 

 

شب همگی کاربران گل وب سایت یاهو ۹۸ YAHOO بخیر و خوشی باشد ان شا ء لله

 

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

Continue reading “آموزش تغییر رنگ متون در بیسیک فور اندروید”

تغییر نام برنامه با توجه به زبان گوشی

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

 

در این بخش میخواهیم تغییراتی را در برنامه انجام دهیم تا با توجه به زبان گوشی کاربر , نام برنامه نیز تغییر کند ! برای مثال اگر زبان گوشی کاربر فارسی است نام برنامه نیز فارسی باشد و در غیر اینصورت نام برنامه انگلیسی باشد !

 

برای شروع وارد پوشه سورس برنامه مورد نظرتان شوید و در پوشه Objects \ res دو پوشه با نام های زیر ایجاد کنید :

 

values-en
values-fa

 

تا اینجا ما برای دو زبان “فارسی – fa” و “انگلیسی – en” پوشه ساخته ایم .

 

داخل هرکدام از این پوشه ها باید یک فایل با نام strings با فرمت xml ایجاد کنید و کد زیر را داخل آن قرار دهید .

 

برای اینکار میتوانید از نرم افزار NotePad یا سایر ویرایشگر های متن کمک بگیرید و توجه داشته باشید که فایل را از نوع utf-8 ذخیره کنید تا از زبان فارسی پشتیبانی کند .

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name = "AppName">یاهو ۹۸</string>
</resources>

 

در کد بالا به جای “یاهو ۹۸” نام مورد نظرتان را جایگزین کنید و چون نام بالا فارسی است این فایل را در پوشه values-fa ذخیره میکنیم .

 

مجددا یک فایل دیگر به همین شکل ایجاد کنید و نام برنامه را انگلیسی وارد کنید و در پوشه values-en ذخیره کنید .

 

نکته مهم این است که باید دسترسی این فایل ها را روی Road Only قرار دهید ( روی فایل راست کلیک کنید و گزینه Properties را انتخاب کنید.

 

در کادری که باز میشود گزینه Read-Only را تیک بزنید و بر روی OK کلیک کنید ) و باید حتما این کار را انجام دهید و در غیر اینصورت فایل ها در هنگام خروجی گرفتن از برنامه حذف میشوند …

 

وارد بیسیک فور اندروید شوید و کد های زیر را به Manifest اضافه کنید :

 

SetActivityAttribute("Main", android:label ,"@string/AppName")
SetActivityAttribute("Main", android:configChanges , "locale")
 

 

حالا اگر از برنامه خروجی بگیرید مشاهده خواهید کرد که نام برنامه با توجه به  زبان گوشی شما تغییر میکند !

 

موفق باشید !

 

سورس کد + Sql + php + قطعه سورس دیتابیس انلاین

با سلام خسته نباشید

 

من یه قطعه سورس دیتابیس انلاین با محیط پر قدرت بیسیک ۴ اندروید برای شما تهیه کردم که در هیچ جا نمیتوانی اموزشش رو پیدا کنید.

 

قابلیت ها Continue reading “سورس کد + Sql + php + قطعه سورس دیتابیس انلاین”

آپدیت اجباری در بیسیک فور اندروید

با سلام و سپاس

 

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

 

امروز براتون آموزش اجباری کردن آپدیت برنامه ها توی بیسیک فور اندروید رو مهیا کردیم .

Continue reading “آپدیت اجباری در بیسیک فور اندروید”

سورس کد شماره ساز هوشمند با ۲۰۰ هزار نصب در مایکت

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

 

با افتتخاری دیگر سورسی رو به شما ارائه میدهیم که خیلی کاربردی میباشد.

Continue reading “سورس کد شماره ساز هوشمند با ۲۰۰ هزار نصب در مایکت”

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

با سلام و سپاس 

 

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

 

در این سورس شما با ارتباط بین اندروید و دیتابیس آنلاین و php نیز آشنا می شوید.

Continue reading “سورس کد برنامه مشابه دیوار”

تابع ارسال پیامک طولانی در بیسیک ۴ آندروید

با سلام و سپاس

 

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

 

شاید برای شما هم اتفاق افتاده باشد که بخواهید

 

اس ام اس بلند ( طولانی ) رو در بیسیک فور اندروید ارسال کنید که به مشکل عدم ارسال بر بخورید.

 

با تابع زیر میتونید کامل این مشکل رو برطف کنید و محدودیت رو بردارید.

 

Sub SendLargeSms(Number As String , Message As String)
   Dim r As Reflector
   r.Target = r.RunStaticMethod("android.telephony.SmsManager", "getDefault", Null, Null)
   Dim parts As Object
   parts = r.RunMethod2("divideMessage", Message, "java.lang.String")
   r.RunMethod4("sendMultipartTextMessage", _
      Array As Object(Number, Null, parts, Null, Null), _
      Array As String("java.lang.String", "java.lang.String", _
         "java.util.ArrayList", "java.util.ArrayList", "java.util.ArrayList"))
End Sub

 

در این کد با استفاده از Reflection و دسترسی به کدجاوا تابعی بدین منظور نوشته شده است.

 

اکر کتابخانه مورد نظر در دسترس شما قرار نداشت کافیه فقط با آیدی تلگرام ما در ارتباط باشید.

 

آیدی تلگرام : crypt3r@

 

کانال ما در تلگراک : YAHOO98@

 

نکته: دسترسی را در فایل منیفست اضافه کنید حتما

AddPermission("android.permission.SEND_SMS")

موفق باشید.

 

 

لاگین با اکانت گوگل در بیسیک ۴ اندروید

با سلام و سپاس

 

دید تا حالا تو برنامه های متعددی به جای ثبت نام با کانت های گوگل و فیسبوک و غیره لاگین میشن ؟

 

حتما خیلی براتون جالب بوده ؟

 

 

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

 

 #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
#Extends: android.support.v7.app.AppCompatActivity
Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.

End Sub

Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
	Dim id As String = ""
	Dim sign As SignGoogle
End Sub

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	'Activity.LoadLayout("Layout1")


		sign.Initialize(id,Me)
		Dim ls1 As List
		ls1 = sign.GetAccountList
	
		Dim Builder As MaterialDialogBuilder
		Builder.Initialize("GoogleList")
		Dim si As MaterialSimpleListItem
		Builder.Title("یک حساب انتخاب کنید")
	
		If ls1.Size < 1 Then
		
		Else
			For i = 0 To ls1.Size -1
				Dim cs As CSBuilder
				cs.Initialize.Size(13).Append(ls1.Get(i)).PopAll
				si.Initialize(Null, cs)
				si.BackgroundColor = Colors.White
				Builder.AddSimpleItem(si)
			Next
	
			Builder.Show
		End If

End Sub
Sub GoogleList_SimpleItemSelected (Dialog As MaterialDialog, Position As Int, Item As MaterialSimpleListItem)

	ToastMessageShow(Item.Content, False)
	sign.SelectAccount(Item.Content)
	sign.RequestSign("UserLogin")
	Dialog.Dismiss
End Sub
Sub UserLogin(Data As Map,Login As Boolean)


	Log(Data.Get("id"))
	Log(Data.Get("email"))
	Log(Data.Get("name"))
	Log(Data.Get("family_name"))
	Log(Data.Get("picture"))

End Sub
Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

و یک کclass هم دارین به این صورت :

Private Sub Class_Globals
	Private clientId As String : clientId = "" 'enter client id here
	'Private clientSecret As String : clientSecret = "" 'client secret here
	Private AccessToken As String
	Private userInfoLink As String : userInfoLink = "https://www.googleapis.com/oauth2/v1/userinfo"
	Private m_GoogleAccountManager As clsB_GoogleAccountManager
	Private modules As Object
	Private evt As String
	Private l_GoogleAccounts() As Object
End Sub

'Step 1
Public Sub Initialize(sClientID As String,module As Object)
	
	clientId		= sClientID
	m_GoogleAccountManager.Initialize(0)
	modules			= module
	
End Sub

'Step 3
Sub SelectAccount(AccountName As String)
	
	For Each l_joAccount As JavaObject In l_GoogleAccounts
		If l_joAccount.GetField ("name") = AccountName Then
			Exit
		End If
	Next
	
	Dim l_sScopes As String = "email profile"
	Dim l_sAuthTokenType As String = $"oauth2:${l_sScopes}"$
	Dim l_sAccessToken As String = m_GoogleAccountManager.getAuthToken_foreground(l_joAccount,l_sAuthTokenType)
	
	AccessToken = l_sAccessToken
	
End Sub

'Step 2
Sub GetAccountList As List
	
	l_GoogleAccounts = m_GoogleAccountManager.getAccountsByType("com.google")
	
	If l_GoogleAccounts.Length = 0 Then Return Null
	
	Dim l_sAccountNames As List : l_sAccountNames.Initialize
	
	For Each l_joAccount As JavaObject In l_GoogleAccounts
		Dim l_sAccountName As String = l_joAccount.GetField ("name")
		l_sAccountNames.Add(l_sAccountName)
	Next
	
	Return l_sAccountNames
	
End Sub

'Step 4
Sub RequestSign(Event As String)
	
	evt = Event
	

	Dim dl As PersianFastNetwork
	dl.initialize("dl").BuildGetQuery(userInfoLink,"getUserDetails") _
	.addParametrs("access_token",AccessToken).executRequesAsString
	ProgressDialogShow2("درحال دریافت اطلاعات...",False)


	
End Sub
Sub dl_onGetStringOkListener(Result As String , Tag As String )
	ProgressDialogHide
	If Result <> Null Then
		Select Tag
			
			Case "GetAccessToken"
				
				Dim JSON As JSONParser
				Dim map1 As Map
				JSON.Initialize(Result)
				map1=JSON.NextObject
				AccessToken=map1.Get("access_token")
				CallSub3(modules,evt,map1,False)
					
			Case "getUserDetails"
				Dim JSON As JSONParser
				Dim map1 As Map
				JSON.Initialize(Result)
				map1 = JSON.NextObject
				CallSub3(modules,evt,map1,True)
			
		End Select
	End If
End Sub

خوب حالا من توضیحات لازم رو میدم

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

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

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

 

AddPermission(android.permission.GET_ACCOUNTS)
AddPermission(android.permission.USE_CREDENTIALS)
AddPermission(android.permission.INTERNET)

 

اول از همه ما باید وارد سایت گوگل بشیم از آدرس زیر که راحترین راه می باشد برای ساخت آیدی یا همان api keys

 

http://console.developers.google.com

 

و بعد از ساخت api key مربوطه اون رو در اکتیویتی main در قسمت id میزاریم و باهاش به گوشی لاگین میشیم که توش برنامه گوگل سرویس و پلی نصب باشه

 

مدرس : مجید گودرزی

 

این آموزش از قبل تو کانال بود فقط چون دیدیم ….. هایی کپی کدها رو تو سایت های خوشون منتشر دادن به اسم خودشون بنا به درخواست نویسنده آقای گودرزی دوباره داخل سایت گذاشته شد که ……………………. موفق باشید.

 

سورس حرفه ای مدیریت برنامه ها

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

 

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

 

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

 

اجرای برنامه

حذف برنامه

نمایش صفحه تنظیمات

نمایش مشخصات ( نسخه . پکیج نیم . لیست دسترسی ها )

ذخیره برنامه ( گرفتن بکاپ از فایل نصب )

ارسال برنامه ( اشتراک گذاری برنامه های نصب شده )

 

دانلود سورس

 

 

 

 

کار با EditText در بیسیک فور اندروید

با سپاس

 

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

 

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

 

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

Continue reading “کار با EditText در بیسیک فور اندروید”