basic4android
453 subscribers
74 photos
9 videos
275 files
97 links
‼️لطفا اگه مطلبی مشاهده کردین که میدونستین ازطرف صاحبش بصورت پولی منتشرشده؛لطفااطلاع بدین تاسریعا پاک بشه(فقط مطالب رایگان گذاشته میشه)🌺

محصولات
t.me/basic4androiid/410


گروه سوال و رفع اشکال
t.me/Andriod_Group
ادمین
@davoodebrahimi
Download Telegram
#بیسیک_فور_اندروید
#B4A
. update
. database
. update database

📝نکته :

🔰 چیکار کنیم وقتی دیتا بیس رو آپدیت کردیم،اطلاعات جدید موقع اپدیت دادن به برنامه لود بشن.
چون ما اول میایم دیتا بیس رو کپی میکنیم و بعد ازش استفاده میکنیم،وقتی تغییراتی توی دیتا بیس ایجاد کردیم تو حالت عادی اطلاعات جدید لود نمیشه چون تو شرط کپی دیتا بیس گفتیم اگه وجود داشت دیگه کپی نکنه.

🔹فرض میکنیم اکتیویتی اول ینی main اکتیویتی خالی هست و به عنوان اسپلش ازش استفاده میکنیم و اکتیویتی منو menu،اکتیویتی هست که توش دستور کپی شدن دیتابیس رو دادیم.
حالا اگه برنامه در حال تست هست و هربار اطلاعات جدیدی اضافه میکنیم و میخوایم لود کنیم که میایم تو اکتیویتی مین دستور پاک شدن دیتابیس از حافظه دیار اینترنال رو میدیم تا تو اکتیویتی menu دوباره کپی بشه.

File.Delete(File.DirInternal,"database.db")

🔸اما اگه برنامه رو میخوایم به مارکت ارسال کنیم یا خروجی نهایی میخوایم ازش بگیریم برا اینکه هر دفعه که کاربر وارد برنامه میشه دیتا بیس حذف و کپی نشه، میتونیم از کد های زیر استفاده کنیم.هربار که بصورت رسمی بخوایم آپدیت بدیم باید ورژن کد یدونه ببریم بالا پس کدای زیر مشکل رو حل میکنن

If File.Exists(File.DirInternal,"check_db.txt")=False Then
File.WriteString(File.DirInternal,"check_db.txt",Application.VersionCode-1)
End If

Sleep(50)

If Application.VersionCode > File.ReadString(File.DirInternal,"check_db.txt") Then File.Delete(File.DirInternal,"database.db") File.WriteString(File.DirInternal,"check_db.txt",Application.VersionCode)
End If

1️⃣خط اول گفتیم چک کن ببین فایل تکستی به اسم check_db هست یا نه اگه نبود ....
2️⃣خط دو گفتیم اگه فایل check_db نبود بیا ایجاد کن و ورژن کدی که الان هست رو یکی کم کن وداخل فایل تکست بنویس(برای اینکه دفعه اول اینکار صورت بگیره یکی ازش کم میکنیم)
3️⃣ خط 3 که هیچ
4️⃣خط 4گفتیم 50 هزارم ثانیه بعد کد های زیررو اجرا کنه
5️⃣خط 5 گفتیم اگه ورژن کد برنامه از مقداری که داخل فایل تکست ذخیره شده بیشتر بود بیاد...
6️⃣ خط 6 گفتیم بیاد دیتابیس رو با اسم database از حافظه دیار اینترنال پاک کنه
7️⃣ و خط 7 هم گفتیم مقدار ورژن کد جدید رو بریزه داخل فایل تکستمون

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

📌منبع : (@basic4androiid)

@basic4androiid
This media is not supported in your browser
VIEW IN TELEGRAM
#بیسیک_فور_اندروید
#B4A
. RecyclerView
. hitexRecyclerView
🔰سورس ریسایکلر ویو افقی ( هایتکس ریسایکلر ویو )

🗒دانلود سورس👇
https://t.me/basic4androiid/281

📌منبع : (@basic4androiid)

@basic4androiid
RecyclerView.rar
682.6 KB
#بیسیک_فور_اندروید
#B4A
. RecyclerView
. hitexRecyclerView
🔰سورس ریسایکلر ویو افقی ( هایتکس ریسایکلر ویو )

🎥مشاهده گیف👇
https://t.me/basic4androiid/280

📌منبع : (@basic4androiid)

@basic4androiid
This media is not supported in your browser
VIEW IN TELEGRAM
#بیسیک_فور_اندروید
#B4A
. AriaLib
. PNBroadcastReceiver

🔰سورس چک کردن وضعیت اینترنت (سرویس) + کتابخانه ها

🗒دانلود سورس👇
https://t.me/basic4androiid/283



📌منبع : (@basic4androiid)

@basic4androiid
check_net.rar
281.8 KB
#بیسیک_فور_اندروید
#B4A
. AriaLib
. PNBroadcastReceiver

🔰سورس چک کردن وضعیت اینترنت (سرویس) + کتابخانه ها

🎥گیف عملکرد👇
https://t.me/basic4androiid/282



📌منبع : (@basic4androiid)

@basic4androiid
#بیسیک_فور_اندروید
#B4A
. FONT
. FONTAWESOME
. MATERIALICONS

📝نکته :

🔰قبلا برای استفاده از فونت آیکون یا متریال آیکون باید فونت رو به پوشه فایل برنامه اضافه میکردیم و مثل بقیه فونت ها ازش استفاده میکردیم اما تو نسخه های اخیر بیسیک ؛این دوتا فونت رو داخل پوشه لایبرری قرار میدن هرچند هیچ موقع نسخه آخر این فونت هارو نمیذارن اما برای استفاده ازشون کافیه کد زیر رو بنویسیم.

btn_icon.Typeface=Typeface.MATERIALICONS   متریال آیکون

btn_icon.Typeface=Typeface.FONTAWESOME
فونت آیکون



به فرض میخوایم به یه باتن یا.... یه آیکون ساعت بدیم.توی اکتیویتی کلیک راست میکنیم و گزینه اخر رو انتخاب میکنیم Icon picker بعد اون بالا قسمت سرچ داره,چیزی که میخوایم رو سرچ میکنیم اگه داخل متریال آیکون نبود داخل آیکون فونت میگردیم و وقتی پیدا کردیم روش کلیک میکنیم که تو حافظه کلیپبورد ذخیره میشه بعد صفحه آیکون هارو میبندیم و تکست باتن رو مساوی چیزی که تو کلیپبورد ذخیره شده قرار میدیم و مطابق با آیکونی که انتخاب کردیم بهش فونت میدیم.سایز و رنگ و ... هم که مثل حالت معمولی داده میشه.

btn_icon.Text=Chr(0xF017)
tn_icon.Typeface=Typeface.FONTAWESOME

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

📌منبع : (@basic4androiid)

@basic4androiid
hidingToolbar.zip
7.8 KB
#بیسیک_فور_اندروید
#B4A
. hidingToolbar
. Toolbar


🔰سورس مخفی کردن تولبار هنگام اسکرول کردن اسکرول ویو


📌منبع : انسرسنتر(@aminshahedi)

@basic4androiid
This media is not supported in your browser
VIEW IN TELEGRAM
#B4A
. intro
🔰سورس اینترو؛راهنمای ابتدایی برنامه شبیه تلگرام


دانلود سورس

تست APK
🔑پسورد دانلود: parniyansoft.ir

📌منبع:پرنیان سافت
@basic4androiid
intro.apk
845.8 KB
#B4A
. intro
🔰سورس اینترو؛راهنمای ابتدایی برنامه شبیه تلگرام


دانلود سورس

مشاهده گیف عملکرد
🔑پسورد دانلود: parniyansoft.ir

📌منبع:پرنیان سافت
@basic4androiid
Ariaglide.rar
16 KB
#B4A
. Ariaglide

🔰سورس دانلود ؛ نمایش و ذخیره عکس با استفاده از آریاگلاید
📚کتابخانه آریا گلاید(*فایلglide-3.7.0 داخل پوشه موجود نیست.)


نمایش گیف عملکرد

📌منبع:(@basic4androiid)
@basic4androiid
This media is not supported in your browser
VIEW IN TELEGRAM
#B4A
. Ariaglide

🔰سورس دانلود ؛ نمایش و ذخیره عکس با استفاده از آریاگلاید
📚کتابخانه آریا گلاید


دانلود سورس

📌منبع:(@basic4androiid)
@basic4androiid
AriaGlide v2.5.zip
411.5 KB
#B4A
. Ariaglide

📚کتابخانه آریا گلاید (شامل 3عدد فایل) ورژن 2.5

🔰دانلودعکس و نمایش باسرعت بالا و یکسری امکانات دیگر


🌐تاپیک کتابخانه در انجمن

📌منبع:(امین شاهدی)

@basic4androiid
yon.ir/bgmU7

#B4A
. Maven artifact not found: com.android.support/appcompat-v7


🔰درصورتی که SDK آپدیت هست و باز این خطا میاد؛دقت کنین فایل های API داخل پوشه platforms،داخل پوشه های مضاعف نباشن.ینی داخل پوشه پلتفرمز پوشه ای با اسم مقدار api باشه (زیاد مهم نیس چی باشه خود بیسیک تشخیص میده) که فایلای api مستقیم داخلش باشه.

📌منبع: انسرسنتر(iranam)

@basic4androiid
#بیسیک_فور_اندروید
#B4A
. colorPrimary
. colorPrimaryDark
. colorAccent
📝نکته:

🔰استفاده از رنگ های اصلی تم(3 رنگ نوشته شده در منیفست)در محیط کدنویسی

برای استفاده از این رنگ ها یه متغیر از appcompat میسازیم و از گزینه GetThemeAttribute استفاده میکنیم به این صورت که اتریبیوت نیم که یکی از (colorPrimary,colorPrimaryDark,colorAccent) هست رو داخل پرانتز مینویسیم
بطور مثال اگه میخوایم رنگ تب لایوتمون همرنگ با استاتوس بار باشه کد زیر رو مینویسیم.
Dim appcomp As AppCompat  TabLayout.Color=appcomp.GetThemeAttribute("colorPrimaryDark")

🔸همچنین با استفاده از متغیر اپ کامپت میتونیم ارتفاع استاتوس بار، اکشن بار،نویگیشن بار و مقدار سایه ویو هارو بگیریم یا به ویوها موقع کلیک شدن افکت بدیم


@basic4androiid
#بیسیک_فور_اندروید
#B4A
. SDK
📝نکته:

‼️برای چند مورد SDK آپدیت ارایه شده (پلتفرم تولز؛instantapps واقع در پوشه گوگل extras و چند مورد دیگه؛؛همچنین قسمت sdkmanager واقع در منوی تولز+configure paths که میرفتیم تیک برخی موارد که اپدیت داده شده بود رو میزدیم و آپدیت میکردیم)
ظاهرا آپدیت ارایه شده باگ داره یا چی که بعد آپدیت پروژه کامپایل میشه اما وارد برخی اکتیویتی ها که از بعضی کتابخونه ها مثل دیزاین ساپورت استفاده شده نمیشه و خطا میده
توی 👈سایت مرجع 👉هم ارل جدیدا دلیل این خطا رو اپدیت SDK گفته.پس اگه مجبور نیستین فعلا آپدیت نکنین.
یکی از فربانیا خودمم که با هیچ راهی مشکل حل نشد که در نهایت SDK حذف و دوباره نصب شد و درست شده فعلا

@basic4androiid
B4A_V8.50.rar
7.2 MB
#بیسیک_فور_اندروید
#B4A
. B4A v 8.50

🔰دانلود نسخه جدید بیسیک4اندروید ورژن 8.50 به همراه کرک

🌐مشاهده تغییرات

📌منبع: fileniko.com

@basic4androiid
#بیسیک_فور_اندروید
#B4A
. dex
. multi-dex
. multidex
📝نکته مهم :

🔰گاها توی برخی پروژه های سنگین که کتابخونه های زیادی هم داخلش فعال و استفاده شده به خطا های عجیب غریبی برمیخوریم مانند خطای زیر که موقع تبدیل کدها اتفاق میافته و زیرش کتابخانه های استفاده شده داخل برنامه ؛؛چاپ (*و احتمالا تعداد متودهاشون پشتشون نوشته) میشه.

Convert byte code - optimized dex. Error
trouble writing output: Too many field references to fit in one dex file: 74695; max is 65536.
You may try using multi-dex. If multi-dex is enabled then the list of classes for the main dex list is too large.

🔸دکس ها محدودیت متود دارن و اگه بیش از 64 هزار متد باشه برنامه کامپایل نمیشه علتش این نیست که شما ۶۴ هزار متود تولید کردین ,بلکه کتاب خانه هایی که compile شدن سبب بروز این خطا میشن اگه هیچ کتاب خانه ای استفاده نکرده باشین کمتر به این مشکل بر می خورید ولی خب این مشکل فقط منوط به کتاب خانه ها نیست ! بلکه اگر بخش کدنویسی برنامه شما نیز زیاد باشد شما به این مشکل بر خواهید خورد.

خود Dex یا Dalvik Executable به فایل های bytecode که قابل اجرا هستند میگن که شامل کد های کامپایل شده ی نوشته شده توسط شما و یکسری کلاس های default خود برنامه که برای اجرای اپلیکیشن لازمه. محدودیت در dex به مقدار تعداد متودی که هر یک فایل dex میتونه داشته باشد که برابر با ۶۴ هزار یا دقیق تر ۶۵,۵۳۶ هس محدودیت dex یا dex limit میگن

🔹زمانی که اپلیکیشن شما بیش از یک فایل dex داشته باشد به آن Multidex میگن.

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

🔸روش اول اینکه توی اکتیویتی مین کنار کد های اطلاعات پروژه مثل ورژن نیم و ورژن کد و ... کد زیر رو قرار بدین
#MultiDex: True

این کد اجازه استفاده از مولتی دکس رو میده ینی متود های بیشتر از ۶۵,۵۳۶ دریک دکس دیگه منتقل میشن.
**مولتی دکس از ورژن 6.8 به بالا اصلاح شده داخل بیسیک به خوبی اجرا میشه و در صورتی که از ورژن پایین تر استفاده میشه با توجه به گفته های ارل فایل Dexer.jar رو دانلود و در لیست کتابخونه های خود بیسیک که در مسیر نصب بیسیک هست با فایل دکسر قبلی عوض کنید.

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

**ضمنا مطالب گفته شده راجع به دکس و دکسرها به اندروید مربوط میشه و ربطی به بیسیک و استودیو و ... نداره.

🌐 stackoverflow

🌐B4X

🌐programchi


📌منبع: (@basic4androiid)
@basic4androiid
yon.ir/9kIss

#بیسیک_فور_اندروید
#B4A
. fragments
. Amir_Fragment

📚
کتابخانه Amir_Fragment آماده شد.
برای اولین بار فرگمنت را در b4a استفاده کنید.

فرگمنت چیست⁉️

🔸فرگمنت (Fragment) را می توان به عنوان یک زیر مجموعه و یا یک بخش از اکتیویتی (sub-activity) در نظر گرفت که در نهایت قسمتی از رابط کاربری را تشکیل داده و به واسطه آن یک رابط کاربری چند قسمتی ایجاد می شود. فرگمنت در اندروید مشابه آنچه قبلا برای اکتیویتی ها آموختیم، چرخه حیات و رفتار خاص خود را دارد، رویدادهای ورودی را دریافت می کند و از دو قسمت لایه واسط کاربری و کد عملیاتی تشکیل شده است. هر اکتیویتی می تواند چندین فرگمنت را در خود جای دهد و هر فرگمنت می تواند در چندین اکتیویتی استفاده شود. بنابراین فرگمنت به تنهایی قابلیت اجرا ندارد و به اکتیویتی والد و چرخه حیات آن وابسته است. فرگمنت از API 11 (اندروید Honeycomb) اضافه شد.

🔹 در اندروید Fragment بسیار پر کاربرد است و تقریبا در هر نرم افزار حرفه‌ای می‌توان آن را مشاهده کرد.استفاده از Fragment منجر به ماژولار شدن نرم افزار شما می‌شود .

🔻یک مثال ساده برای استفاده در تبلت و گوشی :
وقتی برنامه در سایز تبلت اجرا بشه دو فرگمنت رو در اکتیویتی A به نمایش میزاره و وقتی داخل یک سایز گوشی اجرا بشه، فضای کافی برای نمایش هر دو فرگمنت وجود نداره پس اکتیویتی A فقط شامل فرگمنت A شده که یک لیست رو نمایش می ده و موقعی که برروی آیتمی از لیست کلیک شد، اکتیویتی B که شامل فرگمنت B می شه اجرا میشه.

تست APK👇
https://t.me/basic4androiid/297
________________

⚠️ قیمت کتابخانه ۲۰ هزار تومنه.
👈🏻 برای خرید به ایدی زیر پیام بدید 👌🏻🌹
🆔 @KingAmir272
Amir_Fragment.apk
1.9 MB
#بیسیک_فور_اندروید
#B4A
. fragments
. Amir_Fragment


🔸نمونهAPK از کارکرد Amir_Fragment

🔹توضیحات



@basic4androiid
Forwarded from اتچ بات
#بیسیک_فور_اندروید
#B4A
. RecyclerView
. hitexRecyclerView
.hidden toolbar

🔰سورس ریسایکلر ویوعمودی ( هایتکس ریسایکلر ویو )

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

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

استفاده از آریا گلاید برای لود عکس ها از پوشه فایل پروژه(لود عکس ها در اندازه اصلی بدون کشیدگی و فشردگی)

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


🗒دانلود سورس👇

https://t.me/basic4androiid/299


📌منبع : (@basic4androiid)

@basic4androiid
lv.rar
675 KB
#بیسیک_فور_اندروید
#B4A
. RecyclerView
. hitexRecyclerView
.hidden toolbar

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

مشاهده گیف👇

https://t.me/basic4androiid/298

@basic4androiid