真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android實現(xiàn)鬧鐘小程序

這篇文章主要介紹Android實現(xiàn)鬧鐘小程序,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計、網(wǎng)站制作遂寧服務(wù)器托管的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗和案例。

Android是什么

Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由美國Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

最近寫了個鬧鐘的程序,看到SharedPreferences在一個程序中可以共享數(shù)據(jù),SharedPreferences是一個輕量級的鍵值存儲機(jī)制,只可以存儲基本數(shù)據(jù)類型。我就拿來用用,沒想到SharedPreferences太好了,真是輕量級的保存數(shù)據(jù)的好的工具,比sqlite好用多了!以后我又多了一種編程思想了,呵呵,所以現(xiàn)在分享給大家,特別注意這點:這個無法直接在多個程序間共享Preferences數(shù)據(jù)。程序關(guān)閉再打開時間仍然保留你上次設(shè)置的時間。這就是Preferences的作用!                

程序歡迎界面:

Android實現(xiàn)鬧鐘小程序

點擊設(shè)置鬧鐘界面:

Android實現(xiàn)鬧鐘小程序      

點擊鬧鐘設(shè)置中的設(shè)置后的界面:                       

 Android實現(xiàn)鬧鐘小程序             

鬧鐘時間到了彈出dialog:

Android實現(xiàn)鬧鐘小程序

 設(shè)置重復(fù)想起鬧鐘后的界面:                            

Android實現(xiàn)鬧鐘小程序   

點擊返回鍵彈出的提示:

Android實現(xiàn)鬧鐘小程序

下面請看代碼:

一、MainActivity中的代碼:

package com.cn.daming;
 
import java.util.Calendar;
 
import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
 
public class MainActivity extends Activity {
 TextView setTime1;
 TextView setTime2;
 TextView setTime3;
 Button mButton1;
 Button mButton2;
 Button mButton3;
 Button mButton4;
 Button mButton5;
 Button mButton6;
 
 String time1String = null;
 String time2String = null;
 String time3String = null;
 String defalutString = "目前無設(shè)置";
 
 AlertDialog builder = null;
 Calendar c=Calendar.getInstance();
 
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
   
  //取得活動的Preferences對象
  SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);
  time1String = settings.getString("TIME1", defalutString);
  time2String = settings.getString("TIME2", defalutString);
  time3String = settings.getString("TIME3", defalutString);
  
  InitButton1();
  InitButton2();
  InitButton3();
  InitButton4();
  InitButton5();
  InitButton6(); 
  
  setTime1.setText(time1String);
  setTime3.setText(time2String);
  setTime2.setText(time3String);
 }
 
 public void InitButton1()
 {
  setTime1=(TextView) findViewById(R.id.setTime1);
  mButton1=(Button)findViewById(R.id.mButton1);
  mButton1.setOnClickListener(new View.OnClickListener()
  {
   public void onClick(View v)
   {
   c.setTimeInMillis(System.currentTimeMillis());
   int mHour=c.get(Calendar.HOUR_OF_DAY);
   int mMinute=c.get(Calendar.MINUTE);
   
   
   new TimePickerDialog(MainActivity.this,
    new TimePickerDialog.OnTimeSetListener()
    {    
    public void onTimeSet(TimePicker view,int hourOfDay,
          int minute)
    {
     c.setTimeInMillis(System.currentTimeMillis());
     c.set(Calendar.HOUR_OF_DAY,hourOfDay);
     c.set(Calendar.MINUTE,minute);
     c.set(Calendar.SECOND,0);
     c.set(Calendar.MILLISECOND,0);
     
     Intent intent = new Intent(MainActivity.this, CallAlarm.class);
     PendingIntent sender=PendingIntent.getBroadcast(
     MainActivity.this,0, intent, 0);
     AlarmManager am;
     am = (AlarmManager)getSystemService(ALARM_SERVICE);
     am.set(AlarmManager.RTC_WAKEUP,
      c.getTimeInMillis(),
      sender
      );
     String tmpS=format(hourOfDay)+":"+format(minute);
     setTime1.setText(tmpS);
     
     //SharedPreferences保存數(shù)據(jù),并提交
     SharedPreferences time1Share = getPreferences(0);
     SharedPreferences.Editor editor = time1Share.edit();
     editor.putString("TIME1", tmpS);
     editor.commit();
     
     Toast.makeText(MainActivity.this,"設(shè)置大明鬧鐘時間為"+tmpS,
     Toast.LENGTH_SHORT)
     .show();
    }   
    },mHour,mMinute,true).show();
   }
  });
 }
 
 public void InitButton2()
 {
  mButton2=(Button) findViewById(R.id.mButton2);
  mButton2.setOnClickListener(new View.OnClickListener()
  {
   public void onClick(View v)
   {
   Intent intent = new Intent(MainActivity.this, CallAlarm.class);
   PendingIntent sender=PendingIntent.getBroadcast(
    MainActivity.this,0, intent, 0);
   AlarmManager am;
   am =(AlarmManager)getSystemService(ALARM_SERVICE);
   am.cancel(sender);
   Toast.makeText(MainActivity.this,"大明鬧鐘時間刪除",
       Toast.LENGTH_SHORT).show();
   setTime1.setText("目前無設(shè)置");
   
   SharedPreferences time1Share = getPreferences(0);
    SharedPreferences.Editor editor = time1Share.edit();
    editor.putString("TIME1", "目前無設(shè)置");
    editor.commit();
   }
  });
 }
 
 public void InitButton3()
 {
  setTime3=(TextView) findViewById(R.id.setTime5);
  mButton3=(Button)findViewById(R.id.mButton5);
  mButton3.setOnClickListener(new View.OnClickListener()
  {
   public void onClick(View v)
   {
   c.setTimeInMillis(System.currentTimeMillis());
   int mHour=c.get(Calendar.HOUR_OF_DAY);
   int mMinute=c.get(Calendar.MINUTE);
   
   
   new TimePickerDialog(MainActivity.this,
    new TimePickerDialog.OnTimeSetListener()
    {    
    public void onTimeSet(TimePicker view,int hourOfDay,
          int minute)
    {
     c.setTimeInMillis(System.currentTimeMillis());
     c.set(Calendar.HOUR_OF_DAY,hourOfDay);
     c.set(Calendar.MINUTE,minute);
     c.set(Calendar.SECOND,0);
     c.set(Calendar.MILLISECOND,0);
     
     Intent intent = new Intent(MainActivity.this, CallAlarm.class);
     PendingIntent sender=PendingIntent.getBroadcast(
     MainActivity.this,1, intent, 0);
     AlarmManager am;
     am = (AlarmManager)getSystemService(ALARM_SERVICE);
     am.set(AlarmManager.RTC_WAKEUP,
      c.getTimeInMillis(),
      sender
      );
     String tmpS=format(hourOfDay)+":"+format(minute);
     setTime3.setText(tmpS);
     
     //SharedPreferences保存數(shù)據(jù),并提交
     SharedPreferences time2Share = getPreferences(1);
     SharedPreferences.Editor editor = time2Share.edit();
     editor.putString("TIME2", tmpS);
     editor.commit();
     
     Toast.makeText(MainActivity.this,"設(shè)置大明鬧鐘時間為"+tmpS,
     Toast.LENGTH_SHORT)
     .show();
    }   
    },mHour,mMinute,true).show();
   }
  });
 }
 
 public void InitButton4()
 {
  mButton4=(Button) findViewById(R.id.mButton6);
  mButton4.setOnClickListener(new View.OnClickListener()
  {
   public void onClick(View v)
   {
   Intent intent = new Intent(MainActivity.this, CallAlarm.class);
   PendingIntent sender=PendingIntent.getBroadcast(
    MainActivity.this,0, intent, 0);
   AlarmManager am;
   am =(AlarmManager)getSystemService(ALARM_SERVICE);
   am.cancel(sender);
   Toast.makeText(MainActivity.this,"大明鬧鐘時間刪除",
       Toast.LENGTH_SHORT).show();
   setTime3.setText("目前無設(shè)置");
   
   //SharedPreferences保存數(shù)據(jù),并提交
    SharedPreferences time2Share = getPreferences(1);
    SharedPreferences.Editor editor = time2Share.edit();
    editor.putString("TIME2", "目前無設(shè)置");
    editor.commit();
   }
  });
 }
 
 public void InitButton5()
 {
  setTime2=(TextView) findViewById(R.id.setTime2);
  LayoutInflater factory = LayoutInflater.from(this);
  final View setView = factory.inflate(R.layout.timeset,null);
  final TimePicker tPicker=(TimePicker)setView
         .findViewById(R.id.tPicker);
  tPicker.setIs24HourView(true);
 
  final AlertDialog di=new AlertDialog.Builder(MainActivity.this)
    .setIcon(R.drawable.clock)
    .setTitle("設(shè)置")
    .setView(setView)
    .setPositiveButton("確定",
    new DialogInterface.OnClickListener()
    {
    public void onClick(DialogInterface dialog, int which)
    {
     EditText ed=(EditText)setView.findViewById(R.id.mEdit);
     int times=Integer.parseInt(ed.getText().toString())
        *1000;
     c.setTimeInMillis(System.currentTimeMillis());
     c.set(Calendar.HOUR_OF_DAY,tPicker.getCurrentHour());
     c.set(Calendar.MINUTE,tPicker.getCurrentMinute());
     c.set(Calendar.SECOND,0);
     c.set(Calendar.MILLISECOND,0);
 
     Intent intent = new Intent(MainActivity.this,
            CallAlarm.class);
     PendingIntent sender = PendingIntent.getBroadcast(
     MainActivity.this,1, intent, 0);
     AlarmManager am;
     am = (AlarmManager)getSystemService(ALARM_SERVICE);
     am.setRepeating(AlarmManager.RTC_WAKEUP,
       c.getTimeInMillis(),times,sender);
     String tmpS=format(tPicker.getCurrentHour())+":"+
        format(tPicker.getCurrentMinute());
     String subStr = "設(shè)置大明鬧鐘時間為"+tmpS+
       "開始,重復(fù)間隔為"+times/1000+"秒";
     setTime2.setText("設(shè)置大明鬧鐘時間為"+tmpS+
         "開始,重復(fù)間隔為"+times/1000+"秒");
     
     //SharedPreferences保存數(shù)據(jù),并提交 
     SharedPreferences time3Share = getPreferences(2);
    SharedPreferences.Editor editor = time3Share.edit();
    editor.putString("TIME3", subStr);
    editor.commit();
     
     Toast.makeText(MainActivity.this,"設(shè)置大明鬧鐘為"+tmpS+
         "開始,重復(fù)間隔為"+times/1000+"秒",
         Toast.LENGTH_SHORT).show();
    }
    })
    .setNegativeButton("取消",
    new DialogInterface.OnClickListener()
    {
    public void onClick(DialogInterface dialog, int which)
    {
    }
    }).create();
 
  mButton5=(Button) findViewById(R.id.mButton3);
  mButton5.setOnClickListener(new View.OnClickListener()
  {
   public void onClick(View v)
   {
   c.setTimeInMillis(System.currentTimeMillis());
   tPicker.setCurrentHour(c.get(Calendar.HOUR_OF_DAY));
   tPicker.setCurrentMinute(c.get(Calendar.MINUTE));
   di.show();
   }
  });
 }
 
 public void InitButton6()
 {
  mButton6=(Button) findViewById(R.id.mButton4);
  mButton6.setOnClickListener(new View.OnClickListener()
  {
   public void onClick(View v)
   {
   Intent intent = new Intent(MainActivity.this, CallAlarm.class);
   PendingIntent sender = PendingIntent.getBroadcast(
    MainActivity.this,1, intent, 0);
   AlarmManager am;
   am = (AlarmManager)getSystemService(ALARM_SERVICE);
   am.cancel(sender);
   Toast.makeText(MainActivity.this,"鬧鐘時間刪除",
       Toast.LENGTH_SHORT).show();
   setTime2.setText("目前無設(shè)置");
   //SharedPreferences保存數(shù)據(jù),并提交 
    SharedPreferences time3Share = getPreferences(2);
   SharedPreferences.Editor editor = time3Share.edit();
   editor.putString("TIME3", "目前無設(shè)置");
   editor.commit();
   }
  });
 }
  
 @Override
 public boolean onKeyUp(int keyCode, KeyEvent event) {
 
   if(keyCode == KeyEvent.KEYCODE_BACK){
 builder = new AlertDialog.Builder(MainActivity.this)
  .setIcon(R.drawable.clock)
  .setTitle("溫馨提示:")
  .setMessage("您是否要退出大明鬧鐘程序!!!")
  .setPositiveButton("確定",
  new DialogInterface.OnClickListener() {
  public void onClick(DialogInterface dialog,
   int whichButton) {
   MainActivity.this.finish();
  }
  })
  .setNegativeButton("取消",
  new DialogInterface.OnClickListener() {
  public void onClick(DialogInterface dialog,
   int whichButton) {
   builder.dismiss();
  }
  }).show();
   }
   return true;
 }
 
 private String format(int x)
 {
  String s=""+x;
  if(s.length()==1) s="0"+s;
  return s;
 }
}

二、CallAlarm中的代碼:

package com.cn.daming;
 
import android.content.Context;
import android.content.Intent;
import android.content.BroadcastReceiver;
import android.os.Bundle;
 
public class CallAlarm extends BroadcastReceiver
{
 @Override
 public void onReceive(Context context, Intent intent)
 {
 Intent i = new Intent(context, AlarmAlert.class);
  
 Bundle bundleRet = new Bundle();
 bundleRet.putString("STR_CALLER", "");
 i.putExtras(bundleRet);
 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(i);
 }
}

三、AlarmAlert中的代碼:

package com.cn.daming;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
 
public class AlarmAlert extends Activity
{
 @Override
 protected void onCreate(Bundle savedInstanceState) 
 {
 super.onCreate(savedInstanceState);
 new AlertDialog.Builder(AlarmAlert.this)
  .setIcon(R.drawable.clock)
  .setTitle("大明鬧鐘響了!!")
  .setMessage("快完成你制定的計劃吧!!!")
  .setPositiveButton("關(guān)掉它",
   new DialogInterface.OnClickListener()
  {
   public void onClick(DialogInterface dialog, int whichButton)
   {
   AlarmAlert.this.finish();
   }
  })
  .show();
 } 
}

四、main.xml布局文件的代碼:



 
 
 
 
 
  
  
 
 
 
 
 
 
  
  
 
 
 
 
 
 
 
 
  
 
 

五、timeset.xml布局文件中的代碼:



 
 
 
 
 
 
 
 
 
 

六、string.xml中的代碼:



 Hello World, EX06_10
 大明原創(chuàng)鬧鐘
 設(shè)置鬧鐘
 刪除鬧鐘
 重復(fù)響起的鬧鐘
 大明鬧鐘一
 大明鬧鐘二
 目前無設(shè)置
 開始時間
 重復(fù)響起的鬧鐘
 

七、color.xml中的代碼:



 #FFFFFFFF
 #FF00FFF0
 #000000
 #0000FF
 #FF0000

 八、AndroidManifest.xml中的代碼



 
 
 
  
  
  
   
    
    
   
  
  
  
 

以上是“Android實現(xiàn)鬧鐘小程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁題目:Android實現(xiàn)鬧鐘小程序
網(wǎng)址分享:http://weahome.cn/article/ipscji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部