آموزش اندروید فصل پنجم قسمت اول – SMS,Thread,HTTP

آموزش اندروید فصل پنجم قسمت اول – SMS,Thread,HTTP

در قسمت اول فصل پنجم آموزش اندروید ما سه مبحث SMS ها و اجرای Thread ها در پس زمینه و اتصال برنامه به اینترنت را درون یک پروژه قرار میدهیم و نحوه کارشان را بررسی میکنیم

آموزش اندروید فصل پنجم قسمت اول – SMS,Thread,HTTP

توجه : برای مشاهده تصاویر در سایز اصلی برروی آنها کلیک کنید.

Sms , Thread , Http

در این قسمت یک پروژه حاوی سه Button که هرکدام عملیاتی در مباحث Sms , Thread , Http انجام میدهند ایجاد کرده ایم تا بیشتر با این مباحث کاربردی آشنا شویم.

پس شروع میکنیم و یک پروژه با نام دلخواه که ما از Utility استفاده کردیم ایجاد میکنیم

و در فایل activity_main.xml سه دکمه ایجاد میکنیم

.

(مثل تمرین های قبل به صورت گرافیکی دکمه هارا ایجاد کنید و زحمت کدنویسی رو نکشید)حال به ترتیب برای هردکمه عملیاتش را تعریف میکنیم ابتدا دکمه SMS :

برای این دکمه یک اکتیویتی و یک فایل xml ایجاد میکنیم فایل xml شامل اجزا زیر است

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

.

همانگونه که مشخص است در روش ارسال  پیام با اینتنت از یک شی اینتنت و از putExtra برای مشخص کردن متن و شماره استفاده شده و در نتیجه نیز برنامه Sms درون دستگاه اندروید با مشخصاتی که در این برنامه(درون EditText ها) مشخص میشود نمایش داده میشود

.

آموزش اندروید فصل پنجم-قسمت اول

و در روش ارسال بدون اینتنت , خود برنامه پیام را ارسال میکند و دیگر از برنامه sms درون دستگاه استفاده نمیکن(بهتر است از یک دستگاه اندرورید به جای شبیه ساز های کامپیوتر استفاده کنید)

آموزش اندروید فصل پنجم-قسمت اول

فراموش نکنید که در فایل manifest برنامه نیز باید این کلاس جاوا و همچنین مجوز استفاده از برنامه Sms درون دستگاه را تعریف کنیم بدین صورت

دکمه دوم در فایل xml اصلی مربوط به یک Thread ساختگی یا fake میباشد و هدف تنها آشنایی بیشتر با این سیستم است.نکته اصلی در استفاده از سرویس ها پشتیبانی کلاس جاوا از کلاس Service است و همچنین نحوه مشخص  کردن این کلاس در manifest برنامه است که بدین صورت نوشته میشود

 ودرون کلاس این سرویس نیز که هدف اصلی آن اجرای سرویس در پس زمینه میباشد چنین کدنویسی میکنیم

.

همانگونه که مشاهده میکنید ما از یک کلاس درونی که از AsyncTask پشتیبانی میکند استفاده کرده ایم تا قابلیت اجرای سرویس در پس زمینه بدون کنترل مستقیم کاربر را به ما بدهد و سه ژنریک URL ,Integer , Long که نوع های داده های مورد استفاده در سه متد را مشخص میکنند.

برای توضیح هر متد میتوان کوتاه گفت متد doInBackground براساس تعداد Url هایی که دریافت میکند عملیات زمان بری را اجرا میکند در این بخش از متد publishProgress استفاده شده که برای گزارش پیشرفت استفاده میشود و همچنین در ادامه متد onProgressUpdate را فراخوانی میکند.

متد onProgressUpdate که توسط متد publishProgress فراخوانی میگردد برای نمایش پیشرفت سرویس به کار بکار میرود.

متد onPostExecute زمانی اجرا میشود که متد doInBackground کارش تمام شده باشد مقدار بایتی که دانلود شده را در انتها به کاربر نمایش میدهد.

و در انتها نیز متد onDestroy اجرا میشود.

(این بخش نیازی به فایل xml نداشت چون نتایح بصورت پیغام Toast به کاربر نمایش داده شد)

.

115

و کلید اخر که کلید دانلود تصویر میباشد و هدف وارد کردن یک url تصویر و دیدن تصویر در یک ImageView میباشد.پس یک فایل جاوا و یک xml ایجاد میکنیم و درون فایل xml ابزارهای زیر را ایجاد میکنیم

.

متد openHttpConnection که یک ورودی Url نیز دارد اقدام به برقراری ارتباط با سرور میکند  و یک شی InputStream را برمیگرداند.

در ادامه متد Download که از متد openHttpConnection برای برقراری ارتباط استفاده میکند را مشاهده میکنید.همچنین در این متد از یک شی Bitmap که برای تبدیل اطلاعات دانلود شده به bitmap از متدdecodeStream  استفاده میکند در نهایت این شی را به خروجی ارسال میکند.

.

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

برای فراخوانی متد DownloadImageTask نیز هنگام فشردن کلید show باید یک شی ازنوع کلاس مربوطه ایجاد کرده و متد execute را نیز فراخوانی میکنیم و url را ارسال میکنیم تا تصویر را درون imageView نمایش دهد.

.

فراموش نکنید که در فایل manifest برنامه باید مجوز استفاده از اینترنت و اکتیویتی را بدین صورت تعریف کنیم

<uses-permission android:name=”android.permission.INTERNET” />

<activity android:name=”.DownloadImage”
    android:label=”@string/app_name” />

آموزش اندروید فصل پنجم-قسمت اول

مدرس : خانم مهندس داودی نژاد

آموزش اندروید فصل چهارم قسمت پنجم

آموزش اندروید فصل پنجم قسمت دوم

۴۶۸×۶۰ content ad

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

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *