Z
zander85
Neues Mitglied
- 0
Hallo Zusammen,
ich möchte als erste eigene App die Ausgänge eines Arduino-Boards mit RedFly Wifi-Shield mit meinem Smartphone steuern.
Hierzu fand ich im Netz ein Beispiel (Quelle: Kommunikation zwischen Android und Arduino mit RedFly-Shield) welches ich für meine Bedürfnisse abgeändert habe. Soweit funktioniert das wunderbar.
Wenn ich allerdings in Eclipse ein "neues Projekt" anlege und die Inhalte der funktionierenden App in die neue MainActivity kopieren möchte scheitere ich an activity_main und fragment_main. Mir ist nicht klar wo ich die Inhalte der funktionierenden App (ohne fragment) hinpacken muss...
Kurz zur Funktion: Ich habe vier Buttons über welche ich zwei Ausgänge HIGH und LOW schalte. Wenn ich einen Button drücke kommt die Fehlermeldung "Problem xyz" (s. unten).
Ich vermute das das view.getId() nicht auf das das fragment_main zugreifen kann!?
Kann mir jemand weiterhelfen?
ich möchte als erste eigene App die Ausgänge eines Arduino-Boards mit RedFly Wifi-Shield mit meinem Smartphone steuern.
Hierzu fand ich im Netz ein Beispiel (Quelle: Kommunikation zwischen Android und Arduino mit RedFly-Shield) welches ich für meine Bedürfnisse abgeändert habe. Soweit funktioniert das wunderbar.
Wenn ich allerdings in Eclipse ein "neues Projekt" anlege und die Inhalte der funktionierenden App in die neue MainActivity kopieren möchte scheitere ich an activity_main und fragment_main. Mir ist nicht klar wo ich die Inhalte der funktionierenden App (ohne fragment) hinpacken muss...
Kurz zur Funktion: Ich habe vier Buttons über welche ich zwei Ausgänge HIGH und LOW schalte. Wenn ich einen Button drücke kommt die Fehlermeldung "Problem xyz" (s. unten).
Ich vermute das das view.getId() nicht auf das das fragment_main zugreifen kann!?
Kann mir jemand weiterhelfen?
PHP:
package de.arduinoredfly_01_menue;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import de.arduinoredfly_01_menue.R;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Build;
import android.preference.PreferenceManager;
public class MainActivity extends Activity {
WifiManager wifi;
TextView textStatus;
ArduinoredflyCommManager commMan;
SharedPreferences prefs;
//Erstellen des Menü´s
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//Erstellen des Einstellungen-Eintrags
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
//Erstellen des Layouts
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Fixieren auf Porträt-Orientierung (kein automatisches Bildschirmdrehen)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
commMan = new ArduinoredflyCommManager();
//Ausgeben simpler WLAN-Verbindungseigenschaften
//textStatus = (TextView) findViewById(R.id.textStatus);
//wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
//WifiInfo info = wifi.getConnectionInfo();
//textStatus.setText("WiFi Status: " + info.toString());
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
// A placeholder fragment containing a simple view.
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
//Eventhandler für Change-Events an den Buttons (drücken)
public void myClickHandler(View view) {
InetAddress address;
try {
//IP festlegen
address = InetAddress.getByName("192.168.43.57");
}catch (Exception ex){
Toast.makeText(this, "IP nicht erreichbar",
Toast.LENGTH_LONG).show();
return;
}
try{
int pin;
//Port festlegen
int port = 22;
switch (view.getId()) {
case R.id.btn_pin8_ein:
pin = 8;
commMan.sendDigitalCommand(pin, true, address, port);
break;
case R.id.btn_pin9_ein:
pin = 9;
commMan.sendDigitalCommand(pin, true, address, port);
break;
case R.id.btn_pin8_aus:
pin = 8;
commMan.sendDigitalCommand(pin, false, address, port);
break;
case R.id.btn_pin9_aus:
pin = 9;
commMan.sendDigitalCommand(pin, false, address, port);
break;
default:
return;
}
}catch (Exception ex){
Toast.makeText(this, "Problem xyz",
Toast.LENGTH_LONG).show();
}
}
}