Hallo,
ich habe das Problem, dass ich bei einem Android-Projekt die Java-Klasse "BufferedReader" und "InputStreamReader" verwenden möchte, um einen InputStream blockierungsfrei Zeile für Zeile lesen zu können. Ich finde aber im Internet keine Anleitung, wie das geht.
Das Problem wurde schon
hier beschrieben, hat allerdings auch keine Antwort bekommen . Bei der Google-Suche "Delphi JBufferedReader" findet sich - außer meiner Frage - nur
1 Ergebnis in Google - also scheine ich der einzigste Mensch auf der Erde zu sein, der Firemonkey benutzt und einen Stream gepuffert Zeile für Zeile lesen möchte. Im Allgemeinen bin ich sehr enttäuscht, dass man bei Firemonkey im Internet kaum Hilfestellungen findet, und auch die Hilfe von Embarcadero ist nicht zu gebrauchen
Hier mal ein Versuch, die JNI zu verwenden. Stürzt aber bereits beim Konstruktor ab; ich weiß nicht, was falsch ist.
Delphi-Quellcode:
type
JBufferedReaderClass = interface(JObjectClass)
end;
[JavaSignature('java/io/BufferedReader')]
JBufferedReader = interface(JObject)
function readLine : JString; cdecl;
end;
TJBufferedReader = class(TJavaGenericImport<JBufferedReaderClass, JBufferedReader>)
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x: JBufferedReader;
begin
x := TJBufferedReader.Create; // <-- Segmentation fault
end;
Über Hilfestellungen, insbesondere, wie man beliebige Java-APIs in Delphi per JNI inkludiert, wäre ich sehr dankbar.