Android开发本地及网络Mp3音乐播放器(十八)新下载歌曲加载准备SdcardSearchToList
Posted iwanghang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发本地及网络Mp3音乐播放器(十八)新下载歌曲加载准备SdcardSearchToList相关的知识,希望对你有一定的参考价值。
转载请注明出处: http://blog.csdn.net/iwanghang/article/details/51395664觉得博文有用,请点赞,请留言,请关注,谢谢!~
扫描本地文件加载到item
不限于应用到音乐播放器,其他android工程,也可以使用SdcardSearchToList
其他Android工程也可以使用,我现在做了很小的Demo
后续将博文,将在播放器里,加入这一功能,来实现刚下载好的音乐,加载到播放器
这个Demo的源码下载:
http://download.csdn.net/album/detail/3105
名称为:SdcardSearchToList,如果没有显示,可能还没有审核完成
不下载也可以,因为只有1个java文件,2个xml文件,非常小
截止到目前的源码下载:
http://download.csdn.net/album/detail/3105
(最新的,请下载最后一个,本博文对应版本2.1;如果需要逐步实现的过程,请下载所有)
实现效果如图:
实现代码如下:
GetListActivity如下:(主Activity)
package com.iwanghang.sdcardsearchtolist;
import android.os.Bundle;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
/**
* 不要忘记加权限
* <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
*/
public class GetListActivity extends Activity {
private Button myBtn = null;
private ListView lv = null;
private SimpleAdapter sa = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_get_list);
lv = (ListView)findViewById(R.id.listv);
String[] from = {"text_content"};
int[] to = {R.id.myView1};
sa = new SimpleAdapter(this, getList(), R.layout.itemlist, from, to);
myBtn = (Button)findViewById(R.id.myButton);
myBtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
lv.setAdapter(sa);
}
});
}
public List<Map<String, Object>> getList()
{
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
String sDStateString = Environment.getExternalStorageState();
if(sDStateString.equals(Environment.MEDIA_MOUNTED))
{
//File SDFile = Environment.getExternalStorageDirectory();
//File sdPath = new File(SDFile.getAbsolutePath());
File sdPath = new File(Environment.getExternalStorageDirectory() + "/drm_music");
System.out.println("GetListActivity.List.sdPath = " + sdPath );
System.out.println("GetListActivity.List.listFiles = " + sdPath.listFiles() );
if(sdPath.listFiles().length > 0)
{
for(File file : sdPath.listFiles())
{
Map<String, Object> map = new HashMap<String, Object>();
map.put("text_content", file.getName());
list.add(map);
System.out.println("name-->"+file.getName());
}
}
}
return list;
}
//其中,getList()用于扫描本地文件,获得文件的名字;为ListView设置一个适配器,将扫描到的文件显示在ListView上,这里需要注意,适配器的后面两个参数都是数组。
}
activity_get_list.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.iwanghang.sdcardsearchtolist.GetListActivity"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="获取本地文件信息" />
<Button
android:id="@+id/myButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="扫描" />
<ListView
android:id="@+id/listv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" />
</LinearLayout>
itemlist.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lvitem"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns ="*">
<TableRow>
<TextView
android:id="@+id/myView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<TextView
android:id="@+id/myView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
<TextView
android:id="@+id/myView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</TableRow>
</TableLayout>
转载请注明出处: http://blog.csdn.net/iwanghang/article/details/51395664
欢迎移动开发爱好者交流
沈阳或周边城市公司有意开发Android,请与我联系
联系方式
微信:iwanghang
QQ:413711276
邮箱:iwanghang@qq.com
沈阳或周边城市公司有意开发Android,请与我联系
联系方式
微信:iwanghang
QQ:413711276
邮箱:iwanghang@qq.com
以上是关于Android开发本地及网络Mp3音乐播放器(十八)新下载歌曲加载准备SdcardSearchToList的主要内容,如果未能解决你的问题,请参考以下文章