CQM,
Verstehen Sie, dass ich mit Commonswares und fast alles stimmen, die in der mitgelieferten Antwort angegeben. Die Frage scheint jedoch zu implizieren, dass es ein Problem gibt, das Sie haben (entweder im Verständnis oder in der Konzeption) und eine adäquate Lösung für Ihre Bedürfnisse finden/entwickeln möchten.
die Frage und die Antworten Adressieren Sie wahrscheinlich erhalten werden:
glaube ich Commonswares gültig Kritik ist aufgrund der Tatsache, dass Sie nicht Sie angeben warum oder wie das angegebene Plattformobjekt ist unbefriedigend, noch geben Sie warum oder wenn Sie glauben, dass Google gesagt hat, dass das Objekt unzuverlässig ist. Wenn Sie ein besseres Feedback wünschen, bearbeiten Sie Ihre Frage entsprechend, um dies zu kommunizieren, und Sie werden weniger Probleme haben.
Weiter, wie weiter unten erläutert, implizieren Sie, dass dies ein Problem mit der Android-Plattform ist (in der Tat, fast direkt angeben) und es ist nicht. Es gibt zu viele Überlegungen in dem weiten Bereich des Web-Browsings, die vollständig durch eine einfache Steuerung wie das WebView adressiert werden. Microsoft hatte das gleiche Problem mit ihrem eingebetteten IE-COM-Objekt in den 90er Jahren. Es ist ein großes Thema, das keiner Gruppe angehört.
die implizite Frage Adressierung:
Das WebView
Objekt ist im Grunde ein Mini-Browser hochflexible Rendering-Code basiert auf völlig unterschiedlichen Parametern von dem eines dedizierten Browser verwendet wird. Dies umfasst alles von einfachem Rendering bis hin zu interaktivierbaren (sp?) Objekten wie den Links, die eine solche Seite verwenden würde. Dieser Prozess ist (aus Mangel an einem besseren Wort) sehr schwer zu miniaturisieren in der Weise, dass die Fähigkeit für die Einbettung in eine Vielzahl von Apps, die eine unterschiedliche Layout-Struktur und Parameter jedes Mal haben können, einheitlich ist. Verdammt, solche Engines sind selbst mit einer dedizierten Browser-Engine schwer einheitlich zu programmieren, was zu vielen Unterschieden zwischen den aktuellen Haupt-Browsern als Ganzes führt.
Als solche ist die WebView
nicht dazu gedacht, die volle Funktionalität eines dedizierten Browsers zu bieten, sondern die nützlichsten Aspekte der Anzeige von Web-Inhalten innerhalb einer Anwendung, die oft andere Dinge tut. Dies gilt insbesondere dann, wenn Sie die Sicherheitsimplikationen des Hinzufügens von JavaScript-Funktionalität oder der clientbasierten Verarbeitung berücksichtigen, die von diesem Inhalt geliefert wird. Hinzu kommt, dass jedes Gerät die Möglichkeit hat, eine andere Rendering-Engine oder eine andere Version derselben Rendering-Engine zu verwenden, ähnlich wie verschiedene Geräte unterschiedliche Funktionen mit SQLite verwenden (z. B. Fremdschlüsselunterstützung).
Als solches wird die WebView als Lösung bereitgestellt Webinhalte ohne Gewähr für seine Erweiterbarkeit oder Verwendbarkeit geliefert anzuzeigen es sei denn Sie es verwenden rein anzusehen (und reagieren möglicherweise) vertraut und Standards konformes HTML-Code. Sobald Sie sich mit den tatsächlichen Praktiken von realen Websites beschäftigen, stellen Sie fest, dass HTML so flexibel gemacht wurde, weil jeder Standard auf verschiedenen Ebenen von verschiedenen Entwicklern eingehalten wurde. Da das primäre Credo von HTML darin besteht, dass es trotz möglicher Unklarheiten funktioniert (Inhalte zeigen), wird es noch schwieriger, das Problem der Entwicklung einer vollständigen objektorientierten App-eingebetteten Lösung zu entwickeln.
... wo andere mobile Geräte - wie ein iPhone - es fein
Dies ist abhängig vom Inhalt ausgeführt werden.Auch die Entwicklungsphilosophie für die Apple-Geräte unterscheidet sich vollständig von der von Android. Apple hat nur eine Handvoll Geräte, so dass sie die Einheitlichkeit ihrer Geräte garantieren und entscheiden können, wann und wo sie zusätzliche Funktionen hinzufügen möchten. Zum Beispiel hatte das erste iPhone keine native Unterstützung für Flash. Aufgrund der Implikationen Ihrer Frage glaube ich, dass dies den "umfassenden" Test nicht besteht.
Android, im Gegensatz, hat ein viel breiteres Repertoire von Geräten. Der Code für Android wird von den Herstellern dieser Geräte angepasst und geändert, damit sie adäquatere unterstützbare Lösungen für ihre spezifischen Geräteanforderungen erstellen können. Google kann nicht garantieren, dass ein bestimmtes Gerät seinen Code in irgendeiner Weise gleich macht. Dies schafft weitere Einschränkungen, schafft aber andere sehr ehrliche Freiheiten.
... beide verwenden webkit.
Chrome und Safari verwenden beide auch webkit. Viele Entwickler sind von den sogar winzigen Unterschieden in der Art und Weise geplagt worden, in der sie beide unterschiedlich verwenden.
... außerhalb einer App, läuft der eigentliche Android-Browser problemlos.
Dies wird oben angesprochen.
Gibt es eine Möglichkeit, Android-Problem auf einer niedrigeren Ebene wirklich zu behandeln?
Auch dies ist nicht android Problem. Wenn Sie ein spezifisches Problem mit der aktuellen Implementierung haben, können Sie eine separate Lösung programmieren. Darüber hinaus wurde Web-Content erstellt, um in einem Browser angezeigt zu werden, und das wird bereitgestellt. Die beste Vorgehensweise besteht darin, festzulegen, was genau Sie tun müssen. Benötigen Sie die WebView
, um irgendeine Webseite zu sehen? Oder nur deins? Was sind Ihre Probleme mit dem aktuellen Rendering? Benötigen Sie clientseitige Skripte?
Jedes Werkzeug wurde mit besonderen Anforderungen entwickelt. Dies gilt sogar für die sogenannten "besseren" Listenansichten. Diese Ansichten wurden erstellt, um auf spezifische Bedürfnisse einzugehen, die von mehr als einem Entwickler benötigt werden. In der Welt der Programmierung (vor allem OOP) gibt es wirklich sehr wenig so etwas wie umfassend. Gäbe es das, müssten wir unsere Objekte nicht erst erweitern. Wenn Sie sich ein solches Tool ansehen, überlegen Sie, was es speziell zu erreichen versucht.
Hat jemand ein umfassenderes Web-Objekt für Android erstellt?
Ja. Sie werden normalerweise in den anderen dedizierten Browsern manifestiert, die Sie auf Ihr Gerät herunterladen können. Ob sie zugänglich sind oder nicht: Persönlich habe ich keine Ahnung und bin nicht geneigt zu schauen.
Abschlusserklärung
Die Frage, die Sie angesprochen haben war wirklich nicht spezifisch genug, um eine echte Lösung zu bieten. Es schien auch aufgrund der schlechten Wortwahl eine antagonistische Haltung einzunehmen. Wenn Ihr Problem weder durch die Antwort von CommonsWare noch durch meine eigene gelöst wurde, können Sie Ihre Frage bearbeiten, um unsere spezifischen Bedürfnisse hinzuzufügen. Das heißt, ich hoffe, dass beide Antworten Ihnen einen Einblick geben konnten.
hoffe, das hilft,
FuzzicalLogic
Sie haben Recht. Aber welche Lösung haben Sie für dieses Problem gefunden? Gibt es einen guten Ersatz für WebView? –