我是一名新的Android程序员,最近,我的很多项目都收到了这个错误:
07-31 23:45:19.592: ERROR/AndroidRuntime(716): java.lang.RuntimeException: Unable to start
activity ComponentInfo{com.amrit.musifind/com.amrit.musifind.Main}:
java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?
这是整个logcat堆栈跟踪:
07-31 23:45:18.512: INFO/ActivityManager(63): Starting activity: Intent {
act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=com.amrit.musifind/.Main }
07-31 23:45:18.682: INFO/ActivityManager(63): Start proc com.amrit.musifind for activity
com.amrit.musifind/.Main: pid=716 uid=10025 gids={3003}
07-31 23:45:18.962: INFO/jdwp(716): received file descriptor 20 from ADB
07-31 23:45:19.102: DEBUG/ddm-heap(716): Got feature list request
07-31 23:45:19.572: DEBUG/AndroidRuntime(716): Shutting down VM
07-31 23:45:19.572: WARN/dalvikvm(716): threadid=3: thread exiting with uncaught
exception (group=0x4001aa28)
07-31 23:45:19.572: ERROR/AndroidRuntime(716): Uncaught handler: thread main exiting due
to uncaught …Run Code Online (Sandbox Code Playgroud) 我们有一个大型数据库,我们有数据库端分页.这很快,在几分之一秒内从数百万条记录中返回50行的页面.
用户可以定义自己的排序,基本上选择要排序的列.列是动态的 - 一些具有数值,一些日期和一些文本.
虽然大多数按预期文本排序是愚蠢的.嗯,我说愚蠢,它对计算机有意义,但让用户感到沮丧.
例如,按字符串记录ID排序会产生如下内容:
rec1
rec10
rec14
rec2
rec20
rec3
rec4
Run Code Online (Sandbox Code Playgroud)
...等等.
我希望这个考虑到这个数字,所以:
rec1
rec2
rec3
rec4
rec10
rec14
rec20
Run Code Online (Sandbox Code Playgroud)
我无法控制输入(否则我只是在前导000中格式化)而且我不能依赖单一格式 - 有些类似于"{alpha code} - {dept code} - {rec id}".
我知道在C#中有几种方法可以做到这一点,但是不能拉下所有记录来对它们进行排序,因为这样会慢.
有谁知道在Sql server中快速应用自然排序的方法?
我们正在使用:
ROW_NUMBER() over (order by {field name} asc)
Run Code Online (Sandbox Code Playgroud)
然后我们就这样分页.
我们可以添加触发器,但我们不会.他们所有的输入都是参数化的,但是我无法改变格式 - 如果他们输入"rec2"和"rec10",他们希望它们就像那样,以自然的顺序返回.
我们有有效的用户输入,遵循不同客户的不同格式.
有人可能会去rec1,rec2,rec3,... rec100,rec101
而另一个可能会去:grp1rec1,grp1rec2,... grp20rec300,grp20rec301
当我说我们无法控制输入时,我的意思是我们不能强迫用户更改这些标准 - 它们有一个像grp1rec1的值,我不能将其重新格式化为grp01rec001,因为这会改变用于查找的内容和链接到外部系统.
这些格式变化很大,但通常是字母和数字的混合.
在C#中对它们进行排序很容易 - 只需将其分解{ "grp", 20, "rec", 301 },然后依次比较序列值.
但是,可能有数百万条记录并且数据被分页,我需要在SQL服务器上进行排序.
SQL服务器按值排序,而不是比较 - 在C#中我可以将值拆分为比较,但在SQL中我需要一些逻辑(非常快)获得一致排序的单个值.
@moebius - 你的答案可能会有效,但是为所有这些文本值添加排序键确实感觉像是一个丑陋的妥协.
假设您的公司已经给您时间和金钱,可以获得有关您可以在一年内享用的高级编程主题的培训,全权委托.这些主题是什么?您希望如何获得它们?
假设:
用Python编写应用程序,并使用各种ORM设置和直接SQL.所有这些都是罪恶的丑陋.
我一直在将ZODB视为一个对象存储,它看起来很有前途......你会推荐它吗?您的经验,问题和批评是什么,特别是关于开发人员的观点,可扩展性,完整性,长期维护和替代方案?有人用它开始一个项目并抛弃它吗?为什么?
虽然ZODB,Pypersyst和其他人背后的想法很有趣,但他们似乎缺乏热情:(
我想从CSV文件创建一个数组.
这很简单,你可以想象,CSV文件只有一行和这些值:
Device, SignalStrength, Location, Time, Age.
Run Code Online (Sandbox Code Playgroud)
我想把这些值放到一维数组中.
我已经尝试了一些例子,但它们都比需要的更复杂.
我一直是一个很大程度上独立的学习者,从维基百科和各种书籍中收集到的东西.但是,我担心我可能会因无意中遗漏主题和概念而偏向于我的自我教育.我的目标是从顶尖大学自学相当于计算机科学的本科学位(无所谓).
为此,我购买并开始阅读一些学术教科书:
除了我在一所平庸的州立大学上课时留下的一些教科书:
我的问题是:
欢迎使用软件工程书籍,但请在学术研究的范围内.我知道Code Complete和Pragmatic Programmer,但我正在寻找一种更理论化的方法.谢谢!
这是一个非常微不足道的问题,但我似乎无法找到解决问题的方法.这让我烦恼,因为我觉得我应该知道答案,但我要么是在寻找错误的术语,要么是在寻找错误的方法和属性.
我有一个从两个地方调用的配置对话框.
第一个是从表单上的按钮正常工作 - 正如您所期望的那样.
第二个是来自系统托盘中notifyIcon的上下文菜单,但它出现在屏幕的左上角.理想情况下,我希望它显示在主屏幕的中心,或者可能靠近系统托盘.
我已经尝试过设置Location,但是在dialog.ShowDialog()调用时它似乎被覆盖了.
我已经尝试过使用dialog.ShowDialog(IWin32Window)重载,但这似乎并不像我那样传递null窗口句柄.
我尝试使用dialog.Show(),但(这是我可能出错的地方)设置位置似乎不会给出一致的结果.
我甚至尝试过设置dialog.Parent属性 - 这当然会引发异常.
我只知道当我(希望)看到一些答案时,我会意识到答案是显而易见的,但此刻我完全陷入困境.
谢谢你的答案 - 我怀疑这是显而易见的,但像往常一样,我一直坚持俯视错误的路线.更令人讨厌的是我也使用过设计师的这个属性.
我有一个带有验证规则的TextBox,它位于TabControl的选项卡上.验证规则失败时,默认的ErrorTemplate正确显示(TextBox周围的红色边框).
但是,如果切换到另一个选项卡,然后使用TextBox返回选项卡,则ErrorTemplate hightlight将消失.如果TextBox中有更改,则仍会调用验证规则并返回false,但仍未显示错误突出显示.
只有当文本内容被更改为有效然后再次无效时才会重新亮相.
我希望如果文本内容无效,切换到另一个选项卡并返回保持无效突出显示.任何想要获得这种行为的想法都是最受欢
xaml:
<TextBox Height="35" >
<TextBox.Text>
<Binding Path="pan_id" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ps:PanIdValidation />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud) 输入文件的记录为:8712351,8712353,8712353,8712354,8712356,8712352,8712355 8712352,8712355
使用COBOL我需要从上面的文件中删除重复项并写入输出文件.我编写了简单的逻辑来读取记录并写入输出文件.
我在哪里需要从上面的文件中删除重复项(例如,8712353,8712352)的逻辑.这是程序逻辑:
IDENTIFICATION DIVISION.
PROGRAM-ID.RemoveDup.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT INPUTFILEDUP ASSIGN TO 'C:\Cobol\INPUTFILEDUP.txt'
ORGANIZATION IS LINE SEQUENTIAL.
SELECT OUTFILEDUP ASSIGN TO 'C:\Cobol\OUTFILEDUP.txt'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD INPUTFILEDUP.
01 INPUTFILEDUPREC.
88 EOFINPUTFILEDUP VALUE HIGH-VALUES.
02 INPUTFILEID PIC 9(07).
FD OUTFILEDUP.
01 OUTFILEDUPREC PIC 9(07).
WORKING-STORAGE SECTION.
77 WS-VARIABLE PIC 9(09).
77 REC-NOT-MATCH PIC 9(01).
77 CUR-VARIABLE PIC 9(09).
PROCEDURE DIVISION.
BEGIN.
OPEN INPUT INPUTFILEDUP
OPEN OUTPUT OUTFILEDUP
READ INPUTFILEDUP
AT …Run Code Online (Sandbox Code Playgroud) 我想提出一个文件浏览器,会做两件事情:1)允许用户浏览和选择一个目录2)允许用户浏览他们的SD卡中的所有文件
我找了教程,但似乎找不到?有人可以通过解释我的代码需要做什么才能拥有一个简单的文件浏览器或者为我提供教程/源代码的链接来帮助我吗?
拜托,谢谢!