Jamendo开源在线音乐播放器源码分析之Music搜索实现机制

本文深入分析了开源音乐播放器Jamendo的音乐搜索功能。通过使用Apache Http 4.0库,Jamendo实现与服务器的数据交互主要依赖JSON。通过调用API,如PopularAlbumsWeek,获取http://api.jamendo.com/get2/...的URL,利用HttpClient发送GET请求,将返回的Stream转为String,再解析成JSONArray,从而完成搜索过程。
摘要由CSDN通过智能技术生成


   今天主要分析音乐搜索这部分的实现机制

 

   Jamendo代码里面实现音乐搜索主要是使用了Apache Http 4.0 和JSON,Jamendo官网提供API供应用程序查询数据,且提供了四种方式查询,依次是:Artist,Tag,UserPlaylist和UserStarredAlbums

  

   具体分析如下:

		private void albumSearch(int id){
			JamendoGet2Api service = new JamendoGet2ApiImpl();
			String query = mSearchEditText.getText().toString();
			Album[] albums = null;
			try {
				switch (id) {
				case 0:
					albums = service.searchForAlbumsByArtist(query);
					SearchActivity.this.mSearchMode = SearchMode.Artist;
					break;
				case 1:
					albums = service.searchForAlbumsByTag(query);
					SearchActivity.this.mSearchMode = SearchMode.Tag;
					break;
				case 3:
					albums = service.getUserStarredAlbums(query);
					SearchActivity.this.mSearchMode = SearchMode.UserStarredAlbums;
					break;

				default:
					return;
				}

				AlbumAdapter albumAdapter = new AlbumAdapter(SearchActivity.this); 
				albumAdapter.setList(albums);
				albumAdapter.setListView(mSearchListView);
				mAdapter = albumAdapter;

			} catch (JSONException e) {
				e.printStackTrace(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值