小编Nul*_*rty的帖子

如何获得Android接近传感器的当前价值?

是否有可能在Android中获得接近传感器的当前值?

我知道我可以使用SensorManager和Sensor并注册状态更改的侦听器,但我不需要收到每个状态更改的通知,因此这个代码在服务中运行会非常低效.此外,我的代码在状态发生变化之前不知道该值(如果值没有改变怎么办?如何知道它是什么?相反,我只想说:而不是注册一个监听器,我只想说:

proximitySensor.getCurrentDistance();
Run Code Online (Sandbox Code Playgroud)

这可能吗?

谢谢

android android-sensors sensormanager proximitysensor android-developer-api

6
推荐指数
1
解决办法
3335
查看次数

比较SQL Server中索引视图和存储过程的性能

我最近才意识到您现在可以在SQL Server中索引视图(请参阅http://technet.microsoft.com/en-us/library/cc917715.aspx).我现在正试图弄清楚当我从一个索引视图的查询中获得更好的性能与存储过程中的同一查询时,它的执行路径被缓存了吗?

举个例子如下:

SELECT colA, colB, sum(colC), sum(colD), colE
FROM myTable
WHERE colFDate < '9/30/2011'
GROUP BY colA, colB, colE
Run Code Online (Sandbox Code Playgroud)

每次运行时日期都会不同,所以如果这是一个视图,我不会WHERE在视图中包含它,而是将其作为我对视图的选择的一部分.如果它是存储过程,则日期将是参数.请注意,表中大约有300,000行.其中200,000个符合where条款和日期.在小组之后将返回10,000.

如果这是一个索引视图,我是否应该期望获得更好的性能而不是有机会缓存​​执行路径的存储过程?或者proc会更快吗?或者差异可以忽略不计?我知道我们可以说"只是尝试两种方式",但有太多因素可能会错误地偏向结果导致我得出错误的结论,所以我想听到更多关于它背后的理论以及预期的结果是什么.

谢谢!

sql sql-server stored-procedures sqlperformance sql-view

5
推荐指数
1
解决办法
5345
查看次数

加载WPF UserControl后会发生什么事件?

我有一个DataGrid,我绑定在UserControl的构造函数中(在InitializeComponent之后).我需要访问其中的一些行,所以在UserControl的加载事件中,我运行:

DataGridRow row = (DataGridRow)myDataGrid.ItemContainerGenerator.ContainerFromIndex(rowIdx);
Run Code Online (Sandbox Code Playgroud)

但是每当我这样做时,ItemContainerGenerator.ContainerFromIndex都返回null.看起来像DataGrid还没有完全生成,所以为了测试/确认理论,我在屏幕上抛出一个按钮,然后在按钮的click事件上,我再次运行该代码,然后果然,行已经一个值.因此,已经确认,当UserControl的加载事件触发时,它发生得太早,我还无法为我的DataGrid调用ItemContainerGenerator.ContainerFromIndex.

我可以使用加载后会触发什么事件?

注意:我也尝试过这个代码,但是得到了相同的结果:

DataGridRow row = (DataGridRow)myDataGrid.ItemContainerGenerator.ContainerFromIndex(rowIdx);
if (row == null)
{
    myDataGrid.UpdateLayout();
    myDataGrid.ScrollIntoView(myDataGrid.Items[rowIdx]);
    row = (DataGridRow)myDataGrid.ItemContainerGenerator.ContainerFromIndex(rowIdx);
}
Run Code Online (Sandbox Code Playgroud)

我也尝试在DataGrid的加载事件中执行此操作,但结果相同.

谢谢!

c# wpf events datagrid

4
推荐指数
2
解决办法
6917
查看次数

UI上的多线程WPF

在我的C#WPF应用程序中,我有一个DataGrid正上方,TextBox用户可以在键入时搜索和过滤网格.如果用户快速键入,则在键入后2秒内不会显示任何文本,因为UI线程太忙于更新网格.

由于大部分延迟都在UI端(即过滤数据源几乎是即时的,但重新绑定和重新渲染网格很慢),多线程并没有帮助.然后我尝试将网格的调度程序设置为较低级别,同时网格更新,但这也没有解决问题.这里有一些代码......关于如何解决这类问题的任何建议?

string strSearchQuery = txtFindCompany.Text.Trim();

this.dgCompanies.Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(delegate
    {
        //filter data source, then
        dgCompanies.ItemsSource = oFilteredCompanies;
    }));
Run Code Online (Sandbox Code Playgroud)

c# wpf multithreading

4
推荐指数
1
解决办法
1015
查看次数

资产文件夹未添加到Android Studio项目和APK

我正在尝试在Android Studio 2.1.2中为我的Android项目添加一个Assets文件夹.我右键单击该项目并选择New - > Folder - > Assets Folder.在左侧的项目窗格中,选择Android时它不会显示.如果我切换到Project Files,它会出现,但它看起来像一个普通的目录,而不是看起来像资源目录.然后我尝试通过Android Studio和文件浏览器向它添加文件(jpgs)(所有文件名都是小写的,没有特殊字符).如果解压缩创建的apk,则它不包含Assets目录或添加的文件.有时资产目录将从项目文件窗格中消失,尽管它仍然在资源管理器中.

我错过了什么步骤才能正确添加到我的项目中的Assets目录?

注意:这适用于期望图像文件存在的LibGdx项目.

android android-assets libgdx android-resources android-studio

3
推荐指数
2
解决办法
5942
查看次数

没有Getter/Setter的反思?

如果我在课堂上声明以下内容:

private int? MyID = null;
Run Code Online (Sandbox Code Playgroud)

然后尝试通过反射访问它,它将无法找到它.我的意思是,下面将gProp设置为null:

gType = refObj.GetType();
gProp = gType.GetProperty(PropertyName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其声明为:

private int? MyID { get; set; }
Run Code Online (Sandbox Code Playgroud)

这对我来说并不奇怪,因为我已经知道这是事实.但是,我想证实一下; 无论如何,使用反射使第一个声明工作,或者我是否提供了一个Getter/Setter以使反射起作用?

谢谢!

.net c# reflection runtime properties

1
推荐指数
2
解决办法
2241
查看次数

如何阻止Android Studio删除尾随空格?

我的Android Studio将持续自动删除尾随空格.特别是如果它是一个只有空格的空白行.我甚至可以手动添加空间,它会在几分钟之内再次摆脱它们​​.

这对我来说是一个问题,因为我正在研究一个已经存在一段时间的大型项目,我们的差异系统会在整个地方显示变化(我们的差异系统没有选项可以将其关闭,我们不能切换系统).这使得代码审查更加困难,并因此导致令人头疼的问题.

如何阻止Android Studio执行此操作?我在设置中找不到它.

谢谢

ide code-formatting android-studio android-ide

0
推荐指数
1
解决办法
2419
查看次数