# 🎓 دورهٔ کامل ساخت اپلیکیشن اندروید با Basic4Android
**از صفر تا انتشار در بازار — ۴ فصل، ۶ پروژهٔ کد کامل، تمریندار**
اگر میخواهید اپ اندروید بسازید و از آن درآمد داشته باشید، اما نمیخواهید ماهها
درگیر جاوا و کاتلین شوید، این دوره برای شماست.
---
## 📖 این دوره چه فرقی با آموزشهای پراکنده دارد؟
| مشکل آموزشهای پراکنده | راهحل این دوره |
|---|---|
| هر ویدیو یک تکه از پازل | مسیر پیوسته: از نصب تا انتشار |
| کدها اجرا نمیشوند | ۶ پروژهٔ کامل که هر کدام F5 میشود |
| به فارسی و راستبهچپ پرداخته نمیشود | فصل کامل دربارهٔ RTL، ارقام فارسی، فونت |
| خطاهای واقعی گفته نمیشود | بخش «دامهای واقعی» در هر فصل |
| تئوری بدون مسیر درآمد | فصل ۴: امضا، بازارها، تبلیغات، بازاریابی |
---
## 📚 سرفصلها
### فصل ۱ — شروع کار
نصب B4A و Android SDK · آناتومی پروژه · متغیر و انواع داده · شرط و حلقه ·
اولین اپ روی گوشی · ابزار دیباگ · **دامهای رایج تازهکارها**
### فصل ۲ — رابط کاربری حرفهای
سه واحد اندازهگیری (dip / %x / px) · اسکرولویو درست (منبع ۹۰٪ باگها) ·
چیدمان واکنشگرا · فارسی و راستبهچپ · فونت اختصاصی · ارقام فارسی و قیمت تومانی ·
**«چند نما، یک تابع»** · تایمر · لیست محصولات دوستونه
### فصل ۳ — داده، ذخیرهسازی و اینترنت
`File.DirInternal` و ذخیرهسازی امن · **SQLite:** ساخت جدول، درج امن با `?`،
Cursor، حذف، Transaction · **HttpJob** برای API · تجزیهٔ JSON · کش تصویر ·
مدیریت خطای شبکه (کاربر آفلاین)
### فصل ۴ — انتشار، بازاریابی و درآمد
چکلیست انتشار · امضای اپ (و دام گم کردن کلید) · کافهبازار، مایکت، سامسونگ، گوگلپلی ·
**۶ روش درآمد** (اپ پولی، نسخهٔ کامل، تبلیغات تپسل، درونبرنامهای، فروش سورس، سفارشیسازی) ·
بازاریابی بدون بودجه · اشتباههای پرهزینه
---
## 💻 ۶ پروژهٔ کد کامل
| فایل | چیست | مفاهیمی که یاد میدهد |
|---|---|---|
| `01-شمارنده.bas` | شمارندهٔ ماندگار | رویداد، ذخیرهسازی، Try/Catch |
| `02-ماشین-حساب-ساده.bas` | چهار عمل اصلی | ورودی کاربر، Select Case، قالببندی عدد |
| `03-لیست-با-جستوجو.bas` | لیست کتاب | ScrollView، List، جستوجوی زنده |
| `04-یادداشت-SQLite.bas` | دفتر یادداشت | SQLite، Cursor، حذف با تأیید |
| `05-آب-و-هوا-API.bas` | آبوهوای زندهٔ تهران | HttpJob، JSON، مدیریت آفلاین |
| **`دفترچه-خرج.bas`** | **پروژهٔ پایانی:** دفترچهٔ خرج با جمع کل | ترکیب همهٔ مفاهیم |
هر فایل را در B4A به پروژه اضافه کنید و `F5` بزنید — همه اجرا میشوند.
---
## 📕 کتاب یکپارچه
فایل `کتاب-دوره.html` را با هر مرورگری باز کنید (حتماً **آفلاین** کار میکند):
همهٔ فصلها، جدولها، کدها و پیوست کامل سورسها در یک فایل، با طراحی راستبهچپ.
---
## 🎯 برای چه کسی مناسب است؟
- ✅ کسی که هیچ آشنایی با برنامهنویسی اندروید ندارد
- ✅ کسی که با زبانهای دیگر (پایتون، PHP، VB) کار کرده و میخواهد اپ بسازد
- ✅ کسی که قبلاً B4A را شروع کرده ولی در چیدمان UI یا ذخیرهسازی گیر کرده
- ✅ کسی که میخواهد اپ بسازد و از آن **درآمد** داشته باشد
- ❌ مناسب کسانی که میخواهند بازی سهبعدی سنگین بسازند (B4A برای این کار نیست)
---
## 🛠️ پیشنیازها
| مورد | نیاز |
|---|---|
| Basic4Android | نسخهٔ رایگان برای یادگیری کافی است |
| Android SDK | همراه با B4A نصب میشود |
| دانش برنامهنویسی | **لازم نیست** — از پایه شروع میشود |
| اینترنت | فقط برای چند بخش (API) لازم است |
---
## 🔥 چرا این دوره با تجربهٔ واقعی نوشته شده؟
همهٔ «دامها» در این دوره، خطاهایی هستند که خودمان در پروژههای واقعی به آنها خوردهایم:
- `Double.NaN` در B4A قابل اتکا نیست → از مقدار نگهبان استفاده کنید
- نامگذاری تابعی به اسم `Power` یا `Ceil` → **بازگشت بیپایان** (B4A تابع کتابخانه را صدا میزند)
- `Const` در B4A گاهی کامپایل نمیشود → `Dim`
- فراموش کردن `sv.Panel.Height` → اسکرول کار نمیکند
- یک `Sub` نمیتواند دو رویداد بگیرد، ولی چند نما میتوانند یک نام رویداد داشته باشند
- تابع رشتهای را با عدد صدا زدن → خطای زمان اجرا (`"1,000"` نمیتواند به `Long` تبدیل شود)
---
## 📄 مجوز
استفادهٔ شخصی خریدار مجاز است. بازنشر، فروش مجدد یا انتشار عمومی فایلهای دوره مجاز نیست.
---
💬 سؤالی دارید؟ از بخش پشتیبانی فروشگاه پیام بدهید.
| دستهبندی | دورههای آموزشی |
| تاریخ انتشار | ۲۲ شهریور ۱۴۰۵ - ۰۱:۵۴ |
| تعداد بازدید | ۳ |
| تعداد فروش | ۰ |
| فرمت تحویل | فایل دانلودی (بعد از پرداخت آنی فعال میشود) |
| پشتیبانی | تیکت پشتیبانی در پنل کاربری |
ویژگیهای کلیدی
- ۴ فصل کامل و پیوسته: از نصب B4A تا انتشار در بازار
- ۶ پروژهٔ کد کامل که همه با F5 اجرا میشوند
- کتاب یکپارچه HTML (آفلاین، راستبهچپ، با همهٔ کدها)
- پروژهٔ پایانی: اپ «دفترچهٔ خرج» با SQLite و جمع کل
- فصل اختصاصی فارسی و راستبهچپ: ارقام فارسی، قیمت تومانی، فونت
- آموزش SQLite: ساخت جدول، درج امن، Cursor، Transaction
- آموزش API و JSON با HttpJob + مدیریت خطای شبکه
- چیدمان واکنشگرا و اسکرولویو درست (منبع ۹۰٪ باگهای B4A)
- فصل درآمد: امضای اپ، کافهبازار/مایکت/گوگلپلی، تبلیغات تپسل، درونبرنامهای
- بازاریابی بدون بودجه + الگوی آمادهٔ متن توضیحات اپ
- بخش «دامهای واقعی» در هر فصل — از تجربهٔ پروژههای واقعی
- تمرین پایان هر فصل با پاسخ
- بدون نیاز به دانش برنامهنویسی قبلی
هنوز نظری ثبت نشده است. اولین نفر باشید!
برای ثبت نظر وارد شوید. (ثبت نظر پس از خرید فعال میشود)
' ═══ نمونهای از کد پروژههای دوره ═══
' از پروژهٔ پایانی (دفترچهٔ خرج) — ذخیرهسازی و نمایش لیست
Sub Activity_Create(FirstTime As Boolean)
sql.Initialize(File.DirInternal, "expenses.db", True)
sql.ExecNonQuery("CREATE TABLE IF NOT EXISTS expenses (" & _
"id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, amount INTEGER, dt TEXT)")
BuildUI
Refresh
End Sub
' خواندن مبلغ از متن کاربر — ارقام فارسی/عربی و کاما را هم میفهمد
Private Sub ParseAmount(txt As String) As Long
Dim s As String = ToEnDigits(txt)
Dim out As StringBuilder
out.Initialize
For i = 0 To s.Length - 1
Dim ch As String = s.SubString2(i, i + 1)
If ch <> "," And ch <> "٬" And ch <> " " Then out.Append(ch)
Next
' ...
End Sub
' درج امن (هرگز رشته را داخل SQL نچسبانید!)
sql.ExecNonQuery2("INSERT INTO expenses (title, amount, dt) VALUES (?, ?, ?)", _
Array As Object(title, amount, DateTime.Date(DateTime.Now)))
⚠ دوره شامل ۶ پروژهٔ کامل + کتاب ۸۸ کیلوبایتی با همهٔ فصلهاست.