Я работаю над программой Pebble, и я использую AppMessage для связи между PebbleKitJS и обычным C-приложением. На стороне JS, я использую следующий код для отправки через словарь строк различной длины:Словарь терминов Поиск не возвращается Полная строка
var msg = {
1: totalMessageString[0],
2: totalMessageString[1],
3: totalMessageString[2],
4: totalMessageString[3],
5: totalMessageString[4],
};
Pebble.sendAppMessage(msg,
function(e) {
console.log("Search Results Sent!");
},
function(e) {
console.log("Search Results Failed with Error: " + e.error);
});
Строки хранятся в totalMessageString находятся где-то от 30 до более чем 200 символов. На стороне С, я использую следующий код, чтобы прочитать эти сообщения:
static void inbox_received_callback(DictionaryIterator *iter, void *context) {
for (int i = 1; i < 11; i++) {
Tuple *result = dict_find(iter, i);
if (result) {
char *location_name = result->value->cstring;
static char s_buffer[512];
snprintf(s_buffer, sizeof(s_buffer), "%s", location_name);
APP_LOG(APP_LOG_LEVEL_INFO, "Message Recieved: %s",s_buffer);
text_layer_set_text(text_layer, s_buffer);
}
//No More results!
else {
APP_LOG(APP_LOG_LEVEL_INFO, "No Message found for index %i",i);
break;
}
}
}
Струны под 70 символов отправляются только штраф, но ниточки над этим отсекаются (они не выводятся на печать в полном объеме). Увеличение размера s_buffer
также не влияет. Может кто-нибудь, пожалуйста, помогите мне выяснить, что я делаю неправильно? Я подозреваю, что есть способ определить размер Tuple, но я не уверен, как это сделать. Благодаря!
Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только вы [зарабатываете] (http://meta.stackoverflow.com/q/146472/169503) достаточно [ репутация] (http://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). Если у вас есть связанный, но другой вопрос, задайте новый вопрос (http://stackoverflow.com/questions/ask), ссылаясь на этот вопрос, если он поможет обеспечить контекст. –
Вы можете отредактировать свой пост, чтобы он больше напоминал ответ, а не вопрос к OP –