本地掃描音樂(lè)文件
public class ScannerActivity extends Activity {
private ListView mlistview;
ArrayList<MusicInfo> list = new ArrayList<MusicInfo>();
private MyAdapter myAdapter;
private MyReceiver myReceiver;
private ProgressBar progressbar;
private MyApplication myApplication;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scanner);
myApplication = (MyApplication) getApplication();
myApplication.addActity(this);
progressbar = (ProgressBar) findViewById(R.id.scanner_progressbar);
mlistview = (ListView) findViewById(R.id.listView1);
myAdapter = new MyAdapter();
mlistview.setAdapter(myAdapter);
}
public void btnScanner(View v) {
Intent intent = new Intent(Intent.ACTION_MEDIA_MOUNTED);
Uri uri = Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath());
intent.setData(uri);
sendBroadcast(intent);
}
private void scannerMusic() {
list.clear();
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(Media.EXTERNAL_CONTENT_URI, null, null, null, null);
boolean first = cursor.moveToFirst();
while (first) {
String singer = cursor.getString(cursor.getColumnIndex(Media.ARTIST));
String musicname = cursor.getString(cursor.getColumnIndex(Media.DISPLAY_NAME));
String musicurl = cursor.getString(cursor.getColumnIndex(Media.DATA));
int musiclen = cursor.getInt(cursor.getColumnIndex(Media.DURATION));
list.add(new MusicInfo(singer, musicname, musiclen, musicurl, null));
first = cursor.moveToNext();
}
cursor.close();
myAdapter.notifyDataSetChanged();
}
class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View inflate = getLayoutInflater().inflate(R.layout.scanner_item, null);
TextView musicname = (TextView) inflate.findViewById(R.id.scanner_musicname);
TextView singer = (TextView) inflate.findViewById(R.id.scanner_singer);
MusicInfo musicInfo = list.get(position);
musicname.setText(musicInfo.getMusicName());
singer.setText(musicInfo.getSinger());
return inflate;
}
}
@Override
protected void onStart() {
myReceiver = new MyReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
filter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
filter.addDataScheme("file");
registerReceiver(myReceiver, filter);
super.onStart();
}
@Override
protected void onStop() {
unregisterReceiver(myReceiver);
super.onStop();
}
@Override
protected void onDestroy()
{
myApplication.removeActivity(this);
super.onDestroy();
}
class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
switch (action) {
case Intent.ACTION_MEDIA_SCANNER_STARTED:
Toast.makeText(ScannerActivity.this, "開(kāi)始掃描", Toast.LENGTH_SHORT).show();
break;
case Intent.ACTION_MEDIA_SCANNER_FINISHED:
Toast.makeText(ScannerActivity.this, "結(jié)束掃描", Toast.LENGTH_SHORT).show();
mlistview.setVisibility(View.VISIBLE);
scannerMusic();
progressbar.setVisibility(View.GONE);
break;
default:
break;
}
}
}
}
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買多久送多久。
網(wǎng)站題目:本地掃描音樂(lè)文件-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://newbst.com/article10/dgiedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、虛擬主機(jī)、小程序開(kāi)發(fā)、ChatGPT、營(yíng)銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容