خانه Android, Android Hardware, اخبار, اندروید, سخت افزار در آندروید, فیلم آموزشی سخت افزار در اندروید-جلسه سوم (Sensors-سنسورها)+پروژه

سخت افزار در اندروید-جلسه سوم (Sensors-سنسورها)+پروژه

درود

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

در این جلسه به سراغ مبحث کاربردی استفاده از سنسورهای مختلف در اندروید رفته ایم.

سنسور چیست؟

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

هدف از نصب سنسور ها بر روی گجت ها مانند تلفن های همراه و تبلتها ، ارتباط بیشتر و بهتر دستگاه با محیط اطراف خود است.

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

۱- سنسور های حرکتی :

شتاب سنج – جاذبه – حرکت سنج – چرخشی

۲- سنسورهای محیطی :

سنسور گرما – فشار – رطوبت و نور

۳- سنسورهای موقعیتی :

سنسور مغناطیس و سنسور جهت سنج (کاربرد در نقشه)

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

سنسور دوم که در این جلسه مورد بررسی  قرار میگیرد سنسور شتاب سنج Accelerometer میباشد. کاربرد این سنسور تشخیص سرعت و جهت حرکت دستگاه روی سه محور x , y  و z میباشد. اکثر بازی ها از این سنسور برای کنترل گیم پلی بازی استفاده میکنند. در این برنامه ما به کمک این سنسور پروژه ای ساده را طراحی کرده که یک توپ در یک صفحه دو بعدی قرار داده شده است و با حرکت گوشی رو محور های x و y توپ نیز تغییر موقعیت میدهد.

Android Learning S05-E03 (Sensors)-pic

 

دانلود پروژه انجام شده در این جلسه (فایل نصبی اندروید)

Android-Learning-S05-E03-(Sensors)pic3

در این جلسه:

  • نحوه تعریف و استفاده از ابزار ها Sensor و SensorManager
  • نحوه فراخوانی سنسورهای نور و شتاب سنج برای دریافت اطلاعات لحظه ای
  • نحوه دریافت اندازه صفحه دستگاه
  • تعین موقعیت یک آبجکت به کمک کد

 

پرداخت آنلاین و دانلود فوری

زمان : ۴۰ دقیقه

حجم فایل زیپ : ۷۰ مگابایت

قیمت : ۳۰۰۰ تومان

نحوه پرداخت و دانلود فوری: پرداخت توسط کلیه کارت های عابر بانک عضو شتاب، بعد از پرداخت همون موقع لینک دانلود برای شما ایمیل می شود و می توانید محصول را دانلود کنید.

سایر فصل های آموزشی آندروید:

پیشنهاد میکنیم
دیدگاه ها
  1. سعید گفت:

    سلام استاد خسته نباشید دو سوال داشتم اولی اینکه چرا گوشی رو را افقی میکنی توپ فقط بالا و پایین میره و چپ و راست نمیشه؟ دوم اینکه سایر سنسورها را هم در قسمت بعدی درس میدین؟

    • Pouriya گفت:

      سلام
      من برنامه رو روی چند گوشی تست کردم و مشکلی نداشت. همونطور که توی جلسه اول این فصل گفتم مبحث سخت افزار به دلیل متفاوت بودن دستگاه ها از نظر سخت افزاری امکان این مشکل زیاده که بعضی از برنامه ها روی بعضی از دستگاه ها به خوبی اجرا نشه.
      سعی میکنم همه سنسورها رو توی این فصل بررسی کنم.

  2. محمد گفت:

    سلام، با تشکر از آموزش مفید و زحمت شما

  3. Ali گفت:

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

  4. بهزاد گفت:

    با سلام
    یه سوال نا مربوط به این بخش
    من با بانک Sql server ارتباط برقرا کردم و Insert و Select هم بدون مشکل هست
    اما مشکل من اینه که در داخل بانکم فیلدی با تایپ Image دارم و می خوام تو آندروید نمایش بدم
    اینجا و اگر کمک کنید خیلی خیلی ممنون می شم
    ممنون.

    • Pouriya گفت:

      Cursor c = myDB.rawQuery(“SELECT image FROM employee_details WHERE name= ‘john'”, null);

      if (c.getCount() > 0) {
      c.moveToFirst();
      do {

      byte[] blob = c.getBlob(c.getColumnIndex(“image”))
      Bitmap b = BitmapFactory.decodeByteArray(blob , 0, blob .length);
      imgdisplay.setImageBitmap(b);

      } while (c.moveToNext());

      }
      c.close();

      • بهزاد گفت:

        ممنونم دوست عزیز اما این دستور برای SQLLIte هست من دارم از SQL server می خونم
        اگر این و بگی خیلی خیلی ممنونت می شم.

        • Pouriya گفت:

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

  5. elahe گفت:

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

    خب شما هر یکی دو روز یه بار پست بدید و همیشه پست بدید !

  6. سعید گفت:

    سلام استاد سوالم اینه که چگونه و با چه کدی میتوان از طریق خود برنامه(داخل برنامه)فایل apk برنامه را با بلوتوث به دیگران فرستاد؟ممنون

  7. بهزاد گفت:

    سلام
    آقا من به این قسمت خیلی نیاز دارم و حاظرم برای این آموزش هزینه را پرداخت کنم
    فقط خیلی وقت کم دارم
    اگر امکانش هست این قسمت و که مستقیم بدون رابط از Sql server عکس را بخونیم به صورت آموزش لطف کنی و بذاری هر چقدر که بفرمایید پرداخت می کنم.
    با تشکر
    لطا سریع تر جواب این جانب را بدید.

  8. علی گفت:

    سلام خدمت همه عزیزان
    من با استفاده از ۴ فصل آموزشی که توسط استاد ارائه شد توانستم اولین برنامه خودم رو آماده و روانه بازار کنم.
    http://cafebazaar.ir/app/ir.azarnovin.atremahdaviyat/?l=fa

    نظرتون در مورد این برنامه رو بگید:

    • Pouriya گفت:

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

  9. بهزاد گفت:

    سلام
    آقا من دیتابیس داخلی ساختم و می خوام ببینم دیتابیسم ساخته شده یا نه که تو Data هیچی نیست
    فهمیدم که باید روت کرد
    برای روت کردن کمک می کنی؟
    با تشکر

    • Pouriya گفت:

      سلام
      avd و youwave به صورت پیشفرض دسترسی روت دارن و میتونید دیتابیستون رو مشاهده کنید.
      برای روت کردن گوشی هم با یه سرچ ساده تو اینترنت میتونید روش روت کردن رو پیدا کنید.

  10. Ali گفت:

    سلام، دو تا سوال دارم که اگه جواب بدید ممنون میشم:
    ۱- اگه بخوایم توی یک ماشین حساب از یک editText استفاده کنیم ولی این editText جوری باشه که وقتی روی اون کلیک میکنیم کیبورد اندروید باز نشه و فقط داده ها رو از طریق دکمه خودمون بگیره باید چکار کنیم؟
    ۲- اگه بخوایم دکمه در نرم افزار قرار بدیم تا پس از کلیک شدن صفحه مربوط به ایمیل گوشی باز به که به صورت پیش فرض ایمیلون هم توی کادر مربوطه وارد بشه باید از چه کدی استفاده کنیم؟

    • Pouriya گفت:

      سلام
      ۱- اگه میخوای واسه EditText صفحه کلید باز نشه خوب از TextView بجاش استفاده کنید.
      ۲- کد زیر برای ارسال ایمیل
      Intent intent = new Intent(Intent.ACTION_SENDTO);
      intent.setType(“text/plain”);
      intent.putExtra(Intent.EXTRA_SUBJECT, “Subject of email”);
      intent.putExtra(Intent.EXTRA_TEXT, “Body of email”);
      intent.setData(Uri.parse(“mailto:default@recipient.com”));
      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      startActivity(intent);

  11. سعید گفت:

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

  12. حسین گفت:

    سلام استاد – خدا قوت – اول اینکه واقعاً خسته نباشید واسع آموزشهای جامع و مفیدتون بعدش اینکه ما یه گروه سه تفره هستیم یه نفر آموزش ها رو میخره با هم دیگه میشینیم نگاه میکنیم و لذت میبریم :D قسمت آخر فصل وب سرویس شما گفتین آموزشها رو رو اینترنت نشر ندین و کپی نکنین این که گفتین شامل حال ما هم میشه که داریم سه نفری پای داریم ازش استفاده می کنیم؟ :| بعدشم اینکه ما داریم یه بانک پیامک میسازیم شبیه برنامه های دیگه تووو بازار اگه بخوایم حجم زیادی از پیامکها رو به دیتابیس اضافه کنیم چه راهی بهتره؟

    • Pouriya گفت:

      سلام
      ممنون از لطفتون
      اینکه سه نفری با هم میشینید نگاه میکنید اشکالی نداره. ولی دیگه بیشتر از سه نفر نشه ;)
      پیامکتهاتون هر تعداد که هست در نهایت باید به دیتابیس وارد بشن. داخل هر دیتابیسی که راحت ترین پیامکها رو وارد کنید. در نهایت به کمک نرم افزار های مبدل دیتابیستون رو به Sqlite تبدیل کنید. یه روش دیگه هم اینه که پیامک هاتون رو داخل فایل های txt ذخیره کنید که نسبت به دیتابیس سختره روشش. تو فصل ششم هر دو روش رو بررسی خواهیم کرد.

دیدگاه شما

نام

ایمیل

سایت( اختیاری )

*