0

Ich habe eine Datenbank in AWS DynamoDB. In diesem DB gibt es 3 Textspalten, die ich in eine ListView einfügen möchte (ein Text aus jeder Spalte in jeder Zeile).
Außerdem möchte ich ein Bild zu jeder Zeile hinzufügen.Füllen Sie einen ListView mit Texten und Bildern aus Amazon Web Services-Produkten auf?

Also habe ich vier Fragen:
1. Wo sollte ich die Bilder speichern? Auf dem S3-Dienst?
2. Soll ich die Texte in der DynamoDB-Tabelle speichern, oder soll ich eine MongoDB-Instanz auf EC2 erstellen und dort zugreifen? Ich frage, da ich immer noch auf der freien Stufe bin, und ich möchte meine freien Lese- und Schreibeinheiten nicht beenden.
3. Wie kann ich ein ListView erstellen, das die Texte aus der Datenbank und das richtige Image übernimmt?
4. Wenn es kein Bild oder Text gibt, ist N/A, wie kann ich stattdessen einen Text von "N/A" anzeigen?

Antwort

0

Ich löste es mit DynamoDBScanExpression und einer BaseAdapter-Klasse. Für die S3-Bilder verwende ich die URL des Bildes, um sie zu einer Bitmap zu dekodieren und sie als ImageView in jeder Zeile festzulegen.

0

Dies ist eine offene Frage. Hier ist mein Vorschlag:

  1. Bilder sollten zu S3 gehen. DynamoDB wurde nicht zum Speichern großer Binärdaten entwickelt. Es hat pro Artikel Größenbeschränkung und mehr expansive im Vergleich zu anderen Speicherdiensten.
  2. Das SDK verfügt über S3Link, mit dem Sie Bilder in S3 und Metadaten in DynamoDB zur Abfrage speichern können. Siehe http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobileconnectors/dynamodbv2/dynamodbmapper/S3Link.html.
  3. Siehe oben. Sie können Text und Verknüpfung mit dem Bild von DynamoDB abrufen.
  4. Siehe oben. Wenn die Verbindung Null ist, Anzeige N/A.