我是这个Android游戏的新手,我不知道如何从这一点开始。
我想将规则应用于按钮,这个想法很简单。我得到了这个按钮,当我按下它时,它有两个选项:它应该检查代码,如果它匹配,那么它启动一个Activity,如果没有,继续像往常一样。
如果它与数据库“相同”,则转到此新活动
否则它会继续滚动相同的类。
我也不知道如何继续执行这个类,如何调用它。
我接触到这段代码,但我不知道如何从这里开始。
那是我的代码:
public void Send(View view) throws IOException {
BdLocal bd = new BdLocal(this);
if (bd.getCodeCompany() == "0A0A0A0A0A0A0A") {
Intent intent = new Intent(NewCompanyCodeActivity.this, NewCompCodeSetup.class);
startActivityForResult(intent, 0);
} else {
//i dont know how to put the cass SendHug here
//Object.getClass(SendHug);?
}
class SendHug extends AsyncTask<String, Void, String>{
...
}
将此活动与班级分开工作
谢谢!
答案 0 :(得分:0)
您需要像这样更改if条件。并在其他地方调用您的AsyncTask。
public void Send(View view) throws IOException {
BdLocal bd = new BdLocal(this);
String text = bd.getCodeCompany();
if ( text.equals( "0A0A0A0A0A0A0A")) {
Intent intent = new Intent(NewCompanyCodeActivity.this, NewCompCodeSetup.class);
startActivityForResult(intent, 0);
} else {
new SendHug().execute();
}
答案 1 :(得分:0)
问题在于:bd.getCodeCompany() == "0A0A0A0A0A0A0A"
当您将两个String
对象与==
比较器进行比较时,您不是在比较它们的值,而是在比较它们的Object
相等性。 Java在同一内存位置检查它们是否确实是同一个对象。
在比较String
字面值"0A0A0A0A0A0A0A"
为了比较这些对象的值,您应该在.equals()
上调用String
方法。
使用.equals()
看起来像"0A0A0A0A0A0A0A".equals(bd.getCodeCompany())
。
通过调用String
字面上的方法,如果NullPointerException
可以返回bd.getCompany()
值,则可以避免潜在的null
。
您可以致电sendHug
,如:new SendHug().execute();