今天主要分析音乐搜索这部分的实现机制
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(