android:textColor="@color/result_minor_text"
android:textSize="14sp"/>
+ <TextView android:id="@+id/time_text_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left"
+ android:text="@string/msg_default_time"
+ android:textColor="@color/result_minor_text"
+ android:textSize="14sp"/>
+
</LinearLayout>
<ScrollView
android:textColor="@color/result_minor_text"
android:textSize="12sp"/>
+ <TextView android:id="@+id/time_text_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="left"
+ android:text="@string/msg_default_time"
+ android:textColor="@color/result_minor_text"
+ android:textSize="12sp"/>
+
</LinearLayout>
<ScrollView
<string name="msg_default_mms_subject">Ahoj</string>\r
<string name="msg_default_status">Strefte se čtverečkem na čárový kód</string>\r
<string name="msg_default_type">Typ</string>\r
+ <string name="msg_default_time">Čas</string> \r
<string name="msg_encode_barcode_failed">Nepodařilo se vytvořit požadovaný čárový kód.</string>\r
<string name="msg_encode_contents_failed">Nepodařilo se rozkódovat čárový kód z poskytnutých údajů.</string>\r
<string name="msg_encode_in_progress">Generování kódu\u2026</string>\r
<string name="msg_default_mms_subject">Hi</string>\r
<string name="msg_default_status">Positionieren Sie den Barcode innerhalb des Rechteckes.</string>\r
<string name="msg_default_type">Typ</string>\r
+ <string name="msg_default_time">Zeit</string> \r
<string name="msg_encode_barcode_failed">Der gewünschte Barcode kann nicht erzeugt werden.</string>\r
<string name="msg_encode_contents_failed">Aus den Daten kann kein Barcode erzeugt werden.</string>\r
<string name="msg_encode_in_progress">Erzeuge Barcode\u2026</string>\r
<string name="msg_default_mms_subject">Hola</string>
<string name="msg_default_status">Coloque un código de barras en el interior del rectángulo de el visor para escanear.</string>
<string name="msg_default_type">Tipo</string>
+ <string name="msg_default_time">Tiempo</string>
<string name="msg_encode_barcode_failed">No se pudo generar el código de barras solicitado.</string>
<string name="msg_encode_contents_failed">No puede codificar un código de barras con estos datos.</string>
<string name="msg_encode_in_progress">Generando un código de barras\u2026</string>
<string name="msg_default_mms_subject">Hei</string>
<string name="msg_default_status">Aseta viivakoodi neliön sisälle.</string>
<string name="msg_default_type">Tyypi</string>
+ <string name="msg_default_time">Aika</string>
<string name="msg_encode_barcode_failed">Ei voinut generoida pyydettyä viivakoodia.</string>
<string name="msg_encode_contents_failed">Ei voinut purkaa viivakoodin sisältöä.</string>
<string name="msg_encode_in_progress">Generoidaan viivakoodia\u2026</string>
<string name="msg_default_mms_subject">Salut</string>
<string name="msg_default_status">Mettre un code barre à l\'intérieur du rectangle pour le scanner.</string>
<string name="msg_default_type">Type</string>
+ <string name="msg_default_time">Temps</string>
<string name="msg_encode_barcode_failed">Impossible de générer le code barre demandé.</string>
<string name="msg_encode_contents_failed">Impossible de créer le code barre à partir des données fournies.</string>
<string name="msg_encode_in_progress">Génération du code barre\u2026</string>
<string name="msg_default_mms_subject">Ciao</string>
<string name="msg_default_status">Posiziona un codice a barre dentro il mirino rettangolare per la scansione.</string>
<string name="msg_default_type">Tipo</string>
+ <string name="msg_default_time">Tempo</string>
<string name="msg_encode_barcode_failed">Impossibile generare il codice a barre richiesto.</string>
<string name="msg_encode_contents_failed">Impossibile codificare un codice a barre dai dati forniti.</string>
<string name="msg_encode_in_progress">Generazione codice a barre\u2026</string>
<string name="msg_default_mms_subject">こんにちは!</string>
<string name="msg_default_status">バーコードをカメラ画面の読み取り範囲内に写してスキャンしてください。</string>
<string name="msg_default_type">タイプ</string>
+ <string name="msg_default_time">時間</string>
<string name="msg_encode_barcode_failed">バーコードを作成できませんでした。</string>
<string name="msg_encode_contents_failed">このデータからバーコードを作成できませんでした。</string>
<string name="msg_encode_in_progress">バーコード作成中\u2026</string>
<string name="msg_default_mms_subject">Hallo</string>\r
<string name="msg_default_status">Plaats een barcode binnen de rechthoek om hem te scannen.</string>\r
<string name="msg_default_type">Type</string>\r
+ <string name="msg_default_time">Tijd</string>\r
<string name="msg_encode_barcode_failed">Kan de gevraagde barcode niet genereren.</string>\r
<string name="msg_encode_contents_failed">Kan geen barcode van de gegeven data maken.</string>\r
<string name="msg_encode_in_progress">Barcode aan het genereren\u2026</string>\r
<string name="msg_default_mms_subject">Привет</string>
<string name="msg_default_status">Чтобы сканировать штрих-код, поместите его в прямоугольник видоискателя.</string>
<string name="msg_default_type">Тип</string>
+ <string name="msg_default_time">Время</string>
<string name="msg_encode_barcode_failed">Не получилось сгенерировать запрошенный штрих-код.</string>
<string name="msg_encode_contents_failed">Не могу закодировать штрих-код от источник данных.</string>
<string name="msg_encode_in_progress">Генерация штрих-кода\u2026</string>
<string name="msg_default_mms_subject">Hej</string>
<string name="msg_default_status">Placera steckkoden inom sökarens rektangel för att läsa den.</string>
<string name="msg_default_type">Typ</string>
+ <string name="msg_default_time">Tid</string>
<string name="msg_encode_barcode_failed">Misslyckades med att skapa den önskade streckkoden.</string>
<string name="msg_encode_contents_failed">Kunde inte skape en streckkod från de givna uppgifterna.</string>
<string name="msg_encode_in_progress">Genererar en streckkod\u2026</string>
<string name="msg_default_mms_subject">Hi</string>\r
<string name="msg_default_status">将条码放置于镜头范围内进行扫描。 </string>\r
<string name="msg_default_type">类型</string>\r
+ <string name="msg_default_time">时间</string>\r
<string name="msg_encode_barcode_failed">找不到条码。</string>\r
<string name="msg_encode_contents_failed">不能从已有数据中读取条码。 </string>\r
<string name="msg_encode_in_progress">正在生成条码\u2026</string>\r
<string name="msg_default_mms_subject">Hi</string>\r
<string name="msg_default_status">將條碼放置于鏡頭范圍內進行掃描。 </string>\r
<string name="msg_default_type">類型</string>\r
+ <string name="msg_default_time">時間</string>\r
<string name="msg_encode_barcode_failed">找不到條碼。</string>\r
<string name="msg_encode_contents_failed">不能從已有數據中讀取條碼。 </string>\r
<string name="msg_encode_in_progress">正在生成條碼\u2026</string>\r
<string name="msg_default_mms_subject">Hi</string>
<string name="msg_default_status">Place a barcode inside the viewfinder rectangle to scan it.</string>
<string name="msg_default_type">Type</string>
+ <string name="msg_default_time">Time</string>
<string name="msg_encode_barcode_failed">Could not generate the requested barcode.</string>
<string name="msg_encode_contents_failed">Could not encode a barcode from the data provided.</string>
<string name="msg_encode_in_progress">Generating a barcode\u2026</string>
import android.widget.TextView;
import java.io.IOException;
+import java.text.DateFormat;
+import java.util.Date;
import java.util.Vector;
import java.util.regex.Pattern;
ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(this, rawResult);
TextView typeTextView = (TextView) findViewById(R.id.type_text_view);
+ typeTextView.setVisibility(View.VISIBLE);
typeTextView.setText(getString(R.string.msg_default_type) + ": " +
resultHandler.getType().toString());
+ DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
+ String formattedTime = formatter.format(new Date(rawResult.getTimestamp()));
+ TextView timeTextView = (TextView) findViewById(R.id.time_text_view);
+ timeTextView.setVisibility(View.VISIBLE);
+ timeTextView.setText(getString(R.string.msg_default_time) + ": " + formattedTime);
+
TextView contentsTextView = (TextView) findViewById(R.id.contents_text_view);
CharSequence title = getString(resultHandler.getDisplayTitle());
SpannableStringBuilder styled = new SpannableStringBuilder(title + "\n\n");
private static final int MAX_ITEMS = 50;
private static final String[] TEXT_COL_PROJECTION = { DBHelper.TEXT_COL };
- private static final String[] TEXT_FORMAT_COL_PROJECTION = { DBHelper.TEXT_COL, DBHelper.FORMAT_COL };
+ private static final String[] GET_ITEM_COL_PROJECTION = {
+ DBHelper.TEXT_COL,
+ DBHelper.FORMAT_COL,
+ DBHelper.TIMESTAMP_COL,
+ };
private static final String[] EXPORT_COL_PROJECTION = {
DBHelper.TEXT_COL,
DBHelper.DISPLAY_COL,
Cursor cursor = null;
try {
cursor = db.query(DBHelper.TABLE_NAME,
- TEXT_FORMAT_COL_PROJECTION,
+ GET_ITEM_COL_PROJECTION,
null, null, null, null,
DBHelper.TIMESTAMP_COL + " DESC");
while (cursor.moveToNext()) {
- Result result = new Result(cursor.getString(0), null, null, BarcodeFormat.valueOf(cursor.getString(1)));
+ Result result = new Result(cursor.getString(0),
+ null,
+ null,
+ BarcodeFormat.valueOf(cursor.getString(1)),
+ cursor.getLong(2));
items.add(result);
}
} finally {
private final ResultPoint[] resultPoints;
private final BarcodeFormat format;
private Hashtable resultMetadata;
+ private final long timestamp;
public Result(String text,
byte[] rawBytes,
ResultPoint[] resultPoints,
BarcodeFormat format) {
+ this(text, rawBytes, resultPoints, format, System.currentTimeMillis());
+ }
+
+ public Result(String text,
+ byte[] rawBytes,
+ ResultPoint[] resultPoints,
+ BarcodeFormat format,
+ long timestamp) {
if (text == null && rawBytes == null) {
throw new IllegalArgumentException("Text and bytes are null");
}
this.resultPoints = resultPoints;
this.format = format;
this.resultMetadata = null;
+ this.timestamp = timestamp;
}
/**
resultMetadata.put(type, value);
}
+ public long getTimestamp() {
+ return timestamp;
+ }
+
public String toString() {
if (text == null) {
return "[" + rawBytes.length + " bytes]";
} else {
return text;
- }
+ }
}
}