我必须在android应用程序和C++控制台应用程序之间建立连接: 控制台应用程序假设是客户端,它有4个命令从服务器获取数据,这是android设备。换句话说,我需要在控制台应用程序中显示设备信息(BT/WIFI开/关,BATTERY LVL)。C++控制台应用程序连接到android应用程序
我创建了客户端,我也有我必须检查的东西(如BT例如)的代码。 我唯一缺少的是这些之间的联系,我没有经验的服务器代码,我需要你的帮助,这是如何完成的或者教程的链接导致我没有找到一些。
了android代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//IMEI init
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
IMEI = telephonyManager.getDeviceId();
//software version init
PackageInfo pInfo = null;
try {
pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
int SoftwareVersion = pInfo.versionCode;
//battery lvl init
battery = Library.getBatteryLevel(this);
//android id init
android_id = Secure.getString(this.getContentResolver(),
Secure.ANDROID_ID);
//android availability init
internetaval = Library.isNetworkAvailable(this);
//finish init <<~~
TextView tv = (TextView) findViewById(R.id.tv1);
tv.setText(" " + internetaval);
Library.setWifi(this,false);
}
如果这是要分发给最终用户,蓝牙可能会更好,因为它包括服务发现。无线局域网可能还需要类似uPNP这样的东西,这对安装来说是相当多的额外复杂因素。 –
@JanHudec你说的对,不过很多电脑可能没有蓝牙适配器。另外蓝牙的范围很小(10米)。 –
@JanHudec同样在服务发现的角度来看,一个简单的解决方案是扫描一系列IP地址。 –