2015-05-29 2 views
1

Мое приложение для Android должно получить строку конфигурации с сервера при каждом запуске. Я думал о создании пустой HTML-страницы, содержащей только эту строку. Затем приложение выполнит запрос http_get, чтобы получить эту строку с сервера.Получить конфигурационную строку с сервера

Есть ли более элегантное и бесплатное решение? (У меня нет веб-сервера и большинство бесплатных сайтов вставляют объявления или заголовки/нижние колонтитулы в html).

Я попытался это решение:

URL txtUrl = new URL("https://sites.google.com/site/myName/myText.txt"); 
BufferedReader in = new BufferedReader(new InputStreamReader(txtUrl.openStream())); 
String inputLine = in.readLine(); 

Это работает, но есть 1-2 секундная задержка.

+0

Это приложение для Android? – Mika

+0

Вы говорите о собственности системы? – Bikku

+0

Да, приложение для Android. – Pawel

ответ

1

Поместите String в качестве параметра в URL.

http://example.com/page? параметр = значение

Проверить this question

+0

Думаю, вы не отвечаете на вопрос. OP хочет получить строку с сервера, поскольку ответ не отправит ее на сервер. – Mika

+0

не думаю, что так ... –

+0

вместо ** он ** лучше использовать OP (оригинальный плакат) ... мы никогда не знаем;) –

0

Вы можете пойти дальше и создать и определить свой объект конфигурации, который вы можете отправить обратно в JSON или XML-ответ обратно клиенту. Преимущество этого заключается в том, что у вас есть большое количество библиотек, которые будут выполнять тяжелую работу по преобразованию в объект конфигурации и обратно.

Конечно, вы хотели бы сделать объект конфигурации расширяемым (имя с помощью пар значений ключа), чтобы вы могли легко добавить дополнительные свойства к конфигурации на более позднем этапе.

1

Существует множество служб, которые позволят вам размещать информацию в облаке и возвращать ее в приложение. Они называются бэкэнд в качестве службы (BAAS). Вы обнаружите, что большинство из них имеют свободный нижний уровень, который вы можете использовать. Примерами являются parse.com и firebase.com.

Использование сайтов Google очень неэффективно для того, что вы пытаетесь сделать. Взгляните на синтаксический анализ, который вы можете написать примерно так:

ParseQuery<ParseObject> query = ParseQuery.getQuery("YOUR_OBJECT");  
query.getInBackground("YOUR_STRING", new GetCallback<ParseObject>() { 
    public void done(ParseObject object, ParseException e) { 
    if (e == null) { 
     // object will have your return string 
    } else { 
     // something went wrong 
    } 
    } 
}); 
Смежные вопросы