Android HTTP GET 请求
Android HTTP GET Request
我用 Flask 创建了一个 Python REST api,'should' 允许我将 phone 用作键盘。
如果我在 phones 网络浏览器上转到“http://192.168.0.37:5000/keyboard/a”,我的笔记本电脑将输入字母 a。 (这有效)。
我尝试创建一个 Android 应用程序来发出 http 请求,但它似乎不起作用。
这是我使用的代码。我已经在一个基本的 Java 文件中测试过它并且它可以工作,但它不会在 Android 应用程序中工作。
private void sendGet(String letter) throws IOException {
URL keyB = new URL("http://192.168.0.37:5000/keyboard/" + letter);
Toast.makeText(getApplicationContext(), keyB.toString(), Toast.LENGTH_SHORT).show();
URLConnection kb = keyB.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
kb.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
a.append(inputLine);
}
in.close();
Toast.makeText(getApplicationContext(), a.toString(), Toast.LENGTH_SHORT).show();
}
感谢@RemeesMSyde 的评论。
我将该方法放入 AsyncTask 中,现在可以使用了。
这是我用过的代码。
class SendKeyStroke extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... letter) {
try {
URL keyB = new URL("http://192.168.0.37:5000/keyboard/" + letter[0]);
System.out.println(keyB.toString());
URLConnection kb = keyB.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(kb.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
a.append(inputLine);
}
in.close();
} catch(Exception ex) {
}
return null;
}
}
我用 Flask 创建了一个 Python REST api,'should' 允许我将 phone 用作键盘。
如果我在 phones 网络浏览器上转到“http://192.168.0.37:5000/keyboard/a”,我的笔记本电脑将输入字母 a。 (这有效)。
我尝试创建一个 Android 应用程序来发出 http 请求,但它似乎不起作用。
这是我使用的代码。我已经在一个基本的 Java 文件中测试过它并且它可以工作,但它不会在 Android 应用程序中工作。
private void sendGet(String letter) throws IOException {
URL keyB = new URL("http://192.168.0.37:5000/keyboard/" + letter);
Toast.makeText(getApplicationContext(), keyB.toString(), Toast.LENGTH_SHORT).show();
URLConnection kb = keyB.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
kb.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
a.append(inputLine);
}
in.close();
Toast.makeText(getApplicationContext(), a.toString(), Toast.LENGTH_SHORT).show();
}
感谢@RemeesMSyde 的评论。
我将该方法放入 AsyncTask 中,现在可以使用了。
这是我用过的代码。
class SendKeyStroke extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... letter) {
try {
URL keyB = new URL("http://192.168.0.37:5000/keyboard/" + letter[0]);
System.out.println(keyB.toString());
URLConnection kb = keyB.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(kb.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
a.append(inputLine);
}
in.close();
} catch(Exception ex) {
}
return null;
}
}