private Handler mHandler;
Toast mToast;
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Intent intent = new Intent(timeTest.this, AlarmService_Service.class);
        PendingIntent sender = PendingIntent.getBroadcast(timeTest.this,0,intent,0);
        
        long firstTime = SystemClock.elapsedRealtime();
        firstTime += 10 * 1000; 
        
        AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
        am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                        firstTime, 10*1000, sender);
        
        final Calendar c = Calendar.getInstance();
        int mHour = c.get(Calendar.HOUR_OF_DAY);
        int mMinute = c.get(Calendar.MINUTE);
        int mSecond = c.get(Calendar.SECOND);
        
        if (mToast!=null)
        {
         mToast.cancel();
        }
        mToast = Toast.makeText(timeTest.this,"현재시간"+mHour+":"+mMinute+":"+mSecond,Toast.LENGTH_LONG);
        mToast.show();


여기서 이해가 안되는 부분이 

long firstTime = SystemClock.elapsedRealtime();
        firstTime += 10 * 1000; 

이 부분입니다 SystemClock.elapsedRealtime(); 는 무엇이고

firstTime 에서  firstTime += 10 * 1000;  왜 이렇게 설정하는지..

그리고  AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
        am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                        firstTime, 10*1000, sender);


이부분 에서 firstTime 와 10*1000 그리고 sender ,AlarmManager.ELAPSED_REALTIME_WAKEUP

이거 하는 역활들이 궁금합니다. 알려주세요..