TLDR. Какими различными способами я могу запустить программу python в единстве на устройстве android.
Это приложение для android, в котором хранится геолокация, которая будет запрошена позже на других устройствах.
Я знаю про Iron Python, но он не обновляется для python 3+, что я и написал для программы python, которую мне нужно запустить.
more предыстория: я пытаюсь использовать AWS DynamoDB, который имеет SDK для единицы в качестве своего встроенного. net, однако специально для поиска по запросу они не реализовали <или> или составной поиск, тогда как эта реализация доступна в python.
Работает следующий скрипт python.
import boto3
import json
import decimal
from boto3.dynamodb.conditions import Key, Attr
import sys
lat = sys.argv[1]
lon = sys.argv[2]
r = sys.argv[3]
# Helper class to convert a DynamoDB item to JSON.
class DecimalEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, decimal.Decimal):
if o % 1 > 0:
return float(o)
else:
return int(o)
return super(DecimalEncoder, self).default(o)
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('tree')
fe = Key('lon').between((decimal.Decimal(lat) - decimal.Decimal(r)), (decimal.Decimal(lat) + decimal.Decimal(r)))
#THIS IS THE BETWEEN SEARCH THAT IS NOT AVAILABLE IN UNITY
fe1 = Key('lat').between((decimal.Decimal(lon) - decimal.Decimal(r)), (decimal.Decimal(lon) + decimal.Decimal(r)))
pe = "#l, lon, treeStage"
# Expression Attribute Names for Projection Expression only.
ean = { "#l": "lat", }
esk = None
response = table.scan(
FilterExpression=fe,
ProjectionExpression=pe,
ExpressionAttributeNames=ean
)
for i in response['Items']:
print(json.dumps(i, cls=DecimalEncoder))
while 'LastEvaluatedKey' in response:
response = table.scan(
ProjectionExpression=pe,
FilterExpression=fe and fe1, #THIS IS THE COMPOUND SEARCH THAT DOESNT WORK IN UNITY
ExpressionAttributeNames= ean,
ExclusiveStartKey=response['LastEvaluatedKey']
)
for i in response['Items']:
print(json.dumps(i, cls=DecimalEncoder))
У меня вопрос, какие есть варианты, которые мне нужны, чтобы встроить эту python программу в тип файла, который может быть запущен на * Устройство 1026 * через Unity's c#.
В настоящее время я просто печатаю информацию, полученную от DynamoDB, но я был бы открыт для непосредственного чтения или записи в файл для чтения в единстве, если это необходимо.