gpt4 book ai didi

java - 在 android 中使用类 - 使用 Context 和 helper 类

转载 作者:搜寻专家 更新时间:2023-11-01 09:14:45 25 4
gpt4 key购买 nike

我还是android的新手,请有人帮忙。

我想使用 Net 类中的方法,如下所示:

package com.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.widget.TextView;

public class MyApp extends Activity {

/** Called when the activity is first created. */
private Net wifi;

TextView textStatus;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);

wifi=new Net(this);
textStatus = (TextView) findViewById(R.id.text);
textStatus.append("Your online status is ");

if (wifi.isOnline()) {
textStatus.append("online "+wifi.getInfo());
} else {
textStatus.append("offline "+wifi.getInfo());
}
}
}

和我的网络课:

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.IBinder;

public class Net {
WifiManager wifi;
ConnectivityManager cm;
NetworkInfo netInfo;

public Net (Context ctx) {
cm = (ConnectivityManager) ctx.getSystemService(ctx.CONNECTIVITY_SERVICE);
netInfo = cm.getActiveNetworkInfo();
wifi = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE);
}

public boolean isOnline() {
netInfo = cm.getActiveNetworkInfo();

if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
} else {
return false;
}
}

public NetworkInfo[] getName() {
NetworkInfo[] name=cm.getAllNetworkInfo();
return name;
}

public String getInfo() {
// Get WiFi status
WifiInfo info = wifi.getConnectionInfo();
return info.getSSID().toString();
}
}

我认为我不应该使用 Activity 扩展我的 Net 类?我在运行应用程序时遇到找不到源错误。

最佳答案

I believe I should not be extending my Net class with Activity?

正确!

您的 Net 类只是一个帮助程序,因此可以简单地定义为:

public class Net {

public Net (Context ctx) {
cm = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
netInfo = cm.getActiveNetworkInfo();
}

// Your other methods here...
}

创建 wifi 对象时,使用 wifi = new Net(this);

Android 中的 Activity 类用于为视觉/交互元素(例如按钮、 TextView 等)提供 UI 框架 - 基本上是用户需要与之交互的任何东西。这不适合您的 Net 类(class)。

关于java - 在 android 中使用类 - 使用 Context 和 helper 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5526221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com