Ich kann nicht debuggen, da ich ja das Digitus Kabel im einzigen Anschluss habe. Deshalb weiß ich auch nicht wo es "hängt" und kann nicht genauer fragen.
Beiträge von Michaela
-
-
Ich habe jetzt folgenden Code:
Code
Alles anzeigenpublic class MainActivity extends Activity { (...) public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* create editable text objects */ readText = (EditText) findViewById(R.id.ReadValues); writeText = (EditText) findViewById(R.id.WriteValues); writeButton = (Button) findViewById(R.id.WriteButton); /* allocate buffer */ writeBuffer = new byte[64]; readBuffer = new byte[4096]; readBufferToChar = new char[4096]; actualNumBytes = new int[1]; /* handle write click */ writeButton.setOnClickListener(new View.OnClickListener() { // @Override public void onClick(View v) { if (writeText.length() != 0x00) { writeData(); } } }); uartInterface = new FT311UARTInterface(this); uartInterface.SetConfig(baudRate, dataBit, stopBit, parity, flowControl); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); handlerThread = new handler_thread(handler); handlerThread.start(); } final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { for(int i=0; i<actualNumBytes[0]; i++) { readBufferToChar = (char)readBuffer; } appendData(readBufferToChar, actualNumBytes[0]); } }; /* usb input data handler */ private class handler_thread extends Thread { Handler mHandler; /* constructor */ handler_thread(Handler h) { mHandler = h; } public void run() { Message msg; while (true) { try { Thread.sleep(200); } catch (InterruptedException e) { } status = uartInterface.ReadData(4096, readBuffer,actualNumBytes); if (status == 0x00 && actualNumBytes[0] > 0) { msg = mHandler.obtainMessage(); mHandler.sendMessage(msg); } } } } public void writeData() { String srcStr = writeText.getText().toString(); String destStr = ""; String[] tmpStr = srcStr.split(" "); } public void appendData(char[] data, int len) { if(len >= 1) readSB.append(String.copyValueOf(data, 0, len)); char[] ch = readSB.toString().toCharArray(); String temp; StringBuilder tmpSB = new StringBuilder(); readText.setText(tmpSB); } }
Allerdings funktioniert das noch nicht. Kann jemand helfen?
-
Ich habe mir jetzt ein FTP-Konto und eine MySQL-Datenbank erstellt.
Dort kann ich nun eine PHP-Datei hochladen? Falls ja, wie? -
Hallo,
ich möchte eine App entwickeln, bei der man Fotos hochladen und Text posten kann. Evtl. dass man sich auch in einen Account einloggt. Brauche ich dazu einen Server? Wie stelle ich das an?
Mit Apps habe ich schon ein bisschen Erfahrung gesammelt. Allerdings noch nicht mit Netzwerkkommunikation.
Über jede Hilfe bin ich dankbar [Blockierte Grafik: http://www.android-hilfe.de/images/smilies/extra/thumbup.gif]
-
Schonmal danke für diese erste Rückmeldung.
Wie kann ich den USB Port öffnen? Ein Beispielprojekt wäre echt super, weil ich keinen Ansatz finde... -
Hallo,
ich würde gerne einen Datenstring von RS232 über USB einlesen. Dabei bin ich auf das Digitus Android zu RS232-Kabel gestoßen. Leider habe ich keinen Ansatz wie ich das bewerkstelligen könnte. Kann mir jemand helfen?
Vielen Dank!
-
Okay, dann werde ich das versuchen.
Oder gibt es noch eine andere Möglichkeit die vergangene Zeit anzeigen zu lassen? -
Danke für die Antwort.
Ja, der wird auf dem MainThread ausgeführt. Muss ich stattdessen einen weiteren Thread erzeugen, der sich parallel um den Timer kümmert? -
Ich rufe einen Timer über
auf.
Dieser soll die verstrichene Zeit in Minuten und Sekunden anzeigen.
Allerdings toggelt der Timer immer um 2 Sekunden.
Also bspw: 05:45, eine Sekunde später 05:46 und dann sofort 05:47 angezeigt.
Ohne dass eine Sekunde zwischen 5:46 und 5:47 war. Woran kann das liegen? -
Hallo,
ich habe folgendes Problem: Ich möchte mit
die Resource eines Bildes ändern.
Das funktioniert mit einem Bild yz als Quelle wunderbar, aber wenn ich xy als quelle nehme nicht. Dann bekomme ich im Logcat den Fehler Unknown Source und die App crasht. Woran kann das liegen, dass er das Bild nicht findet und das andere schon? Beides im gleichen Ordner und ich mache beide Male genau das selbe. Project -> Clean hab ich auch schon gemacht.
Vielen Dank schonmal. -
Vielen Dank für die ausführliche Antwort. Frage 2 ist damit beantwortet
Zu 1: Mir geht es darum, dass ich sicher gehen möchte, dass in Zeiten großer Auslastung trotzdem keine Daten verloren gehen.
Und das wäre ja der Fall wenn Altes ersetzt wird. Wie genau geht das mit buffer.capacity() für den Android eigenen Buffer? -
Zu der zweiten Frage: Das Problem ist, dass zB manchmal "te" und "st" ankommt.
Teilweise aber auch "tes" und "t". Wie kann ich damit umgehen und die Nachricht so bekommen wie abgeschickt? -
Hallo,
was hat das Android Gerät für einen Bluetooth Buffer? Also wenn ich die Daten überbytes = mmInStream.read(buffer);
byte[] readBuf = (byte[]) buffer;
String strIncom = new String(readBuf, 0, bytes);einlese, dann waren die Daten ja vorher in einem Android eigenen Buffer. Wie groß ist dieser?
Wenn ich permanent Daten schicke und nicht abrufe müsste der ja irgendwann überlaufen.Die zweite Frage: Wenn ich die Daten anschließend auf einen Inhalt überprüfe mit
if (cmplStrIncom.contains("test")) {...}
und dem Gerät das Wort test schicke, dann reagiert es nicht immer. Woran liegt das?
Wenn ich zB nur t schicke funktioniert es immer. -
Hallo,
ich habe bei Start der App (in der onCreate) eine Abfrage: wenn Bluetooth nicht an, schalte es an. Wenn Bluetooth bereits an, tue nichts. Anschließend möchte ich die gepaarten Geräte in einer Liste anzeigen.
Wenn das BT bereits an war bevor ich die App starte funktioniert das wunderbar. Wenn es allerdings aus war und ich es einschalte, ist die Liste nicht sichtbar. Ich habe schon alles mögliche versucht, zu aktualisieren etc. aber hat nichts geholfen. Wenn ich den Bildschirm allerdings sperre und dann wieder entsperre ist die Liste plötzlich da.
Kann mir jemand helfen? -
Stimmt, im Manifest ändern funktioniert. Merci!
-
-
Okay danke. Aber ist es möglich?
-
Also mit der ConnectionActivity stelle ich eine Verbindung zu einem anderen Gerät her. Anschließend wechsle ich wieder auf die MainActivity. Sobald nun das andere Gerät bspw. "Bild1" sendet soll Bild1 in der MainActivity angezeigt werden. Wenn es "Bild2" sendet entsprechend Bild2 etc. Die Bilder nicht vom Internet sondern bereits im Projektordner.
-
Also in meiner MainActivity habe ich folgenden Code:
Codepublic final Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case SET_1: changeImage(); break; case SET_2: Toast.makeText(getApplicationContext(),"Fall2",Toast.LENGTH_LONG).show(); break; default: break; } } };
mit der Funtion:
Codepublic void changeImage() { imgView.setImageResource(R.raw.anderesBild); Toast.makeText(getApplicationContext(),"changeImage",Toast.LENGTH_LONG).show(); }
In meiner ConnectionActivity habe ich:
Codeif (cmplStrIncom.contains("test1")) { Message msg = mHandler.obtainMessage(MainActivity.SET_1); mHandler.sendMessage(msg); } if (cmplStrIncom.contains("test2")) { Message msg = mHandler.obtainMessage(MainActivity.SET_2); mHandler.sendMessage(msg);
Die Toast Nachricht erscheint wie gewünscht.
Edit: Sorry, das zeigt meinen Code sehr unübersichtlich an...
-
Hallo,
ich habe eine Funktion changeImage. Wenn ich diese bei der Initialisierung oder über einen Button aufrufe wird auch das neue Bild in der App angezeigt. Wenn ich die Funktion allerdings über eine Handler Message von einer anderen Activity aufrufe wird es nicht aktualisiert. Was kann ich da tun?
.invalidate(); und .postInvalidate(); sowie .refreshDrawableState(); bleiben ohne Wirkung.