我是安卓系统的新手,不知道如何从这一点开始。
我想对一个按钮应用一个规则,这个想法很简单。我得到了这个按钮,当我按下它时,它有两个选项:它应该检查代码,如果匹配,则启动一个"活动",如果不匹配,则照常进行。
如果它与数据库"相同",它就会进入这个新的活动
否则,它会继续滚动相同的类。
我也不知道如何执行这个类,如何调用它。
我接触到了这个代码,但我不知道如何从这里开始。
这是我的代码:
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>{
...
}
分离此活动和类工作精细
谢谢!
问题就在这里:bd.getCodeCompany() == "0A0A0A0A0A0A0A"
当用==
比较器比较两个String
对象时,不是比较它们的值,而是比较它们的Object
相等性。Java检查它们是否在相同的内存位置上是同一个对象。
当比较String
文字(如"0A0A0A0A0A0A0A"
(时,这永远不会是真的
为了比较这些对象的值,您应该在String
上调用.equals()
方法。
.equals()
的使用看起来像"0A0A0A0A0A0A0A".equals(bd.getCodeCompany())
。
如果bd.getCompany()
可能返回null
值,则通过对String
文字调用该方法可以避免潜在的NullPointerException
。
您可以调用sendHug
,如:new SendHug().execute();
您需要像这样更改if条件。并在else中调用您的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();
}