Привет, я работаю над Android-приложением, которое требует отправки строки через Wi-Fi на ПК, что приводит к имитации клавиатурных клавиш. Все идеи, как я могу достичь этой задачи?Как отправить строку с Android на ПК через wifi
ответ
Вы должны написать серверную программу на ПК и использовать ServerSocket, чтобы принять соединение и запись потока для вашего Android телефона, который использует обычный сокет (с тем же портом в конце PC) а затем управлять ими с помощью DataInputStream и DataOutputStream. Вам также необходимо открыть разрешения на вашем AndroidManifest.xml.
Для разрешения использовать это:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Для кода вот небольшой пример:
Сервер:
String msg_received;
ServerSocket socket = new ServerSocket(1755);
Socket clientSocket = socket.accept(); //This is blocking. It will wait.
DataInputStream DIS = new DataInputStream(clientSocket.getInputStream());
msg_received = DIS.readUTF();
clientSocket.close();
socket.close();
Клиент:
Socket socket = new Socket("192.168.0.1",1755);
DataOutputStream DOS = new DataOutputStream(socket.getOutputStream());
DOS.writeUTF("HELLO_WORLD");
socket.close();
ok Я сделал подключение к серверу сервера клиентов, и сервер уведомляет меня, если соединение установлено, но как я могу заставить клиента уведомить меня о соединении? –
Вы можете использовать socket.isConnected() –
Я не могу предложить полный код, но, по крайней мере, поможет вам в правильном направлении. Для этого вам необходимо использовать Sockets. Теперь, если вы ищете в Интернете, вы найдете множество статей и примеров, связанных с этой темой, определяющими Android. Например, this и this.
ok Я сделал подключение к серверу сервера клиентов, и сервер уведомляет меня, если соединение установлено, но как я могу заставить клиента уведомить меня о соединении? –
Возможно, вам придется написать какую-то программу для ПК, которая выступает в качестве «сервера» для приложения Android для отправки через Socket или Stream.
ok Я сделал соединение сокета клиентского сервера, и сервер уведомляет меня, если соединение установлено, но как я могу заставить клиента уведомить меня о соединении? –
Коммуникационная часть довольно проста. Откройте TCP-сервер на ПК и попросите TCP-клиент на устройстве Android отправить его Strings/Commands. Хорошее руководство можно найти here, но вам нужно будет его модифицировать для ваших нужд.
Обратите внимание, что при работе с TCP это не должно делаться из основного потока, а из фонового потока. Хорошим методом для этого является AsyncTask (Когда вы туда доберетесь).
Другая часть - симуляция клавиатуры. Для этого вам необходимо использовать класс java.awt.Robot.
Спасибо, но мне также нужна строка, которая будет получена на ПК, будет ли мой компьютер действовать как сервер? как приложение Android и приложение для ПК будут общаться? –
Это именно то, для чего нужны сокеты TCP. для обоих устройств. – MByD
ok Я сделал соединение сокета клиентского сервера, и сервер уведомляет меня, если соединение установлено, но как я могу заставить клиента уведомить меня о соединении? –
на основе вашего веб-сайт erver design вы либо используете спокойную связь или мыло, а затем отправляете свои данные по протоколу HTTP на свой веб-сервис и получаете от него желаемый ответ. я написал веб-сервис asp для мыльного подхода, который я объясню ниже.
Вот ява пример кода для стандартного мыла:
private static String NameSpace = "http://tempuri.org/";
//below url must be your service url, mine is a local one
private static String URL = "http://192.168.2.213/hintsservice/service.asmx";
private static String SOAP_ACTION = "http://tempuri.org/";
public static String Invoke(String s) {
//respond string from server
String resTxt = "";
//the name of your web service method
final String webMethName = "Hint";
// Create request
SoapObject request = new SoapObject(NameSpace, webMethName);
// Property which holds input parameters
PropertyInfo PI = new PropertyInfo();
// Set Name
PI.setName("s");
// Set Value
PI.setValue(s);
// Set dataType
PI.setType(String.class);
// Add the property to request object
request.addProperty(PI);
// Create envelope
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
//Set envelope as dotNet
envelope.dotNet = true;
// Set output SOAP object
envelope.setOutputSoapObject(request);
// Create HTTP call object
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
// Invoke web servi.ce
androidHttpTransport.call(SOAP_ACTION + webMethName, envelope);
// Get the response
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
// Assign it to resTxt variable static variable
resTxt = response.toString();
}catch (Exception e) {
//Print error
e.printStackTrace();
//Assign error message to resTxt
resTxt = "Error occured";
}
//Return resTxt to calling object
return resTxt;
}
теперь вам просто нужно вызвать этот метод из соответствующей деятельности, и пусть ваш веб-сервис сделает все остальное. Вот пример веб-службы в C# языке:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
public Service() {
//Uncomment the following line if using designed components
//InitializeComponent();
[WebMethod]
public string Hint(string s) {
string response = string.Empty;
//todo: produce response
return response;
}
}
}
- 1. Отправить строку с телефона Android на ПК
- 2. Как отправить фиксированную строку через wifi в android
- 3. Передача данных с телефона android (WiFi) на ПК (LAN)
- 4. Сообщайте приложение для Android на ПК Приложение через Wifi
- 5. Как отправить данные через WiFi?
- 6. Отправить файл с ПК на Android через гнездо
- 7. Клиент-сервер между Android и ПК через WIFI
- 8. Передача изображений с устройства android на ПК с использованием WiFi
- 9. Не удается подключить ПК/Android через wifi в локальной сети
- 10. Wifi, чтобы быть как ПК?
- 11. Android: Ищете способ ускорить передачу изображений с Android на ПК через wifi
- 12. Отправить данные через USB из приложения Android на ПК
- 13. WIFI to WIFI Подключение через Android
- 14. Как отправить данные на wifi-принтер
- 15. Отправить простую строку вместо файла через WiFi P2P
- 16. Доступ к localhost xampp на другом ПК, подключенном через wifi
- 17. Как отправить ioctls на wifi-драйвер с помощью Android-приложений
- 18. Отправить int значение для ПК с Android
- 19. Делитесь файлами с Android на ПК и наоборот через wifi Точка доступа
- 20. Отправить файл через Bluetooth с ПК на мобильный с C#
- 21. Как отправить строку с Android на php
- 22. Как отправить файлы с ПК на Android-устройство программно
- 23. Приложение для Android для отображения содержимого с ПК, подключенного через wifi
- 24. Лучший способ отправить данные с ПК на Android
- 25. отправить аудио в малину pi через wifi
- 26. Как отправить файл изображения с ПК на планшет wifi с помощью приложения Windows C#
- 27. Связь между ПК и телефоном Android с использованием wifi
- 28. настроить Android WIFI через USB
- 29. android: получить IP через WIFI на ICS
- 30. http соединение через WiFi на android
Вы можете использовать эту ссылку [введите описание ссылки здесь] (http://stackoverflow.com/questions/10388250/how-to-send-string- from-android-to-pc-over-wifi? noredirect = 1 & lq = 1) –
Извините, вы можете использовать эту ссылку: [введите ссылку здесь] (http://stackoverflow.com/questions/31611593/send-text- из-андроида к ПК-через-Wi-Fi-соединение?noredirect = 1 & lq = 1) –