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

  آموزش ساخت صفحه ارتباط باما به صورت آنلاین

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

با یک آموزش کاربردی دیگر در خدمت شما هستیم و اینبار میخواهیم به این موضوع بپردازیم که چگونه در برنامه یک بخش برای ارتباط کاربران با خودمان ایجاد کنیم که با استفاده از آن بتوانند از طریق ایمیل پیامی را برای ما ارسال کنند !

برای این کار به یک “هاست” نیاز دارید , ابتدا یک فایل با نام contact.php یا هر اسمی خودتان دوست دارید در هاست خودتان ایجاد کنید و کد زیر را در آن قرار دهید :

<?php
// BasicLearn.ir
$EmailAdress = 'no-reply@'.$_SERVER['HTTP_HOST'];
$headers = 'From: '.$EmailAdress."\r\n".'Reply-To: '.$EmailAdress."\r\n".'X-Mailer: PHP/'. phpversion();
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$message = '<div dir="rtl"><font face="tahoma" size="3">'.$_POST['message'].'</font></div>';
mail($_POST['mailto'], $_POST['subject'], $message, $headers);
// BasicLearn.ir
?>

حالا وارد بیسیک فور اندروید میشویم و این فرم مو.رد نظرمان را در دیزاینر ایجاد میکنیم که شامل سه عدد EdiText برای وارد کردن نام , موضوع و متن پیام میباشد و یک Button هم ایجاد میکنیم برای ارسال پیام :

حالا تمامی این EditText  همراه با رویداد کلیک Button به اکتیویتی معرفی میکنیم . کتابخانه OkHttpUtils2 راهم فعال میکنیم و آن را با نام ht در Globals تعریف میکنیم :

Sub Globals
 Private Edt_Name As EditText
 Private Edt_Subject As EditText
 Private Edt_Message As EditText
 Dim ht As HttpJob
End Sub

در بخش Activity_Create هم Layout ساخته شده را لود میکنیم :

Sub Activity_Create(FirstTime As Boolean)
 Activity.LoadLayout("Main")
End Sub

و اما در رویداد مربوط به کلیک دکمه “ارسال” کد های زیر را قرار میدهیم :

Sub Btn_Send_Click
 If Edt_Name.Text = "" Or Edt_Subject.Text = "" Or Edt_Message.Text = "" Then
 ToastMessageShow("لطفا تمامی موارد درخواست شده را تکمیل کنید",False)
 Return
 End If
 
 Dim YourEmailAddress As String = "hamedbagheri@ymail.com"
 Dim Subject As String = Edt_Subject.Text & " - پشتیبانی اپلیکیشن"
 Dim Message As String = Edt_Message.Text &"<br>از طرف : " & Edt_Name.Text
 
 ht.Initialize("ht",Me)
 ht.PostString("https://YourAddress.com/contact.php","mailto="&YourEmailAddress&"&subject="&Subject&"&message="&Message)
 ProgressDialogShow2("در حال ارسال ...",False)
End Sub
  • در ابتدا بررسی میکنیم که اگر EditText هم خالی بودند و کاربر چیزی را وارد نکرده بود , ارسال انجام نشود .
  • به جای “hamedbagheri@ymail.com” آدرس ایمیلی که میخواهید پیام کاربران به آن ارسال شود را وارد کنید .
  • در کد بالا دو متغیر از نوع String با نام های Subject و Message ایجاد کرده ایم برای تنظیم متن و عنوان پیام .
  • در نهایت آدرس فایل php که در هاستتان ایجاد کردید را جایگزین “https://youraddress.com/contact.php” کنید .
  • یک ProgressDialog هم نمایش میدهیم تا روند ارسال پیام را مشاهده کنیم .
مطلب پیشنهادی :  حذف انیمیشن پیشفرض اکتیویتی در B4A

حالا با کلید روی دکمه “ارسال” برنامه به فایل “php” متصل میشود و پیام را به ایمیل تنظیم شده ارسال میکند و لازم است بخش JobDone را هم ایجاد کنیم تا بفهمیم پیام ارسال شده است یا نه :

Sub JobDone (job As HttpJob)
 ProgressDialogHide
 If job.Success Then
 MsgboxAsync("پیام شما با موفقیت ارسال گردید ...","با تشکر !")
 Else
 MsgboxAsync("پیام شما ارسال نشد . اتصال به اینترنت را بررسی کنید و مجددا پیامتان را ارسال کنید ...","خطا !")
 End If
 job.Release
End Sub

در کد بالا , ابتدا ProgressDialog را مخفی میکنیم و در صورتی که ایمیل یا پیام با موفقیت ارسال شده باشد توسط یک پیغام نتیجه را در برنامه نمایش میدهیم ور در غیر اینصورت اگر پیام ارسال نشد ( مثلا به دلیل عدم اتضال به اینترنت ) باز هم یک پیغام نمایش میدهیم .

پس تا اینجا کار ما تمام شده است و بخش “ارتباط باما” تکمیل شده است . البته این نکته را هم در نظر داشته باشید اگر هاست شما مجهز به ssl نیست ( یعنی آدرس به جای https با http شروع میشود ) برنامه در اندروید 9 به بالا ارور میدهد ( یا پیام ارسال نمیشود ) و برای رفع این مشکل کافیست کد زیر را به Manifest اضافه کنید :

SetApplicationAttribute(android:usesCleartextTraffic, "true")

پس حالا میرویم که برنامه را تست کنیم . یک متنی را برای تست در برنامه وارد میکنیم و ارسال میکنیم ولی برای بار اول ممکن است پیام ارسال شده به عنوان Spam در ایمیل شما شناسایی شود . اگر ایمیل را در پوشه Inbox مشاهده نکردید به پوشه Spam مراجعه کنید و ایمیل را باز کنید و بر روی گزینه Not Spam کلیک کنید تا دفعات بعدی ایمیل در پوشه Inbox نمایش داده شود :

مطلب پیشنهادی :  آشنایی با Button و افزودن دکمه به برنامه

اگر در کل هیچ ایمیلی دریافت نکردید ممکن است مراحل را به درستی انجام نداده باشد .

پس به این شکل ما یک بخش برای ارتباط کاربران با خودمان ایجاد کردیم ! اگر موارد بالا را به خوبی متوجه نشدید میتوانید سورس این آموزش را از لینک زیر دریافت کنید و در پایان امیدواریم که این آموزش هم مورد استفاده شما عزیزان قرار گرفته باشد …

دانلود فایل : فقط اعضای سایت میتوانند به لینک دانلود دسترسی داشته باشند ( وارد شوید یا ثبت نام کنید )
  دانلود سورس + فایل PHP
  رمز فایل : basiclearn.ir
  حجم فایل : 9 کیلوبایت
  منبع : بیسیک لرن
ما را در تلگرام دنبال کنید !
BasicLearn@

درباره نویسنده

حامد باقری

برنامه نویس اندروید , طراح وب , طراح گرافیک و رابط کاربری
( مدیر مجموعه بیسیک لرن )
www.HamedBagheri.ir

نظر بدهید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.