亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? playlistactivity.java

?? android開發(fā)入門與實(shí)踐源代碼
?? JAVA
字號:
package us.imnet.iceskysl;

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

import us.imnet.iceskysl.service.YPRService;
import us.imnet.iceskysl.util.PreferencesUtil;
import us.imnet.iceskysl.util.Tools;
import us.imnet.iceskysl.xspf.Parser;
import us.imnet.iceskysl.xspf.Playlist;
import us.imnet.iceskysl.xspf.Track;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class PlayListActivity extends Activity implements OnItemClickListener {
	public final String TAG = "main";
	// Identifiers for option menu items
	private static final int PLAY_NEXT = Menu.FIRST + 1;
	private static final int PLAY_STOP = PLAY_NEXT + 1;
	private static final int PLAY_PREV = PLAY_STOP + 1;

	Playlist playlist = null;
	public String _id = "";
	public String _name = "";
	public String _type = "";
	public boolean is_valid = false;
	private YPRSInterface mpInterface;
	int player_position = 0;
	private String session = "";
	ListView itemlist = null;
	public String url = "";

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.playlist);
		revParams();
		setTitle("Yobo: " + _name);
		session = Tools.getSessionInPerence(this);
		itemlist = (ListView) findViewById(R.id.itemlist);
		fetch_datas();

	}

	private void fetch_datas() {
		// 1.構(gòu)造需要的數(shù)據(jù)
		long timestamp = System.currentTimeMillis();
		String nonce = Tools.md5(String.valueOf(System.currentTimeMillis())
				+ PreferencesUtil.api_secret);
		Hashtable<String, String> params = new Hashtable<String, String>();
		params.put("api_key", PreferencesUtil.api_key);
		params.put("nonce", nonce);
		params.put("timestamp", String.valueOf(timestamp));
		params.put("token", session);
		params.put("id", _id);
		// 2.對參數(shù)進(jìn)行簽名
		String api_sig = Tools.md5(Tools.sig_params(params)
				+ PreferencesUtil.api_secret);

		// 4.轉(zhuǎn)換參數(shù)格式
		String params_str = Tools.paramsToString(params) + "api_sig=" + api_sig;
		//
		Parser parser = new Parser(url + "?" + params_str);
		try {
			parser.parse();
			playlist = parser.getPlaylist();
			this.bindService(
					new Intent(PlayListActivity.this, YPRService.class),
					mConnection, Context.BIND_AUTO_CREATE);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private List<Map<String, Object>> buildPlayListForSimpleAdapter() {
		try {
			mpInterface.clearPlaylist();
			if (playlist != null) {
				List songs = playlist.getTracks();
				Log.i("buildBoxListForSimpleAdapter", String.valueOf(songs
						.size()));
				List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(
						songs.size());
				Iterator<Map<String, Object>> l = songs.iterator();
				while (l.hasNext()) {
					Track track = (Track) l.next();
					mpInterface.addSongPlaylist(track.getLocation());
					Map<String, Object> map = new HashMap<String, Object>();
					
					Log.i("buildBoxListForSimpleAdapter", "name="
							+ track.getTitle());
					map.put("name", track.getTitle());
					map.put("album", track.getAlbum());
					map.put("artist", track.getArtist());
					map.put("img", R.drawable.album_small);
					list.add(map);
				}
				return list;
			}

		} catch (RemoteException e) {
			Log.e(getString(R.string.app_name), e.getMessage());
		}

		return null;
	}

	// 接收傳遞進(jìn)來的播放列表信息
	private void revParams() {
		Intent startingIntent = getIntent();
		if (startingIntent != null) {
			Bundle playlist = startingIntent
					.getBundleExtra("android.intent.extra.playlist");
			if (playlist == null) {
				is_valid = false;
			} else {
				_id = playlist.getString("id");
				_name = playlist.getString("name");
				_type = playlist.getString("type");
				is_valid = true;
				//
				if ("box".equalsIgnoreCase(_type)) {
					url = PreferencesUtil.baseUrl
							+ PreferencesUtil.boxes_playlist;
				} else {
					url = PreferencesUtil.baseUrl
							+ PreferencesUtil.station_playlist;
				}
				Log.i("url", url);
			}
		} else {
			is_valid = false;
		}

	}

	private ServiceConnection mConnection = new ServiceConnection() {
		public void onServiceConnected(ComponentName className, IBinder service) {
			mpInterface = YPRSInterface.Stub.asInterface((IBinder) service);
			updateSongList();
		}

		public void onServiceDisconnected(ComponentName className) {
			mpInterface = null;
		}
	};

	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1, int position,
			long arg3) {
		Log.i("onListItemClick:", Integer.toString(position));
		try {
            Toast.makeText(PlayListActivity.this, R.string.remote_service_connected,
                    Toast.LENGTH_SHORT).show();
			player_position = position;
			mpInterface.playFile(position);
			itemlist.setSelector(R.color.translucent_red);

		} catch (RemoteException e) {
			Log.e(getString(R.string.app_name), e.getMessage());
		}
	}

	// 更新歌曲列表S
	public void updateSongList() {
		List<Map<String, Object>> list = buildPlayListForSimpleAdapter();
		Log.i("refreshBoxListItems", "size=" + String.valueOf(list.size()));
		SimpleAdapter playlist = new SimpleAdapter(this, list,
				R.layout.song_row, new String[] { "name", "album", "artist",
						"img" }, new int[] { R.id.name, R.id.album,
						R.id.artist, R.id.img });
		// setListAdapter(boxes);
		itemlist.setAdapter(playlist);
		itemlist.setOnItemClickListener(this);
		itemlist.setSelection(0);
	}

	// 初始化菜單
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.onCreateOptionsMenu(menu);
		menu.add(0, PLAY_NEXT, 0, R.string.player_next).setIcon(
				R.drawable.player_fwd).setAlphabeticShortcut('N');
		menu.add(0, PLAY_PREV, 0, R.string.player_prev).setIcon(
				R.drawable.player_rew).setAlphabeticShortcut('P');
		menu.add(0, PLAY_STOP, 0, R.string.player_stop).setIcon(
				R.drawable.player_stop).setAlphabeticShortcut('S');
		return true;
	}

	// 當(dāng)一個菜單被選中的時候調(diào)用
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case PLAY_NEXT:
			try {
				mpInterface.skipForward();
				itemlist.setSelector(R.color.translucent_red);
			} catch (RemoteException e) {
				e.printStackTrace();
			}
			return true;
		case PLAY_PREV:
			try {
				mpInterface.skipBack();
				itemlist.setSelector(R.color.translucent_red);
			} catch (RemoteException e) {
				e.printStackTrace();
			}
		case PLAY_STOP:
			try {
				mpInterface.stop();
			} catch (RemoteException e) {
				e.printStackTrace();
			}
		}
		return true;
	}
	
    public void onDestroy() {
		Log.d(TAG, "onDestroy.");
        super.onDestroy();
        unbindService(mConnection);
    }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费高清av| 日本乱码高清不卡字幕| 337p日本欧洲亚洲大胆色噜噜| 日韩精品成人一区二区三区| 欧美日韩国产天堂| 美腿丝袜在线亚洲一区| 久久综合色8888| 福利一区在线观看| 亚洲欧洲综合另类| 欧美另类变人与禽xxxxx| 精品一二线国产| 国产精品黄色在线观看| 欧美性大战久久久| 免费观看91视频大全| 国产三级精品三级| 色狠狠色噜噜噜综合网| 三级欧美在线一区| 国产女人18毛片水真多成人如厕| 一本久久a久久精品亚洲| 天天影视涩香欲综合网| 久久一二三国产| caoporn国产精品| 五月婷婷激情综合网| 欧美mv和日韩mv国产网站| 成人av电影在线网| 午夜激情久久久| 欧美激情一区二区三区| 欧美日韩国产精选| 国产ts人妖一区二区| 五月天中文字幕一区二区| 国产日韩欧美不卡| 91精品麻豆日日躁夜夜躁| 国产91精品在线观看| 亚洲国产精品一区二区尤物区| 久久久久久一级片| 欧美日韩国产一二三| 成人永久免费视频| 日本欧美一区二区在线观看| 国产精品人成在线观看免费| 欧美一区二区三区视频| av在线这里只有精品| 免费人成在线不卡| 亚洲美女屁股眼交3| 欧美zozo另类异族| 欧美日韩久久一区二区| 国产 欧美在线| 麻豆精品视频在线| 亚洲午夜精品在线| 中文字幕在线不卡视频| 欧美精品丝袜中出| 色综合亚洲欧洲| 大桥未久av一区二区三区中文| 日韩高清电影一区| 亚洲一二三四在线观看| 国产精品激情偷乱一区二区∴| 精品捆绑美女sm三区| 欧美天堂亚洲电影院在线播放| jlzzjlzz欧美大全| 日本aⅴ免费视频一区二区三区| 久久久久高清精品| 亚洲一区二区欧美激情| 欧美日韩国产三级| 一本色道久久综合亚洲精品按摩| 国产伦精品一区二区三区免费| 奇米色一区二区| 午夜影视日本亚洲欧洲精品| 亚洲精品日日夜夜| 国产精品天美传媒| 国产视频视频一区| 精品福利在线导航| 欧美精品一区二区三区蜜臀| 日韩精品一区二区三区中文不卡 | 91久久一区二区| 极品少妇一区二区| 午夜亚洲福利老司机| 亚洲综合小说图片| 91麻豆精东视频| 国产成人精品亚洲日本在线桃色| 欧美军同video69gay| 欧美丰满高潮xxxx喷水动漫| 精品电影一区二区| 亚洲欧美一区二区三区国产精品| 三级影片在线观看欧美日韩一区二区 | 69堂成人精品免费视频| 久久久久久9999| 亚洲女同一区二区| 老司机午夜精品| 99国内精品久久| 日韩视频一区二区三区在线播放| 国产精品国模大尺度视频| 亚洲电影在线播放| 成人中文字幕合集| 日韩三级精品电影久久久| 最新国产成人在线观看| 蜜桃av噜噜一区| 91福利国产成人精品照片| 精品久久久久久久久久久久久久久 | 亚洲精品高清在线| 国产一区视频在线看| 欧美亚洲综合一区| 日本一区二区三区电影| 日韩电影免费在线看| 91无套直看片红桃| 久久久噜噜噜久噜久久综合| 视频一区二区不卡| 91在线视频网址| 久久精品一区八戒影视| 全国精品久久少妇| 欧美亚洲尤物久久| 国产精品妹子av| 国产精品一线二线三线| 91麻豆精品国产91久久久久| 亚洲综合免费观看高清完整版 | 成人免费在线视频| 国产在线精品一区二区| 91精品国产综合久久国产大片 | 日韩av电影天堂| 99re8在线精品视频免费播放| 久久综合av免费| 日本欧美加勒比视频| 欧美性色黄大片| 国产精品国产三级国产aⅴ中文 | 色噜噜久久综合| 国产精品污网站| 丁香亚洲综合激情啪啪综合| 欧美精品一区二区三区蜜臀| 美女网站色91| 欧美videos大乳护士334| 日韩高清国产一区在线| 欧美男人的天堂一二区| 一区二区三区在线视频免费| 91在线观看免费视频| 国产精品久久久爽爽爽麻豆色哟哟| 国产黑丝在线一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 麻豆91精品视频| 日韩女优电影在线观看| 久久国产精品72免费观看| 91精品国产综合久久久久久| 日韩国产欧美一区二区三区| 91麻豆精品国产91| 美女视频黄频大全不卡视频在线播放| 欧美精品久久天天躁| 午夜av区久久| 日韩一区二区影院| 狠狠网亚洲精品| 国产性色一区二区| av成人老司机| 亚洲激情校园春色| 欧美日韩一级二级| 日日摸夜夜添夜夜添精品视频| 欧美精品tushy高清| 麻豆91精品视频| 国产丝袜欧美中文另类| av男人天堂一区| 一区二区三区在线高清| 欧美日韩成人在线| 久久66热偷产精品| 中文字幕+乱码+中文字幕一区| 91在线视频在线| 午夜精品aaa| 精品成人在线观看| av亚洲精华国产精华| 亚洲电影在线免费观看| 日韩欧美国产午夜精品| 懂色av一区二区三区蜜臀| 一区二区在线观看视频在线观看| 91精品欧美久久久久久动漫| 激情av综合网| 最新国产成人在线观看| 欧美日韩激情在线| 国产精品一级黄| 亚洲另类春色国产| 日韩一级视频免费观看在线| 国产成人自拍高清视频在线免费播放| 亚洲人一二三区| 精品久久免费看| 日本高清成人免费播放| 国内精品第一页| 亚洲综合色成人| 欧美激情中文字幕一区二区| 欧美日韩黄色影视| 国产69精品久久久久毛片| 香蕉加勒比综合久久| 中文字幕av不卡| 日韩欧美国产一区二区三区| 99麻豆久久久国产精品免费 | 国产精品久久久久永久免费观看 | 99国产精品久久久久久久久久| 首页国产欧美久久| 中文一区在线播放| 欧美麻豆精品久久久久久| 成人爽a毛片一区二区免费| 天堂在线一区二区| 亚洲视频一区二区在线观看| 精品少妇一区二区三区在线播放| 91精彩视频在线观看| 国产成人免费高清| 麻豆精品国产91久久久久久| 一卡二卡欧美日韩|