我必須在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地址。 –