我对我正在构建它的Android应用程序感到困惑,因为它是我的第一个。我有两个类,我的第一个叫做“选项”,它调用第二个类“NetworkConnection”,然后检查是否有可用的网络连接,如果有,我想传回一个“1”或者如果有的话然后没有传回“0”。我正在这样做,因为我想在其他几个类中使用“NetworkConnection”,这似乎是最好的方法。有人要么指出一个简单的例子,只是在下面添加几行代码,厚颜无耻我知道,但我无法解决它,它不像普通的Java?!非常感谢:))
公共类选项扩展活动{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
NetworkConection nc = new NetworkConection();
}
}
//网络连接类
公共类NetworkConnection扩展了Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myClickHandler(null);
}
public void myClickHandler(View view ) {
ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
//pass back the value of 1
} else {
//pass back the value of 0
}
}
}
答案 0 :(得分:1)
我对你正在使用的逻辑感到困惑。如果您只是想检查连接,为什么在第二个类中使用Activity?
还为什么要返回0和1?为什么不返回布尔值true或false?
所以我认为这就是你想要的?
public class Options extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
NetworkConection nc = new NetworkConection();
boolean networkAvail = nc.isNetworkConnAvail();
}
}
所以你要检查第二类连接是否可用。所以 我创建了一个公共方法,因此您可以调用选项类。
public class NetworkConnection{
public boolean isNetworkConnAvail() {
ConnectivityManager connMgr = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo != null)
return networkInfo.isConnected();
return false;
}
}
答案 1 :(得分:0)
为什么要扩展活动?你在测试时是否展示了新视图? 如果你那么你需要使用startActivityForResult并使用setResult来返回结果
答案 2 :(得分:0)
要启动活动,您必须这样做:
final Intent intent = new Intent (Options.this, NetworkConnection.class);
startActivityForResult(intent, NETWORK_CONNECTION);
上面的代码表示您想要开始一项活动。 startActivityForResult
表示您希望在新单元关闭时返回第一个(在您的情况下为选项)。
结果可以使用代码NETWORK_CONNECTION(您将在Options中创建的全局变量)在OnActivityResult
(在选项中)中捕获。
关闭NetworkConnection活动时,只需执行以下操作:
final Intent intent = new Intent();
intent.putExtra("myresult", thevalueyouwant);
setResult(Activity.RESULT_OK, intent);
finish();
通过这种方式,您将能够在Options活动的onActivityResult中读取“myresult”的值。
我的回答并不完整,但您必须阅读有关这些方法的更多信息才能成功;)