Отправка широты и долготы отдельно для синхронизации

This commit is contained in:
Igor I
2024-08-06 19:42:27 +05:00
parent 6b6477be2b
commit 52409ffda6
9 changed files with 205 additions and 63 deletions

View File

@ -0,0 +1,52 @@
package tools;
import android.database.Cursor;
import java.io.OutputStream;
import tctable.TCField;
import tctable.TCTable;
public class TCTableTools2 {
public static int convertType(int type)
{
int result;
if (type == Cursor.FIELD_TYPE_NULL) { //Такого типа у меня нет
result=TCField.BD_NULL;
} else if (type == Cursor.FIELD_TYPE_BLOB) {
result=TCField.BD_BLOB_4;
} else if (type == Cursor.FIELD_TYPE_FLOAT) { //Похоже что это почти в SQLITE но перед вставкой преобразуется в нужный тип
result=TCField.BD_SFLOAT8;
} else if (type == Cursor.FIELD_TYPE_INTEGER) {
result=TCField.BD_SINT8;
} else if (type == Cursor.FIELD_TYPE_STRING) {
result=TCField.BD_UTF8_4;
}
else result=TCField.BD_UTF8_4;
return result;
}
//Записать таблицу в OutputStream из курсора андроида
public static boolean getTCTableFromCursor(String name, int id, Cursor cursor, OutputStream os) {
TCTable tbl = new TCTable(name, id);
String[] columnNames = cursor.getColumnNames();
boolean first=true;
while (cursor.moveToNext()) {
if(first){
for (int i = 0; i < columnNames.length; i++) {
TCField field = new TCField(columnNames[i], TCTableTools2.convertType(cursor.getType(i)));
tbl.addField(field);
}
tbl.getHeader(os);
first=false;
}
for (int i = 0; i < columnNames.length; i++) {
tbl.fields.get(i).setValue(cursor.getString(i));
}
tbl.getCol(os);
}
return true;
}
}