Entity framework 中比较日期 

Entity framework 中比较日期 ,使用linq的写法:

var totalCount = db.CallLog.Where(x => x.CallTime.Year == DateTime.Now.Year && x.CallTime.Month == DateTime.Now.Month && x.CallTime.Day == DateTime.Now.Day).Count();

分别比较年月日,虽然不好看,但是可以正常工作。

EntityFramework Linq查询使用int.parse报错

EntityFramework Linq 查询中不能使用int.parse,否则报错,报错信息如下:

报错信息:LINQ to Entities does not recognize the method ‘Int32 Parse(System.String)’ method, and this method

var data = from v in db.Vip
            join b in db.Business on v.BusinessId equals b.Id
            where v.Level == int.Parse(level) // 这样写会报错
            select new VipInfoModel
            {
                VipName = v.VipName,
                Level = v.Level.Value,
                BusinessId = v.BusinessId.Value,
                BusinessName = b.Name,
                DisplayName = b.DisplayName
            };

解决方案:把int.parse拿到外面

var _level = int.Parse(level);
var data = from v in db.Vip
            join b in db.Business on v.BusinessId equals b.Id
            where v.Level == _level
           select new VipInfoModel
            {
                VipName = v.VipName,
                Level = v.Level.Value,
                BusinessId = v.BusinessId.Value,
                BusinessName = b.Name,
                DisplayName = b.DisplayName
            };

安卓4.4及4.4以上 全屏代码

安卓4.4及4.4以上 全屏代码,加在onCreate中:

//全屏开始
supportActionBar?.hide() // 隐藏标题栏
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN) //设置全屏
//设置屏幕长亮
window.setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
setContentView(R.layout.activity_main)

// 这个组合不好用,当在触摸屏幕时还是会出现系统导航栏(home, back等)
val mUIFlag = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LOW_PROFILE
or View.SYSTEM_UI_FLAG_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)

// 4.4以及上全屏
val mUIFlag2 =(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar

or View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar

or View.SYSTEM_UI_FLAG_IMMERSIVE)

//取消全屏
val cancelFullScreenFlag = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)

window.decorView.systemUiVisibility = mUIFlag2
// 全屏结束

项目中的代码

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

//全屏开始
supportActionBar?.hide() // 隐藏标题栏
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN) //设置全屏
//设置屏幕长亮
window.setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
setContentView(R.layout.activity_main)

// 这个组合不好用,当在触摸屏幕时还是会出现系统导航栏(home, back等)
val mUIFlag = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LOW_PROFILE
or View.SYSTEM_UI_FLAG_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)

// 4.4以及上全屏
val mUIFlag2 =(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar

or View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar

or View.SYSTEM_UI_FLAG_IMMERSIVE)

//取消全屏
val cancelFullScreenFlag = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)

window.decorView.systemUiVisibility = mUIFlag2
// 全屏结束


//注册onLongClick监听器
super.findViewById<LinearLayout>(R.id.changeBkgArea).setOnLongClickListener(PicOnLongClick())
super.findViewById<LinearLayout>(R.id.settingArea).setOnLongClickListener(OnLongClickSetting())

loadConfig()
    loadBackgroundImage()
    startGetCommandLoop()
}