سرویس در اندروید چیست؟

سرویس در اندروید چیست؟

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

خدمات پلت فرم و.خدمات سفارشی

پلت فرم اندروید خدمات سیستم از پیش تعریف شده رافراهم میکند واجرامیشودوهر نرم افزز اندروید میوانداز آنها با توجه به مجوزهای مناسب استفاده کند .این سرویس های سیستم معمولا از طریق یک کلاس مدیرخاص معرض قرارمیگیرد.دسترسی به آنها را میتوان از طریق get system service دریافت کرد.کلاس context چنین ثابت برای دسترسی به این سرویس ها را تعریف میکند..

  • یک برنامه اندروید میتواند علاوه بر استفاده از سرویس های موجود در پلتفرم اندروید،سرویس های جدید را تعریف و استفاده کند.
  • شروع و تعریف خدمات سفارشی
  • خدمات سفارشی از سایر اجزای اندروید ،یعنی فعالیت ها ،گیرنده های پخش و سایر سرویس  ها آغاز شده است.

خدمات پیشرو

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

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

برای مثال میخواهیم یک سرویس پخش آهنگ در پس زمینه اجرا شود ودرحالی که با برنامه ای دیگر کارمیکنیم.

1:برای ایجاد یک سرویس باید کلاس خود را از کلاس پایه serviceارث بری کنید .

بعضی روش ها وخصوصیات اساسی کلاس

  • Onstart:زمانی اجرامیشودکه سرویس توسط یک  activityفراخوانی شود وبا فراخوانی روش startservice بخواهید سرویس را اجرا کید .
  • Startservice:اجرای سرویس موردنظر
  • Onbind:ارجای جزعی از سیستم به سرویس موردنظر(مانندمیخواهیم یک فایل صوتی را توسط یک سرویس پخش کنیم)

2:سرویس ها دارای چرخه حیات هستند .
3:برای ایجاد سرویس بایدیک کلاس جاوا ایجادکنیدو سرویس ها برپایه کلاس است ودارای توابعی از callbackهستند که عباتنداز :

  • Onstartcommand(): سیستم زمانی را فراخوانی میکند که یک کامپوننت مثل یک activityدرخواست میکند که بادستور start service () اجراشود .

دراین صورت وقتی که کار سرویس تمام شدبا  stopself یا stop service متوقف میکنیم.

  • Onbind: زمانی که میخواهیم جزئی از سیستم را به سرویس موردنظر ارجادهیم از این روش فراخوانی میکنیم.
  • Oncreat: زمانی که یک سرویس برای اولین بار اجرا شودوسیستم بخواهدیک نمونه از آن را ایجادکند.
  • Onbind :اگر سرویس در حال اجراباشد فراخوانی انجام نمیشود.
  • Ondestroy:زمانی که سرویس برای زمان زیادی استفاده نشده باشد یا به صورت دستی متوقفیا stopشده باشد.

4:چند نکته قبل از ایجاد سرویس

  • برای ساختن نرم افزار اندرویدباید از Eclipse IDE استفاده شود .
  • باید فاایل MainActivity.javaرا تغییردهیم ودستورهای startService() و stopServiceرا اضافه کنیم.
  • باید یک فایل جاوا جدیدبه نام MyService.javaدر زیر پکیج com.example.helloworld ایجاد کنیم.
  • سرویس خود را در AndroidManifest.xmlبا استفاده از تگ <service…/> تعریف کنید.
  • دودکمه در res/layout/activity_main.xmlاضافه کنید.
  • سرویس شروع وتوقف را در res/values/strings.xml.  تعریف کنید

5:به مسیر رفته کد زیر را به آن اضافه کنید

package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.content.Intent;
import android.view.View;
public class MainActivity extends Activity {
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.activity_main, menu);
      return true;
   }
   // Method to start the service
   public void startService(View view) {
      startService(new Intent(getBaseContext(), MyService.class));
   }

// Method to stop the service
public void stopService(View view) {
stopService(new Intent(getBaseContext(), MyService.class));
}
}

  • 6:به مسیر src/com.example.helloworld/MyService.java بروید وکدهای زیر را واردکنید
package com.example.helloworld;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
public class MyService extends Service {
   @Override
   public IBinder onBind(Intent arg0) {
      return null;
   }
   @Override
   public int onStartCommand(Intent intent, int flags, int startId) {
      // Let it continue running until it is stopped.
      Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
      return START_STICKY;
   }
   @Override
   public void onDestroy() {
      super.onDestroy();
      Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show();
   }
}
  • 7:در AndroidManifest.xmlتگ سرویس را معرفی کنید.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.helloworld"
   android:versionCode="1"
   android:versionName="1.0" >
   <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="15" />
   <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
       <activity
           android:name=".MainActivity"
           android:label="@string/title_activity_main" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER"/>
           </intent-filter>
       </activity>
       <service android:name=".MyService" />
   </application>
</manifest>
  • 8:دکمه های مورد نظررا در res/layout/activity_main.xml واردکنید
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   <Button android:id="@+id/btnStartService"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/start_service"
   android:onClick="startService"/>
   <Button android:id="@+id/btnStopService"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/stop_service"
   android:onClick="stopService" />
</LinearLayout>
  • 9:کدهایزیر رادر res/values/strings.xmlمعرفی کنید.
<resources>
    <string name="app_name">HelloWorld</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">MainActivity</string>
    <string name="start_service">Start Service</string>
    <string name="stop_service">Stop Service</string>
</resources
  • 10:برنامه را اجرا کنید.

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

برای تماس با  کارشناسان همراه رایانه 9099070345 را تنها از طریق تلفن ثابت شماره گیری کنید .

برای تماس از طریق  تلفن همراه می توانید شارژ همراه رایانه تهیه  نمائید.

برای خرید شارژ وارد سایت hamrahpc.ir شده و پروفایل ثبت نام را کامل پر کرده و یا اپلیکیشن همراه رایانه را از بازار دریافت و روی گوشی هوشمند خود  نصب کنید.

با خرید شارژ 50در صد تخفیف در هزینه ی تماس دریافت کنید. 

 


لینک های جذاب

جدیدترین مطالب

1111

1111

گروه :مشکل سخت افزار
بازدید : 315
آموزش جامع بازگردانی اکانت هک شده

آموزش جامع بازگردانی اکانت هک شده

گروه :مشکل نرم افزار
بازدید : 558
OG instagram در آیفون

OG instagram در آیفون

گروه :گوشي موبايل
بازدید : 1159
حذف کامل other از آیفون

حذف کامل other از آیفون

گروه :دانلود نرم افزار
بازدید : 1558