做Mp3播放器时的收获

1.编程时用有名字的常量来代替自变量

例:在开始定义成 private static final int UPDATE = 1;

      使用时       if(item.getItemId()==UPDATE)   

      这样做的好处就是在以后增加功能和代码更改的时候方便更改。

      还有另一种方式,就是新建一个接口,在这个接口当中定义一些常量

例:public interface AppConstant {
          public class PlayerMsg
          {
              public static final int PLAY_MSG = 1;
              public static final int PAUSE_MSG = 2;
              public static final int STOP_MSG = 3;
           }

       }

 

2.函数应该是越小越好,功能越单一越好,这样做的好处就是代码复用率大。

    平常编程时把大量的功能都写在了回调函数中,这样是不好的,应该将这些功能剥离出来,形成单独的函数

    在这里推荐一本书,《重构——改善既有代码的设计》

 

3.一些常见的adb命令行

  已经进入某个目录,想删除这个目录下的音乐文件:例如:rm  a1.mp3 

  要卸载一个Android应用程序:adb  uninstall  包的名字

 

4.Serializable接口

   是一个序列化接口,其作用是通过某种方式将把对象从内存变成字节码的形式放到硬盘在。

 

5. Android中读取中文乱码的问题

   BufferedReader  buffer = new  BufferedReader (new InputStreamReader(is,"GB2312"))

 

6. 迭代器的使用(Iterator)

  
List<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>();
	    for (Iterator iterator = mp3Infos.iterator(); iterator.hasNext();) {
		  Mp3Info mp3Info = (Mp3Info) iterator.next();
		    HashMap<String, String> map = new HashMap<String, String>();
		    map.put("mp3_name", mp3Info.getMp3Name());
		    map.put("mp3_size", mp3Info.getMp3Size());
		    list.add(map);
	    }


7. 面向对象的意识

     在编程中应时刻有将要所处理的对象构建成一个类的意识,例如Mp3播放器应用程序所要播放的Mp3音乐文件,就可以将其构建成一个实体类,将音乐的名字,大小等信息定义成私有的成员变量,然后设置Getter和Setter,再就是构造函数,这里的构造函数要注意参数问题,最后就是定义一个toString()方法。

public class Mp3Info implements Serializable{
	
	private static final long serialVersionUID = 1L;
	private String  id;
	private String  mp3Name;
    private String  mp3Size;
    private String  lrcName;
    private String  lrcSize;
    
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getMp3Name() {
		return mp3Name;
	}
	public void setMp3Name(String mp3Name) {
		this.mp3Name = mp3Name;
	}
	public String getMp3Size() {
		return mp3Size;
	}
	public void setMp3Size(String mp3Size) {
		this.mp3Size = mp3Size;
	}
	
	public String getLrcName() {
		return lrcName;
	}
	public void setLrcName(String lrcName) {
		this.lrcName = lrcName;
	}
	public String getLrcSize() {
		return lrcSize;
	}
	public void setLrcSize(String lrcSize) {
		this.lrcSize = lrcSize;
	}
	
	public Mp3Info(String id, String mp3Name, String mp3Size, String lrcName,
			String lrcSize) {
		super();
		this.id = id;
		this.mp3Name = mp3Name;
		this.mp3Size = mp3Size;
		this.lrcName = lrcName;
		this.lrcSize = lrcSize;
	}
	public Mp3Info() {
		super();
	}
	@Override
	public String toString() {
		return "Mp3Info [id=" + id + ", lrcName=" + lrcName + ", lrcSize="
				+ lrcSize + ", mp3Name=" + mp3Name + ", mp3Size=" + mp3Size
				+ "]";
	}      
}  


 

8. Tamcat服务器的搭建

    在webapps文件夹下新建一个文件夹(mp3),在这个文件夹里面在新建一个文件夹WEB-INF,在其里面新建一个web.xml文件,在其中输入代码即可简易的搭建一个服务器了

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">  

</web-app>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值