2013年8月14日星期三

Android播放器推荐:可以播放本地音乐、视频、在线播放音乐、视频、网络收音机等 - wangwangheng

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
Android播放器推荐:可以播放本地音乐、视频、在线播放音乐、视频、网络收音机等 - wangwangheng  阅读原文»

下载链接:http://www.eoeandroid.com/forum.php?mod=attachment&aid=MTAxNTczfGMyNjNkMzFlfDEzNzY1MzkwNTR8NzMwMDgxfDMwMDIwOA%3D%3D

帖子地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=300208&page=1#pid3049773

前几天开发了一个播放器,现在公司任务比较繁重,而且公司刚搬家,无奈,过段时间继续开发,现在先放出来APK,欢迎试用,过段时间开发完了,把源代码也放出来!

可以播放本地音乐、视频、在线播放音乐、视频、以及搜索想要的资源,界面简约,支持所有媒体格式以及MMS、RTSP流媒体格式(使用了开源项目Vitamio)

1、支持的网络协议

       支持以下协议的音频和视频播放:

      * MMS
      * RTSP (RTP, SDP)
      * HTTP流式传输(progressive streaming)
      * HTTP Live Streaming (M3U8), Android 2.1+

    2、支持的媒体格式

Nhibernate与Dapper对比,及Nhibernate增删改和9种查询语法 - tebato  阅读原文»

1,Sql语法。

NH:HQL

Dapper:原生Sql.

点评:原生Sql可以直接放在数据库里执行,Hql不行,且Hql增加学习负担。(Hn也可以原生Sql,但好像用的不多呀)

2,开发速度。

NH:手工编写配置文件。

Dapper:使用CodeSmith批量生成。

点评:NH耗时,Dapper迅速。

3,自定义查询。

NH :

return _session.CreateQuery("select c.Firstname, count(c.Fi

rstname) from Customer c group by c.Firstname")

.List<object[]>();

Dapper:

String executeSql = @" SELECT ID, DevRequireId, PrjTypeId

FROM PrjOrder

WHERE ID = @ID ";

var conditon = new { ID = ID };

return conn.Query<PrjOrderModel>(executeSql, conditon).SingleOrDefault();

点评:Nh返回结果Object,Dapper返回实体,未查询列值为空。常用于数据表字段过多时有选择查询。

4,操作多个数据库。

NH: http://www.codeproject.com/Articles/14846/Using-NHibernate-with-Multiple-Databases

Dapper:

public static readonly string connPlmString = System.Configuration.ConfigurationManager.ConnectionStrings["PlmConnStr"].ToString();

public static readonly string connSrmString = System.Configuration.ConfigurationManager.ConnectionStrings["SrmConnStr"].ToString();

public static SqlConnection CratePlmOpenConnection()

{

var connection = new SqlConnection(connPlmString);

connection.Open();

return connection;

}

public static SqlConnection CrateSrmOpenConnection()

{

var connection = new SqlConnection(connSrmString);

connection.Open();

return connection;

}

点评:Nh配置复杂,Dapper简单易用。

5,传参:

NH: Session.CreateQuery(strSql).SetString("BuId", BuId);

Dapper:

var conditon = new { ID = id, Name = name };

return conn.Query<PrjOrderModel>(executeSql, conditon).SingleOrDefault();

点评:NH单条设置,Dapper多条设置,且不需要指定类型,类型由变量类型自动推算。

Nhibernate 九种查询示例及源码如下:

public static IList<wufei_testTb> GetAll()
{
IQuery iq
= session.CreateQuery("from wufei_testTb");

return iq.List<wufei_testTb>();
}

public static wufei_testTb GetById(int userId)
{
return session.Get<wufei_testTb>(userId);
}

public static wufei_testTb GetByName1()
{
//返回唯一数据,如果数据有多条,程序将报错
ISession session = NHelper.GetCurrentSession();
var iq = session.CreateQuery("select t from wufei_testTb t where t.USER_ID=10000");

return iq.UniqueResult<wufei_testTb>();
}

public static IList<Object[]> GetByName2()
{
//原生Sql自定义字段查询,指定返回结果,无法返回实体集
var iq = session.CreateSQLQuery("select t.USER_ID,t.USER_NAME from wufei_testTb t")
.AddScalar(
"USER_ID", NHibernateUtil.Int32)
.AddScalar(
"USER_NAME", NHibernateUtil.String);
return iq.List<Object[]>();
}

public static IList GetByName3()
{
//原生Sql自定义字段查询,无法返回实体集
var iq = session.CreateSQLQuery("select t.USER_ID,t.USER_NAME from wufei_testTb t")
.AddScalar(
"USER_ID", NHibernateUtil.Int32)
.AddScalar(
"USER_NAME", NHibernateUtil.String);
return iq.List();
}

public static IList<wufei_testTb> GetByName4()
{
//创建ICriteria实例,查询前50行数据
ICriteria crit = session.CreateCriteria(typeof(wufei_testTb));
crit.SetMaxResults(
50);
IList
<wufei_testTb> testList=crit.List<wufei_testTb>();
return testList;
}

public static IList<wufei_testTb> GetByName5(String userName)
{
//创建ICriteria实例,模糊查询,精确查询,排序
IList<wufei_testTb> testList = session.CreateCriteria(typeof(wufei_testTb))
.Add(Restrictions.Like(
"USER_NAME", "%0")) //按USER_NAME模糊查询
//.Add(Restrictions.Eq("USER_NAME", userName)) //按USER_NAME精确查询
.AddOrder(new NHibernate.Criterion.Order("USER_NAME", true)) //按USER_NAME排序,第二个参数True代表asc,False代表desc
//.Add(Restrictions.Between("","",""))
.List<wufei_testTb>();
return testList;
}

public static IList<wufei_testTb>

阅读更多内容

没有评论:

发表评论