Я создаю приложение IoT для управления лампочкой через собственное android приложение. Используемый модуль - Sonoff Basi c с открытым программным обеспечением. Протокол http подключен для браузера. Теперь то же самое должна быть реализация для собственного приложения. У меня проблема с написанием кода, я не знаю, что делать с подключенным. Я пытаюсь связать данные, но безрезультатно, мне нужно это приложение для моего технического проекта. Мой код версии показывает это:
main_activity. xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="280dp"
android:gravity="center"
android:onClick="button1"
android:text="@string/on"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteX="161dp" />
</android.support.constraint.ConstraintLayout>'
Java:
MainActivity.java
' package com.example.myapplication;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import org.w3c.dom.Text;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import static android.support.v7.widget.AppCompatDrawableManager.get;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate( Bundle savedInstanceState ) {
super.onCreate ( savedInstanceState );
setContentView ( R.layout.activity_main );
}
public void button1( View view ) throws IOException {
URL url = new URL("http://192.168.1.20/?device=relay&name=lampa&command=on");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader( con.getInputStream()));
String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine);
} in.close();
}
}'