基本信息
源码名称:android 闹钟 定时功能实现源码
源码大小:1.33M
文件格式:.rar
开发语言:Java
更新时间:2015-07-15
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


定时功能实现


package com.myclock;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.bean.GetMusicBean;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

public class SetMusicActivity extends Activity {
	private GetMusicMsg msg;
	private ListView listView;
	private List<Map<String, Object>> data;
	private Button selectBtn,cancelBtn;
	private GetMusicBean gmb = new GetMusicBean();
	private SimpleAdapter adapter;
	private int index = 0;
	private boolean isSelect = false;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.setmusic);
		selectBtn = (Button)findViewById(R.id.selectbtn);
		cancelBtn = (Button)findViewById(R.id.cancelbtn);
		listView = (ListView) findViewById(R.id.setMusicView);
		
		
		
		adapter = new SimpleAdapter(this,
				data(),
				R.layout.musiclist,
				new String[]{"image","title","album","singer","time","id","url"},
				new int[]{R.id.list_radioImg,R.id.musictitle,R.id.musicalbum,R.id.musicsinger,R.id.musictime,R.id.musicid,R.id.musicurl});
		
	//	MusicAdapter adapter = new MusicAdapter(this,data());
		listView.setAdapter(adapter);
		
		cancelBtn.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				Intent intent = new Intent(SetMusicActivity.this,MyClock.class);
				startActivity(intent);
				SetMusicActivity.this.finish();
			}
		});
		selectBtn.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				
				if(isSelect){
					
					Toast.makeText(SetMusicActivity.this, gmb.getTitle().toString(), Toast.LENGTH_LONG).show();
					Intent intent = new Intent(SetMusicActivity.this,MyClock.class);
					Bundle bundle = new Bundle();
					bundle.putString("URL", gmb.getUrl().toString());
					intent.putExtras(bundle);
					startActivity(intent);
					SetMusicActivity.this.finish();
				}
			}
		});
		listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				isSelect = true;
				
				gmb.setUrl(data().get(position).get("url").toString());
				gmb.setTitle(data().get(position).get("title").toString());
				
				ChangeRadioImage(index,false);
				ChangeRadioImage(position,true);
				index = position;
			}
		});
	}
	
	/**
	 * 判断按下按键
	 */
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if(keyCode==KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
			Intent intent = new Intent(SetMusicActivity.this,MyClock.class);
			startActivity(intent);
			SetMusicActivity.this.finish();
		}
		return false;
	}



	public List<Map<String,Object>> data(){
		List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
		
		// listView数据来源:一个指向系统通讯录的数据库的指针
		Cursor cursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
				null,null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
		startManagingCursor(cursor);
		
		while(cursor.moveToNext()){
			//歌曲ID
			int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
			//歌曲名称
			String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE)); 
			//歌手
			String singer = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST)); 
			//歌曲时长
			int time = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
			//路径
			String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));  
			//专辑
			String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
			
			Map<String,Object> map = new HashMap<String, Object>();
			map = new HashMap<String, Object>();
			map.put("image", R.drawable.btn_radio_off);
			map.put("title", "" title);
			map.put("album", album);
			map.put("singer", "" singer);
			map.put("time", "" time);
			map.put("id", "" id);
			map.put("url", url);
			
			list.add(map);
		}
		return list;
	}
	
	private void ChangeRadioImage(int selectedItem, boolean b){
		SimpleAdapter sa = adapter;
		Map<String,Object> map = (HashMap<String, Object>) sa.getItem(selectedItem);
		if(b){
			map.put("image", R.drawable.btn_radio_on);
		}else{
			map.put("image", R.drawable.btn_radio_off);
		}
		sa.notifyDataSetChanged();
	}
}