繁体   English   中英

Android:在理解用于扫描WiFi AP的wifi接收器和适配器概念并将其列在listview中时遇到麻烦

[英]Android: trouble in understanding wifi receiver and adapter concepts used to scan WiFi APs and list them in listview

public class MainActivity extends AppCompatActivity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener{

// Declare View variables
private Button mRefreshButton;
private Switch mWifiSwitch;
private ListView mAPListView;
private List<ScanResult> mWifiList;
private List<String> mListOfProviders;
private ListAdapter mAdapter;
private WifiManager mWifiManager;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mListOfProviders = new ArrayList<String>();
    mAPListView = (ListView) findViewById(R.id.APListView);
    mRefreshButton = (Button) findViewById(R.id.refreshButton);
    mWifiSwitch = (Switch) findViewById(R.id.WiFiSwitch);
    mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    boolean wasEnabled = mWifiManager.isWifiEnabled();
    if (wasEnabled){
        mWifiSwitch.setChecked(true);
    }
    mWifiSwitch.setOnCheckedChangeListener(this);

    //wifiReciever = new WifiScanReceiver();
    mWifiManager.startScan();
    mWifiList = mWifiManager.getScanResults();

}


@Override
public void onClick(View view)
{

}

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    if (isChecked){
        mWifiManager.setWifiEnabled(true);
    }
    else {
        mWifiManager.setWifiEnabled(false);
    }
}

}

我对Android开发非常陌生,只是构建一个Android应用程序来扫描可用的AP并列出它们。

但是,我在理解适配器和wifi接收器的概念和用法方面遇到了麻烦,这些接收器最常用于构建这些功能。

在开始扫描后,您能帮我解决实际存储和显示AP信息的问题吗?

谢谢。

您已经创建了ListView并生成了可用连接列表,因此您的大部分工作都已完成。 剩下要做的是使用列表中的对象填充ListView ,为此需要使用适配器。

但首先,您应该将连接的名称添加到您创建的List<String>

for ( ScanResult result :  mWifiList ) { 
 mListOfProviders.add( result.SSID); //This will add the SSID of the connection
}

然后,您将此列表传递给ArrayAdapter

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, android.R.id.text1, mListOfProviders);
mAPListView.setAdapter(adapter);

祝好运 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM