دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • آبان

جلسه ۲۱ : ارسال sms در اندروید

  • دسته‌بندی‌ها :
جلسه ۲۱ : ارسال sms در اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. گاهی نیاز است که شما در برنامه ی اندرویدی خود از یک سرویس ارسال sms به کاربران مختلف استفاده کنید. برای این منظور قابلیت ارسال اس ام اس در اندروید همانند قابلیت ارسال ایمیل در دسترس قرار گرفته تا برنامه نویسان بتوانند در صورت لزوم از آن در برنامه ی خود استفاده نمایند. در Android، شما می توانید از API SmsManager یا دستگاه های ساخته شده در برنامه SMS برای ارسال اس ام اس در اندروید استفاده کنید. در ادامه ی مباحث این آموزش جهت آشنایی با چگونگی ارسال sms در اندروید با ما همراه باشید.

      آشنایی با ارسال sms در اندروید

      در ادامه ی آموزش ها ما شما را با API ارسال اس ام اس در اندروید و یک مثال ساده در این زمینه آشنا می کنیم.

      در ادامه ی آموزش ما دو نمونه ی API پایه برای ارسال sms در اندروید به شما معرفی می کنیم.

      SmsManager API

      ساختار :

      مثال : 

      Built-in SMS application

      ساختار:

      مثال : 

      البته هر دو مورد به SEND_SMS permission نیاز دارند:

      مثال : 

      به غیر از متد فوق، چند تابع مهم دیگر در کلاس SmsManager وجود دارد. این متد ها در زیر فهرست شده است:

       

      ردیفمتد و توضیحات
      ۱

      ArrayList<String> divideMessage(String text)

      این متد متن پیام را به چند قطعه تقسیم می کند، که هیچ کدام بزرگتر از حداکثر اندازه پیام SMS نیست.

      ۲

      static SmsManager getDefault()

      این متد برای دریافت مثال پیش فرض SmsManager استفاده می شود.

      ۳

      void sendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent)

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

      ۴

      void sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String> parts, ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent> deliveryIntents)

      ارسال یک متن چند بخشی در قالب SMS .

      ۵

      void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

      ارسال یک متن در قالب SMS .

      مثال

      مثال زیر به شما نحوه استفاده از شی SmsManager برای ارسال اس ام اس به شماره تلفن همراه داده شده را نشان می دهد:

      نکته -۱: برای تست این مثال شما نیاز به یک دستگاه اندروید واقعی دارید چراکه ممکن است شبیه ساز اندروید به خوبی کار نکند.

      مراحل اجرای برنامه

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.myapplication قرار بدهید.
      ۲کد مورد نیاز برای ارسال اس ام اس در اندروید را به محتوای فایل src/MainActivity.java اضافه کنید.
      ۳در محتوای فایل res / layout / activity_main.xml کد مورد نیاز برای افزودن یک رابط کاربری ساده دریافت شماره تلفن و متن اس ام اس و یک دکمه برای ارسال اس ام اس را اضافه کنید.
      ۴رشته های ثابت را به res/values/strings.xml اضافه کنید.
      ۵محتوای فایل AndroidManifest.xml را بصورتی که در ادامه اشاره کرده ایم تغییر دهید.
      ۶برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد.

      محتوای فایل main activity که در مسیر src/com.example.Pvlearn/MainActivity.java قرار دارد بصورت زیر خواهد بود:

      مثال : 

      محتوای فایل res/layout/activity_main.xml بصورت زیر خواهد بود:

      مثال : 

      محتوای فایل res/values/strings.xml نیز به صورت زیر خواهد بود:

      مثال : 

      محتوای فایل AndroidManifest.xml نیز به صورت زیر خواهد بود:

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      اگر همه چیز بخوبی پیش برود شبیه ساز اندروید پنجره ی زیر را نمایش خواهد داد:

       ارسال sms در اندروید -تست برنامه

      ارسال sms در اندروید -تست برنامه

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

      در نهایت برای ارسال اس ام اس روی دکمه Send SMS کلیک کنید.

      مطمئن شوید که GSM / CDMA به خوبی برای ارسال پیام کوتاه به گیرنده شما کار می کند.

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

      • اس ام اس های مورد نظر را تایپ نموده و هر کدام را با کاما از دیگری تفکیک کنید.
      • شماره تلفن های مورد نظر را نیز با کاما از یکدیگر جدا کنید.

      استفاده از built-in SMS برای ارسال اس ام اس در اندروید

      شما می توانید از Android Intent برای ارسال SMS با استفاده از قابلیت های اس ام اس های داخلی آندروید استفاده کنید.

      بخش زیر بخش های مختلفی از شیء Intent را برای ارسال یک پیامک را توضیح می دهد:

      آبجکت Intent – عمل ارسال ایمیل

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

      در زیر روش ساده ای برای ایجاد یک Intent با عمل ACTION_VIEW نشان می دهد.

      مثال : 

      آبجکت Intent -نوع داده برای ارسال sms در اندروید

      آندروید دارای پشتیبانی داخلی برای اضافه کردن شماره تلفن و پیام متنی برای ارسال SMS به صورت زیر است:

      مثال : 

      در اینجا آدرس و sms_body حساس به حروف هستند و باید فقط در کاراکترهای کوچک مشخص شوند.

      شما می توانید بیش از یک شماره را در رشته تکی مشخص کنید اما با سم کولون (؛) آن ها را جدا کنید.

      مثال

      مثال زیر  چگونگی استفاده از شی Intent را برای راه اندازی سرویس SMS برای ارسال SMS به گیرندگان داده شده را نشان می دهد:

      برای تست این مثال شما نیاز به استفاده از یک دستگاه اندروید واقعی دارید چون ممکن است شبیه ساز اندروید به خوبی کار نکند.

      مراحل اجرای مثال:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.pvlearn.myapplication قرار بدهید.
      ۲به محتوای فایل src/MainActivity.java کد مورد نیاز برای ارسال اس ام اس را اضافه کنید.
      ۳محتوای فایل  res / layout / activity_main.xml را برای افزودن یک دکمه ساده ویرایش کنید.
      ۴ثابت های رشته ای را تغییر ندهید.
      ۵محتوای فایل AndroidManifest.xml را همانطور که در ادامه اشاره می کنیم تغییر دهید.
      ۶برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد.

      محتوای فایل main activity که در مسیر src/com.example.Pvlearn/MainActivity.java قرار دارد به صورت زیر خواهد بود :

      مثال : 

      محتوای فایل طراحی که در مسیر res/layout/activity_main.xml قرار دارد نیز به صورت زیر است:

      مثال : 

      محتوای فایل res/values/strings.xml نیز به صورت زیر است:

      مثال : 

      محتوای پیش فرض فایل AndroidManifest.xml:

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      سپس استودیو آندروید پنجره زیر را برای انتخاب یک گزینه که در آن شما می خواهید برنامه Android خود را اجرا کنید نشان می دهد:

      ارسال sms در اندروید

      ارسال sms در اندروید

      در گزینه های پنجره ی فوق دستگاه تلفن همراه خود را انتحاب کنید، سپس نتیجه زیر را مشاهد خواهید کرد:

      ارسال اس ام اس در اندروید -تست

      ارسال اس ام اس در اندروید -تست

      اکنون از دکمه ی Compose SMS برای اجرای built-in SMS بصورت زیر استفاده کنید:

      ارسال اس ام اس در اندروید -تست -2

      ارسال اس ام اس در اندروید -تست -۲

      شما می توانید هر یک از فیلدهای پیش فرض را تغییر داده و در نهایت برای ارسال اس ام اس روی دکمه ی send SMS کلیک کنید.

      کلام آخر

      بسته به برنامه ی کاربردی که در اندروید ایجاد می کنید ممکن است که شما نیاز داشته باشید که از یک سرویس ارسال sms برای ایجاد قابلیت ارسال پیامک به کاربران مختلف استفاده کنید. از این رو مباحث این بخش را به ارسال اس ام اس در اندروید اختصاص داده ایم.

      QR:  جلسه ۲۱ : ارسال sms در اندروید
      به اشتراک بگذارید