Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發本地及網絡Mp3音樂播放器(十八)新下載歌曲加載准備SdcardSearchToList

Android開發本地及網絡Mp3音樂播放器(十八)新下載歌曲加載准備SdcardSearchToList

編輯:關於Android編程

掃描本地文件加載到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;

/**
 * 不要忘記加權限
 * 
 */
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> getList()
    {
        List> list = new ArrayList>();
        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 map = new HashMap();
                    map.put("text_content", file.getName());
                    list.add(map);
                    System.out.println("name-->"+file.getName());
                }
            }
        }
        return list;
    }

    //其中,getList()用於掃描本地文件,獲得文件的名字;為ListView設置一個適配器,將掃描到的文件顯示在ListView上,這裡需要注意,適配器的後面兩個參數都是數組。
}

activity_get_list.xml如下:
<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">


</listview></button></textview></linearlayout>

itemlist.xml如下:
<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>

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved