在我的Android应用程序中,我有两个活动类.我在第一个按钮上有一个按钮,我想在点击它时显示第二个按钮,但是我收到错误.以下是课程:
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button orderButton = (Button)findViewById(R.id.order);
orderButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(FirstActivity.this, OrderScreen.class);
startActivity(intent);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
单击按钮时应显示的第二个类,但从不执行:
public class OrderScreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order);
Button orderButton = (Button) findViewById(R.id.end);
orderButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
如何创建一个显示第二个活动的按钮?
听听Scott Hanselman对Stack Overflow团队的采访(第1部分和第2 部分),他坚持认为SQL服务器和应用服务器应该在不同的机器上.这只是为了确保如果一台服务器受到攻击,两个系统都无法访问?安全问题是否超过两台服务器的复杂性(额外成本,两者之间的专用网络连接,更多维护等),特别是对于小型应用程序而言,这两种服务器都没有使用过多的CPU或内存?即使有两台服务器,一台服务器受到攻击,攻击者仍可能通过删除数据库或弄乱应用程序代码而造成严重损害.
如果性能不是问题,为什么会这么大?
database security networking infrastructure hardware-infrastructure
在C#中是否有一种简单的方法来读取属性文件,该文件在单独的行上包含每个属性,后跟等号和值,如下所示:
ServerName=prod-srv1
Port=8888
CustomProperty=Any value
Run Code Online (Sandbox Code Playgroud)
在Java中,Properties类可以轻松处理此解析:
Properties myProperties=new Properties();
FileInputStream fis = new FileInputStream (new File("CustomProps.properties"));
myProperties.load(fis);
System.out.println(myProperties.getProperty("ServerName"));
System.out.println(myProperties.getProperty("CustomProperty"));
Run Code Online (Sandbox Code Playgroud)
我可以轻松地在C#中加载文件并解析每一行,但是有没有内置的方法来轻松获取属性而无需解析密钥名称和等号本身?我发现的C#信息似乎总是支持XML,但这是一个我无法控制的现有文件,我宁愿将其保留为现有格式,因为需要更多时间让其他团队将其更改为XML而不是解析现有的文件.
有没有办法在不关闭模拟器的情况下在模拟器中重新加载Android应用程序,保存任何代码更改,并再次运行模拟器?如果我对布局进行简单的更改,那么在Eclipse和Android"靴子"中运行它需要大约30秒,我可以解锁模拟器来运行应用程序.有什么办法可以在做出改变时缩短这个时间,还是我只需要处理它?
当我在我的数据库上运行mysqldump命令然后尝试导入它时,它会失败,因为它尝试按字母顺序创建表,即使它们可能有一个外键在文件后面引用一个表.似乎没有成为任何东西的文档,我已经找到答案,像这样是说,它的创建后,包括更新文件:
set FOREIGN_KEY_CHECKS = 0;
...original mysqldump file contents...
set FOREIGN_KEY_CHECKS = 1;
Run Code Online (Sandbox Code Playgroud)
有没有办法自动设置这些行或以必要的顺序导出表(不必手动指定所有表名,因为这可能是单调乏味且容易出错)?我可以将这些行包装在脚本中,但是想知道是否有一种简单的方法可以确保我可以转储文件然后导入它而无需手动更新它.
当多个文件放入监视目录时,我遇到了FileSystemWatcher的问题.我想在文件放入目录后立即解析它.通常,第一个文件解析正常,但向目录添加第二个文件会导致访问问题.偶尔,第一个文件甚至不会解析.只有一个应用程序正在运行并正在查看此目录.最终,此进程将在多台计算机上运行,并且它们将监视共享目录,但只有一台服务器可以解析每个文件,因为数据已导入数据库且没有主键.
这是FileSystemWatcher代码:
public void Run() {
FileSystemWatcher watcher = new FileSystemWatcher("C:\\temp");
watcher.NotifyFilter = NotifyFilters.FileName;
watcher.Filter = "*.txt";
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
Run Code Online (Sandbox Code Playgroud)
然后是解析文件的方法:
private void OnChanged(object source, FileSystemEventArgs e) {
string line = null;
try {
using (FileStream fs = new FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.None)) {
using (StreamReader sr = new StreamReader(fs)) {
while (sr.EndOfStream == false) {
line = sr.ReadLine();
//parse the line and insert into the database
}
}
}
}
catch (IOException ioe) …
Run Code Online (Sandbox Code Playgroud) 当创建一个使用的类的单元测试HttpContext.Current.Cache
类,我使用NUnit时得到一个错误.功能是基本的 - 检查项目是否在缓存中,如果没有,则创建它并将其放入:
if (HttpContext.Current.Cache["Some_Key"] == null) {
myObject = new Object();
HttpContext.Current.Cache.Insert("Some_Key", myObject);
}
else {
myObject = HttpContext.Current.Cache.Get("Some_Key");
}
Run Code Online (Sandbox Code Playgroud)
当从单元测试中调用它NullReferenceException
时,它在遇到第一Cache
行时失败.在Java中,我会使用Cactus来测试服务器端代码.我可以使用类似的工具用于C#代码吗? 这个问题提到了模拟框架 - 这是我测试这些方法的唯一方法吗?是否有类似的工具来运行C#测试?
此外,我不检查是否Cache
为null,因为我不想专门为单元测试编写代码,并假设它在服务器上运行时始终有效.这是有效的,还是应该在缓存周围添加空检查?
我试图弄清楚iPhone是否可以通过无线或蓝牙连接到另一台非iPhone设备并且看到了相互矛盾的信息.我发现的大部分内容都是在SDK 3.0版本发布之前发布的,但肯定是不可能的.查看Stack Overflow问题,例如iPhone 3.0 SDK可以提供对蓝牙设备(耳机)的完全访问吗?提到你无法连接到任意设备,除非它是"Works for iPhone"设备的一部分.我是否需要硬件作为此计划的一部分?
通过Apple文档,Peer-to-Peer Connectivity,它提到将两部iPhone连接到另一部蓝牙设备,而不是iPhone.然后有一些文章,如iPhone SDK焦点:包含此引用的蓝牙增强功能
...以及新发布的"标准支持"应允许iPhone和计算机之间以及附近iPhone之间的文件传输
另一个Stack Overflow问题,iPhone SDK 3.0中的GameKit提到了Bonjour,而Bonjour 的Apple文档谈到了连接到Bonjour设备,但iPhone可以连接到任何Bonjour设备吗?它是否必须具有Wi-Fi连接,还是可以使用蓝牙?
即使我可以使用蓝牙连接到另一台设备,我相信它不会在第一代iPhone和iTouches上使用.那是对的吗?我正在考虑一个需要与该地区的其他非iPhone设备通信的iPhone应用程序,可能使用蓝牙,但可能是直接的无线连接.这种方法有哪些可能性和局限性?是否有可能将iPhone连接到任意蓝牙设备?其他设备是否必须在无线Bonjour网络上?我试图弄清楚它是否有可能工作或者不值得努力.
有没有办法以编程方式比较两个声音文件,以确定它们是相同还是几乎相同?这些不是mp3文件,没有任何ID3或其他元数据,而是普通的wav文件.比较校验和值可能不起作用,因为它们可能不完全相同.
c# ×3
android ×2
security ×2
audio ×1
bluetooth ×1
bonjour ×1
comparison ×1
data-import ×1
database ×1
eclipse ×1
file-access ×1
file-io ×1
foreign-keys ×1
https ×1
iphone ×1
load ×1
mocking ×1
mysql ×1
mysqldump ×1
networking ×1
nunit ×1
unit-testing ×1
wireless ×1