آموزش برنامه نویسی اندروید (Android)
دسته بندی ( ۴۸۲ آموزش )
نمایش دسته بندی ها (۴۸۲ آموزش)
مباحث اولیه، در برنامه نویسی اندروید
مباحث اولیه، در برنامه نویسی اندروید 28
کار با Activity ها ، در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید 21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید 11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید 11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید 10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
کار با برنامه Android Studio ، در برنامه نویسی اندروید 9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید 3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید 9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید 23
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید 38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
ساخت دکمه (Button) ، در برنامه نویسی اندروید 7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید 12
ساخت EditText، در برنامه نویسی اندروید
ساخت EditText، در برنامه نویسی اندروید 6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید 13
طراحی متریال (Material Design)، در برنامه نویسی اندروید
طراحی متریال (Material Design)، در برنامه نویسی اندروید 3
پخش موسیقی، در برنامه نویسی اندروید
پخش موسیقی، در برنامه نویسی اندروید 5
نمایش انیمیشن، در برنامه نویسی اندروید
نمایش انیمیشن، در برنامه نویسی اندروید 3
تغییر ویژگی های کلی برنامه اندروید
تغییر ویژگی های کلی برنامه اندروید 3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید 2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید 10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید 21
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید 8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
حلقه ها (for و while و ...)، در برنامه نویسی اندروید 2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید 11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید 10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید 4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید 5
بازی سازی، در برنامه نویسی اندروید
بازی سازی، در برنامه نویسی اندروید 1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
به اشتراک گذاری (share)، در برنامه نویسی اندروید 5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید 15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
کار با پوشه های raw و assets ، در برنامه نویسی اندروید 2
عملیات های ریاضی، در برنامه نویسی اندروید
عملیات های ریاضی، در برنامه نویسی اندروید 13
کار با دوربین (Camera)، در برنامه نویسی اندروید
کار با دوربین (Camera)، در برنامه نویسی اندروید 3
کار با action bar ، در برنامه نویسی اندروید
کار با action bar ، در برنامه نویسی اندروید 4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
کار با کلاس ها (class) ، در برنامه نویسی اندروید 4
کار با package ها ، در برنامه نویسی اندروید
کار با package ها ، در برنامه نویسی اندروید 2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز) 2
امنیت، در برنامه نویسی اندروید
امنیت، در برنامه نویسی اندروید 1
Thread ها، در برنامه نویسی اندروید
Thread ها، در برنامه نویسی اندروید 3
سرویس ها (Service)، در برنامه نویسی اندروید
سرویس ها (Service)، در برنامه نویسی اندروید 9
BroadcastReceiver ، در برنامه نویسی اندروید
BroadcastReceiver ، در برنامه نویسی اندروید 0
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید 11
AsyncTask ، در برنامه نویسی اندروید
AsyncTask ، در برنامه نویسی اندروید 2
آرایه ها (Arrays)، در برنامه نویسی اندروید
آرایه ها (Arrays)، در برنامه نویسی اندروید 3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید 6
رنگ ها (Colors)، در برنامه نویسی اندروید
رنگ ها (Colors)، در برنامه نویسی اندروید 3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
Fragment ها و Tab بندی، در برنامه نویسی اندروید 8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید 1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید 3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید 1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید 2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
پرداخت درون برنامه ای، در برنامه نویسی اندروید 1
 پروژه های اندروید Open Source کاربران کلیدستان
پروژه های اندروید Open Source کاربران کلیدستان 2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید 5
مباحث عمومی، در برنامه نویسی اندروید
مباحث عمومی، در برنامه نویسی اندروید 35

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

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

در واقع، کدهای USSD ، ساز و کارهایی از پیش تعریف شده هستند که امکان ایجاد یک ارتباط بین ما و شبکه تلفن همراه (و سایر شبکه هایی که به آن متصل شده اند) را به ما می دهند و این ارتباط، به سادگی شماره گیری یک کد می باشد (مثل زمانی که شماره یکی از دوستانمان را شماره گیری می کنیم).

معمولا بانک ها و شرکت های مختلف، کد USSD مختص خود را دارند (طی قراردادی که با اپراتورهای تلفن همراه بسته اند). در واقع، اولین شماره موجود در کد USSD ، مختص یک بانک یا شرکت است و بعد، با قرار دادن یک علامت (علامت *)، شماره های دیگری در ساختار کد USSD قرار می گیرند که بستگی به ساز و کار آن سیستم تعریف شده برای آن بانک یا شرکت دارد.

به عنوان مثال، کد USSD اصلی مربوط به بانک ملت (شرکت به پرداخت ملت)، عبارت است از :

همان طور که مشاهده می کنید، در ابتدای کد USSD ، علامت * و در انتهای آن، علامت # قرار می گیرد. بنابراین چنانچه کد USSD بالا را شماره گیری کنیم، به سیستم متناظر با آن که مرتبط با بانک ملت است، متصل می شویم (مستقل از برنامه های اندروید نصب بر روی گوشی) :

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

راهنمای خود شرکت (در یک pdf) را در لینک زیر برای دانلود قرار داده ام، در صورت تمایل، می توانید نگاهی به ان بیندازید (تنها برای مبحث آموزشی، برای سایر استفاده ها، راهنما را از سایت اصلی شرکت دریافت کنید) :

پیام بالا نمایش دهنده آن است که یک کد USSD را شماره گیری کرده ایم و اکنون اپراتور تلفن همراه در حال پردازش آن است. سپس بر اساس ساختار مربوط به آن، گزینه های زیر نمایش داده می شود :

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

مشاهده می کنید که چند گزینه برای انتخاب نمایش داده شده است. بنابراین باید یک عدد بین 1 تا 7 را متناسب با گزینه انتخابی، در کادر وارد کرده و بر روی دکمه send اشاره کنیم. مثلا اگر عدد 1 را انتخاب کنیم، انتخاب های مربوط به مرحله دوم به صورت زیر نمایش داده می شود :

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

در همینجا این نکته مهم را ذکر می کنم که ساز و کار کدهای USSD به این صورت است که کاربر می تواند انتخاب های خود را در ادامه کد ذکر کند، یعنی در همان ابتدای شماره گیری، چون می داند در مرحله اول می خواهد گزینه شماره 1 را انتخاب کند، این انتخاب را در کد USSD ذکر کرده و سپس آن را شماره گیری می کند تا دیگر مرحله اول به وی نمایش داده نشود. یعنی کد USSD که شماره گیری می کنیم، به صورت زیر خواهد بود :

یک علامت * را بعد از عدد 712 قرار داده ایم و بعد عدد 1 که همان انتخاب ما برای مرحله اول است را قید کرده ایم. علامت # هم همیشه در انتهای کد قرار می گیرد. پس با شماره گیری کد بالا، مستقیما مرحله دوم نمایش داده می شود :

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

شماره گیری کد USSD توسط برنامه اندروید :

همان طور که بیان کردیم، کد USSD را با شماره گیری دستی می توان اجرا کرد. اما ما در برنامه نویسی اندروید، نیاز به اجرای آن توسط یک سری کد داریم که مثلا تعدادی از انتخاب های کاربر را توسط تعدادی عنصر Edittext دریافت کرده و آنها را در کد USSD قید کنیم و بعد با اشاره بر روی یک دکمه (Button)، کد USSD شماره گیری شود.

برای این منظور، یک پروژه اندروید را برای دانلود قرار داده ام که در آن، دو حالت کدنویسی شده است. یکی زمانی که تنها کد اصلی USSD اجرا می شود و بعد کاربر باید تمامی انتخاب ها را در ((ارتباط اصلی)) وارد کند و حالت دوم، زمانی است که کاربر یک یا چند انتخاب اول خود را در ((خود برنامه اندروید ما)) وارد می کند و بعد کد USSD را متناسب با انتخاب های وی ساخته و شماره گیری می کنیم. دقت کنید منظورمان از ((ارتباط اصلی))، ارتباطی است که بعد از شماره گیری کد USSD توسط برنامه اندروید ما، بین کاربر و شبکه تلفن همراه برقرار می شود و ما دیگر تسلطی بر آن نداریم (منطقی است، چون مثلا اگر می توانستیم اجرای آن را رصد کنیم، اطلاعات مربوط به کارت عابر بانک و رمز عبوری که کاربر در آن مراحل وارد می کند، قابل سرقت بود).

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

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

با اشاره بر روی دکمه اول، همان کد USSD اصلی شماره گیری می شود. اما اگر کاربر بخواهد که انتخاب مرحله اول را در خود برنامه اندروید ما تعیین کند، در پایین صفحه، شماره مورد نظرش را در عنصر EditText وارد کرده (به عنوان مثال ما نوشته ایم که عدد 1 یا 2 را انتخاب کند) و بعد بر روی دکمه دوم (در پایین صفحه)، اشاره می کند تا ما انتخاب وی را از EditText دریافت کرده و به کد USSD اصلی اضافه می کنیم و سپس شماره گیری کد USSD شروع می شود (در صورت تمایل، می توانید کدهایی را برای چک کردن صحت اطلاعات ورودی کاربر اجرا کنید، یعنی مراقب باشید که یک وقت کاربر خودش یک سری کد USSD را در این مرحله وارد نکند که ناخواسته، فرآیندی غیر از فرآیند مورد نظر شما اجرا شود، در کل هر وقت از کاربران ورودی دریافت می کنید، مراقب کاربران کنجکاو باشید !).

لینک های دانلود :

اما اکنون کدهای برنامه اندروید را شرح می دهیم.

کدهای فایل activity_main.xml که لایه گرافیکی متناظر برای Activity را تعریف می کند :

که در آن، دو دکمه (Button)، دو TextView ، یک EditText و یک خط افقی را تعریف کرده ایم. همچنین از ScrollView برای ایجاد امکان اسکرول به بالا و پایین (برای مواقعی که کل محتوا از اندازه صفحه نمایش بزرگتر است) استفاده نموده ایم.

کدهای فایل MainActivity.java که همان Activity اصلی برنامه اندروید است :

توضیحاتی در مورد کدهای Activity :

قبلا شماره گیری را در کلید شماره 2637 شرح داده بودیم. فقط یک نکته مهم وجود دارد و آن این است که اگر علامت # را به صورت ساده در شماره ذکر کنیم، این علامت، شماره گیری نخواهد شد. بنابراین باید Uri.encode را برای آن به کار ببریم. یعنی به صورت زیر :

بعد رشته encodedHash را به جای علامت # در رشته (String) مربوط به تعریف شماره، قرار می دهیم (جایگزین می کنیم). برای این منظور، از روش replace استفاده می کنیم. بنابراین کد USSD به صورت زیر تعریف می شود :

همان طور که در کلید شماره 2637 تذکر داده ایم، برای شماره گیری، باید اجازه دسترسی زیر در فایل AndroidManifest.xml از پروژه اندروید ذکر شود :

با اجرای برنامه اندروید، اگر بر روی دکمه اول اشاره کنیم، کد USSD اصلی ارا شده و صفحه زیر را مشاهده می کنیم :

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

زیرا کد USSD زیر اجرا شده است :

اما چنانچه در EditText ، عدد 1 را وارد کرده و بعد بر روی دکمه دوم اشاره کنیم، صفحه زیر را مشاهده می کنیم :

معرفی کد USSD (برای پرداخت وجه، دریافت اطلاعات، ثبت اطلاعات و ...) و بیان روش هایی برای اجرای کدهای USSD در برنامه نویسی اندروید (به همراه ارائه یک پروژه اندروید)

زیرا کد USSD زیر اجرا شده است :

نکته

اگر برنامه اندرویدی برای پرداخت وجه توسط کد USSD بسازیم (یا هر نوع فرآیند دیگر که نیاز به دریافت تایید انجام فرآیند داشته باشیم)، باید به شکلی متوجه شویم که آیا کاربر فرآیند پرداخت وجه را با موفقیت طی کرده است یا نه. این موارد، بستگی به ساختارهای کدنویسی که بانک در اختیار ما قرار می دهد دارد و بنابراین توصیه می کنم که به راهنمای خود بانک ها و شرکت های مورد نظرتان مراجعه نمایید.

نویسنده علیرضا گلمکانی
شماره کلید 3019
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 5 2 3
علیرضا
۱۳۹۵/۰۹/۰۷
۰۰:۱۱

دمتون گرم خیلی آموزش مفیدی بود......
اجرتون با خدا

مهدی
۱۳۹۵/۰۹/۱۶
۲۱:۴۱

سلام
با تشکر
لطفا بفرمایید در مراجلی از ussd که محتوا را از ورودی می گیرد مانند شماره حساب
رشته به چه صورت باید پاس شود؟
مثلا رشته ای که بتوانیم کد ussd  حواله به حساب فلان شماره و مبلغ خاصی را قرار بدهیم؟

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com