Android点歌系统代码

public class Favor_Song {
 private static Favor_Song mfavor_song = null;
    private Context mcontext= null;
    private List mlist= new ArrayList();
    private String sfile= null;
    private final int ETF_Favor_MAX = 50;
    private final int ETF_SAVE_Favor = 256;
    private Handler mhandler;
    private Favor_Song()
    {
     mhandler = new Handler(){
         public void handleMessage(Message message)
         {
          switch(message.what){
          case ETF_SAVE_Favor:
           savefile();
           break;
          }
         }
     };
    }
    public static Favor_Song getInstance()
    {
        if(mfavor_song == null)
         mfavor_song = new Favor_Song();
        return mfavor_song;
    }
    private void loadfile()
    {
     try{
         JSONArray jsonarray = new JSONArray(etfStatic.load_file(sfile));
         int i = 0;
         while(i < jsonarray.length()){
          Song b1 = Song.jsontosong(jsonarray.getJSONObject(i));
             if(b1 != null)
              add(b1);
             i++;
         } 
        }catch(Exception ex){}
    }
    private Song find(Song b1)
    {
        String s;
        String s1;
        int i;
        s = b1.getmusic_id();
        s1 = b1.getmusic_name();
        i = 0;
        Song b2 = null;
        while(i < mlist.size()){
         String s2;
            String s3;
            b2 = (Song)mlist.get(i);
            s2 = b2.getmusic_id();
            s3 = b2.getmusic_name();
            if(s2.equals(s) && s3.equals(s1)) break;
            i++;
        }
        return b2;
    }
    private void savefile()
    {
        try
        {
            JSONArray jsonarray = new JSONArray();
            Iterator iterator = mlist.iterator();
            while(iterator.hasNext())
            {
                jsonarray.put(((Song)iterator.next()).tojson());
            };
            etfStatic.save_file(sfile, jsonarray.toString());
        }
        catch(Exception exception)
        {
            exception.printStackTrace();
        }
    }
    public void init(Context context)
    {
     mcontext = context;
     sfile = String.valueOf(mcontext.getCacheDir().getAbsolutePath())+"/music_favorite";
     loadfile();
    }
    public void add(Song b1)
    {
        if(find(b1) == null){
         mlist.add(0, b1);
            if(mlist.size() > ETF_Favor_MAX)
             mlist.remove(ETF_Favor_MAX);
            if(mhandler != null)
            {
             mhandler.removeMessages(ETF_SAVE_Favor);
             mhandler.sendEmptyMessageDelayed(ETF_SAVE_Favor, 5000L);
            }
        }
    }
    public List getlist()
    {
        return mlist;
    }
    public void remove(Song b1)
    {
     Song b2 = find(b1);
        if(b2 != null)
        {
         mlist.remove(b2);
            if(mhandler != null)
            {
             mhandler.removeMessages(ETF_SAVE_Favor);
             mhandler.sendEmptyMessageDelayed(ETF_SAVE_Favor, 5000L);
            }
        }
    }
    public boolean check(Song b1)
    {
        boolean flag;
        if(find(b1) != null)
            flag = true;
        else
            flag = false;
        return flag;
    }
}

下面是效果图:欢迎交流

是一款适用于TV的点歌软件,支持遥控器、安卓、苹果设备进行点歌,支持原伴唱切换,快捷操作等,支持本地歌曲自动导入,是K友的不错之选...

现如今,各类聚餐、聚会哪里少的了去KTV,唱歌不仅等让彼此玩的开心,活跃气氛,还能增进彼此的感情!今天,小编为大家整合了KTV软件合集,便于大家及时的预约KTV场所,方便快捷,需要的朋友快来下载吧!

家庭KTV系统应用软件是一款仅仅为1%高端家庭量身定制!带给您全家齐欢乐的幸福! KTV系统,配套移动端APP让您点歌更方便,更快捷,可多人同时并行点歌,更可分享自己演唱。 

功能介绍:

-专属歌库:收集我最喜爱的歌曲,极速点歌;

-遥控点歌:拿起自己的手机/平板电脑看到就点 拼音、手写、歌星、排行一应俱全;

-控制功能:暂停、切歌、音量、原伴唱及其他控制功能尽在掌握。

支持市面上的普通安卓电视盒子   小米 天猫 海美迪 忆典 等主流盒子

QQ77211022   13762930029 

原文地址:https://www.cnblogs.com/etfsoft/p/7484222.html