Program: który poprzez Internet steruje diodami mikrokontrolera.
Następnie wyniki włączania/wyłączania diod zostają zapisane do pliku txt wraz z godziną.
Kompilator: Eclipse
Kod programu:
Program główny – backend:
package com.example.przekaznik;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
public class MainActivity extends Activity {
WebViewClient wwClient= new WebViewClient();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1=(Button)findViewById(R.id.buttonDioda1);
Button b2=(Button)findViewById(R.id.buttonDioda2);
Button b3=(Button)findViewById(R.id.buttonDioda3);
Button b4=(Button)findViewById(R.id.buttonDioda4);
Button b5=(Button)findViewById(R.id.buttonDioda5);
Button b6=(Button)findViewById(R.id.buttonDioda6);
Button b7=(Button)findViewById(R.id.buttonDioda7);
Button b8=(Button)findViewById(R.id.buttonDioda8);
final SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd_HHmmss");
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=1");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 1\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=2");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 2\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=3");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 3\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=4");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 4\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=5");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 5\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=6");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 6\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=7");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 7\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
b8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WebView ww= new WebView(getApplicationContext());
ww.loadUrl("http://192.168.0.100/leds.cgi?led=8");
File file=new File(Environment.getExternalStorageDirectory().getPath()+"/"+"plik.txt");
FileOutputStream fos=null;
try {
fos=new FileOutputStream(file,true);
String zawartosc=sdf.format(new Date());
fos.write((zawartosc.toString()+" dioda 8\n").getBytes());
fos.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
} Layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="98dp" />
<Button
android:id="@+id/buttonDioda1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/webView1"
android:layout_marginLeft="32dp"
android:text="@string/d1" />
<Button
android:id="@+id/buttonDioda2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda1"
android:layout_alignBottom="@+id/buttonDioda1"
android:layout_toRightOf="@+id/buttonDioda1"
android:text="@string/d2" />
<Button
android:id="@+id/buttonDioda3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda2"
android:layout_alignBottom="@+id/buttonDioda2"
android:layout_toRightOf="@+id/buttonDioda2"
android:text="@string/d3" />
<Button
android:id="@+id/buttonDioda4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda3"
android:layout_alignBottom="@+id/buttonDioda3"
android:layout_toRightOf="@+id/buttonDioda3"
android:text="@string/d4" />
<Button
android:id="@+id/buttonDioda5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda4"
android:layout_alignBottom="@+id/buttonDioda4"
android:layout_toRightOf="@+id/buttonDioda4"
android:text="@string/d5" />
<Button
android:id="@+id/buttonDioda7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda5"
android:layout_alignBottom="@+id/buttonDioda5"
android:layout_toRightOf="@+id/buttonDioda6"
android:text="@string/d7" />
<Button
android:id="@+id/buttonDioda8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda7"
android:layout_alignBottom="@+id/buttonDioda7"
android:layout_toRightOf="@+id/buttonDioda7"
android:text="@string/d8" />
<Button
android:id="@+id/buttonDioda6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/buttonDioda7"
android:layout_alignBottom="@+id/buttonDioda7"
android:layout_toRightOf="@+id/buttonDioda5"
android:text="@string/d6" />
</RelativeLayout>