Android MP3播放器实例-------AlbumsActivity,ArtistsActivity以及对应的Adapter类
2012-03-06 15:52
246 查看
由于两个Activity以及Adapter类都相似于上一篇中我介绍的两个类,所以这里不进行细将,只把代码贴出来大家看。
ArtistActivity
package music.mic.act;
import music.mic.adapter.ArtistsAdapter;
import music.mic.util.MusicList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class ArtistsActivity extends Activity {
private ListView artistlistView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.artist);
artistlistView = (ListView) this.findViewById(R.id.artistListView);
ArtistsAdapter adapter = new ArtistsAdapter(this, MusicList.getMusicData(this));
artistlistView.setAdapter(adapter);
artistlistView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent intent = new Intent(ArtistsActivity.this,MusicActivity.class);
intent.putExtra("id",arg2);
startActivity(intent);
}
});
}
}
ArtistAdapter
package music.mic.adapter;
import java.util.List;
import music.mic.act.R;
import music.mic.mic.Music;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class ArtistsAdapter extends BaseAdapter {
private List<Music> listMusic;
private Context context;
public ArtistsAdapter(Context context, List<Music> listMusic) {
super();
this.context = context;
this.listMusic = listMusic;
}
public void setItemList(List<Music> listMusic) {
this.listMusic = listMusic;
}
@Override
public int getCount() {
return listMusic.size();
}
@Override
public Object getItem(int arg0) {
return listMusic.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.music_item, null);
}
Music m = listMusic.get(position);
// 歌名
TextView musicName = (TextView) convertView.findViewById(R.id.music_item_name);
musicName.setText(m.getSinger());
// 歌手
TextView textMusicSinger = (TextView) convertView.findViewById(R.id.music_item_singer);
textMusicSinger.setText(m.getAlbum());
// 持续时间
TextView textMusicTime = (TextView) convertView.findViewById(R.id.music_item_time);
textMusicTime.setText(toTime((int) m.getTime()));
return convertView;
}
private String toTime(int time) {
time /= 1000;
int minute = time / 60;
int hour = minute / 60;
int second = time % 60;
minute %= 60;
return String.format("%02d:%02d", minute, second);
}
}
albumsActivity
package music.mic.act;
import music.mic.adapter.AlbumsAdapter;
import music.mic.util.MusicList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class AlbumsActivity extends Activity {
private ListView albumlistView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.albums);
albumlistView = (ListView) this.findViewById(R.id.albumListView);
AlbumsAdapter adapter = new AlbumsAdapter(this, MusicList.getMusicData(this));
albumlistView.setAdapter(adapter);
albumlistView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent intent = new Intent(AlbumsActivity.this, MusicActivity.class);
intent.putExtra("id", arg2);
startActivity(intent);
}
});
}
}
albumsAdapter
package music.mic.adapter;
import java.util.List;
import music.mic.act.R;
import music.mic.mic.Music;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class AlbumsAdapter extends BaseAdapter {
private List<Music> listMusic;
private Context context;
public AlbumsAdapter(Context context, List<Music> listMusic) {
super();
this.context = context;
this.listMusic = listMusic;
}
public void setItemList(List<Music> listMusic) {
this.listMusic = listMusic;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listMusic.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return listMusic.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.music_item, null);
}
Music m = listMusic.get(position);
//歌名
TextView musicName = (TextView) convertView.findViewById(R.id.music_item_name);
musicName.setText(m.getName());
// 歌手
TextView textMusicSinger = (TextView) convertView.findViewById(R.id.music_item_singer);
textMusicSinger.setText(m.getAlbum());
// 持续时间
TextView textMusicTime = (TextView) convertView.findViewById(R.id.music_item_time);
textMusicTime.setText(toTime((int) m.getTime()));
return convertView;
}
private String toTime(int time) {
time /= 1000;
int minute = time / 60;
int hour = minute / 60;
int second = time % 60;
minute %= 60;
return String.format("%02d:%02d", minute, second);
}
}
ArtistActivity
package music.mic.act;
import music.mic.adapter.ArtistsAdapter;
import music.mic.util.MusicList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class ArtistsActivity extends Activity {
private ListView artistlistView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.artist);
artistlistView = (ListView) this.findViewById(R.id.artistListView);
ArtistsAdapter adapter = new ArtistsAdapter(this, MusicList.getMusicData(this));
artistlistView.setAdapter(adapter);
artistlistView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent intent = new Intent(ArtistsActivity.this,MusicActivity.class);
intent.putExtra("id",arg2);
startActivity(intent);
}
});
}
}
ArtistAdapter
package music.mic.adapter;
import java.util.List;
import music.mic.act.R;
import music.mic.mic.Music;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class ArtistsAdapter extends BaseAdapter {
private List<Music> listMusic;
private Context context;
public ArtistsAdapter(Context context, List<Music> listMusic) {
super();
this.context = context;
this.listMusic = listMusic;
}
public void setItemList(List<Music> listMusic) {
this.listMusic = listMusic;
}
@Override
public int getCount() {
return listMusic.size();
}
@Override
public Object getItem(int arg0) {
return listMusic.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.music_item, null);
}
Music m = listMusic.get(position);
// 歌名
TextView musicName = (TextView) convertView.findViewById(R.id.music_item_name);
musicName.setText(m.getSinger());
// 歌手
TextView textMusicSinger = (TextView) convertView.findViewById(R.id.music_item_singer);
textMusicSinger.setText(m.getAlbum());
// 持续时间
TextView textMusicTime = (TextView) convertView.findViewById(R.id.music_item_time);
textMusicTime.setText(toTime((int) m.getTime()));
return convertView;
}
private String toTime(int time) {
time /= 1000;
int minute = time / 60;
int hour = minute / 60;
int second = time % 60;
minute %= 60;
return String.format("%02d:%02d", minute, second);
}
}
albumsActivity
package music.mic.act;
import music.mic.adapter.AlbumsAdapter;
import music.mic.util.MusicList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class AlbumsActivity extends Activity {
private ListView albumlistView;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.albums);
albumlistView = (ListView) this.findViewById(R.id.albumListView);
AlbumsAdapter adapter = new AlbumsAdapter(this, MusicList.getMusicData(this));
albumlistView.setAdapter(adapter);
albumlistView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Intent intent = new Intent(AlbumsActivity.this, MusicActivity.class);
intent.putExtra("id", arg2);
startActivity(intent);
}
});
}
}
albumsAdapter
package music.mic.adapter;
import java.util.List;
import music.mic.act.R;
import music.mic.mic.Music;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class AlbumsAdapter extends BaseAdapter {
private List<Music> listMusic;
private Context context;
public AlbumsAdapter(Context context, List<Music> listMusic) {
super();
this.context = context;
this.listMusic = listMusic;
}
public void setItemList(List<Music> listMusic) {
this.listMusic = listMusic;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return listMusic.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return listMusic.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.music_item, null);
}
Music m = listMusic.get(position);
//歌名
TextView musicName = (TextView) convertView.findViewById(R.id.music_item_name);
musicName.setText(m.getName());
// 歌手
TextView textMusicSinger = (TextView) convertView.findViewById(R.id.music_item_singer);
textMusicSinger.setText(m.getAlbum());
// 持续时间
TextView textMusicTime = (TextView) convertView.findViewById(R.id.music_item_time);
textMusicTime.setText(toTime((int) m.getTime()));
return convertView;
}
private String toTime(int time) {
time /= 1000;
int minute = time / 60;
int hour = minute / 60;
int second = time % 60;
minute %= 60;
return String.format("%02d:%02d", minute, second);
}
}
相关文章推荐
- Android MP3播放器实例--------MusicActivity类以及MusicService类详细讲解
- Android程序 类QQ通知常驻在Notification栏 点击Notification正确回调到之前已经放置在后台的Task中的对应Activity,而不是创建它的一个新实例
- Android React Native环境配置以及第一个实例
- android:gravity与android:layout_gravity的区别,以及代码设置对应属性
- Android程序 类QQ通知常驻在Notification栏 点击Notification正确回调到之前已经放置在后台的Task中的对应Activity,而不是创建它的一个新实例
- Android UDP通信的简单实例和用法归纳,以及与TCP对比、常见问题
- Android的api对应不同系统以及图片
- 常见Android屏幕分辨率以及对应机型
- android 自定义控件方法以及实例
- 【React Native开发】React Native For Android环境配置以及第一个实例
- Android版本号以及对应的API Level和版本代号
- [Android实例] ViewPager多页面滑动切换以及动画效果(精)
- [Android实例] android登录Web以及登录保持,cookie管理相关
- 常见Android屏幕分辨率以及对应机型
- Android种使用Notification实现通知管理以及自定义通知栏实例(示例四)
- android历史版本以及对应API level大全
- 【React Native开发】React Native For Android环境配置以及第一个实例(1)
- Android官方设计常用icon以及color颜色RGB值和对应颜色效果图
- android-UI组件实例大全(七)------Adapter类One之ListView