поэтому и сказал
phpdude, ахуеть, с таким же успехом можно сказать что и метки времени может не быть… или нет?
абсолютно идентичное решение.
Форум → Сообщество → Флейм → Построение диалога в программе используя данные с сервера (json)
Страницы: ← Предыдущая страница • Следующая страница →
6 января 2013 г. 16:24, спустя 4 минуты 9 секунд
поэтому и сказал
phpdude, ахуеть, с таким же успехом можно сказать что и метки времени может не быть… или нет?
абсолютно идентичное решение.
6 января 2013 г. 16:49, спустя 25 минут 17 секунд
да нет тут проблем, не выдумывай.Спустя 37 сек.поэтому и сказал
phpdude, ахуеть, с таким же успехом можно сказать что и метки времени может не быть… или нет?абсолютно идентичное решение.
JSONObject json = null;
JSONArray authors = null;
JSONArray messages = null;
try {
json = new JSONObject("{\"authors\":[\"login1\",\"login2\",\"login3\",\"login4\"],\"messages\":[\"msg1\",\"msg2\",\"msg3\",\"msg4\"]}");
authors = json.getJSONArray("authors");
messages = json.getJSONArray("messages");
} catch (JSONException e) {
e.printStackTrace();
}
LinearLayout layout = (LinearLayout)findViewById(R.id.messagesContainer);
int length = authors.length();
for(int i=0;i<length;i++){
TextView tv = new TextView(getApplicationContext());
tv.setBackgroundResource(R.drawable.back);
tv.setPadding(0, 2, 1, 0);
tv.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
tv.setSingleLine(false);
try {
tv.setText(authors.getString(i)+":"+messages.getString(i));
} catch (JSONException e) {
e.printStackTrace();
}
layout.addView(tv);
}
6 января 2013 г. 16:54, спустя 5 минут 11 секунд
не понял что именно ты от меня хочешь чтобы я реализовывал. да и я все равно пасс, у меня своих гемороев хватает, не до чужих. только знаю одно, ничего клинически сложного нет в твоей задаче
да нет тут проблем, не выдумывай.Спустя 37 сек.поэтому и сказал
phpdude, ахуеть, с таким же успехом можно сказать что и метки времени может не быть… или нет?абсолютно идентичное решение.JSONObject json = null;
JSONArray authors = null;
JSONArray messages = null;
try {
json = new JSONObject("{\"authors\":[\"login1\",\"login2\",\"login3\",\"login4\"],\"messages\":[\"msg1\",\"msg2\",\"msg3\",\"msg4\"]}");
authors = json.getJSONArray("authors");
messages = json.getJSONArray("messages");
} catch (JSONException e) {
e.printStackTrace();
}
LinearLayout layout = (LinearLayout)findViewById(R.id.messagesContainer);
int length = authors.length();
for(int i=0;i<length;i++){
TextView tv = new TextView(getApplicationContext());
tv.setBackgroundResource(R.drawable.back);
tv.setPadding(0, 2, 1, 0);
tv.setLayoutParams(new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
tv.setSingleLine(false);
try {
tv.setText(authors.getString(i)+":"+messages.getString(i));
} catch (JSONException e) {
e.printStackTrace();
}
layout.addView(tv);
}
ну давай реализуй программно, я пасс
6 января 2013 г. 17:06, спустя 12 минут 14 секунд
6 января 2013 г. 17:07, спустя 1 минуту 5 секунд
id в запросах по возможности надо использовать, только для того что бы извлечь соответствующий объект. Аксиома, ептыть. Потому что строго говоря они вообще не обязаны идти подряд. Да миллион причин и просто хороший тон, ебть. Например, если у тебя в базе миллион записей, серией запросов:
AlexB, в чём лоховство то?
6 января 2013 г. 17:29, спустя 21 минуту 39 секунд
id в запросах по возможности надо использовать, только для того что бы извлечь соответствующий объект. Аксиома, ептыть. Потому что строго говоря они вообще не обязаны идти подряд. Да миллион причин и просто хороший тон, ебть. Например, если у тебя в базе миллион записей, серией запросов:
AlexB, в чём лоховство то?
after_id=1
after_id=2
after_id=3
…
Тебя задосят и уложат базу без всякого ботнета. И нет четкого критерия, чтобы отсечь "плохие запросы". Потому что id - НЕ НЕСЕТ НИКАКОЙ ИНФОРМАЦИИ, КРОМЕ ИДЕНТИФИКАЦИИ КОНКРЕТНОГО ОБЪЕКТА. Тогда как с временными метками, можно тупо отсекать все что "подозрительно старое".
6 января 2013 г. 17:38, спустя 9 минут 24 секунды
6 января 2013 г. 17:48, спустя 9 минут 44 секунды
Ну так timestamp то с клиента придет
6 января 2013 г. 17:50, спустя 2 минуты 16 секунд
6 января 2013 г. 17:55, спустя 4 минуты 24 секунды
а как понять что для определенного клиента старое а что новое?
6 января 2013 г. 19:10, спустя 1 час 15 минут 37 секунд
Да вы чего все, с перепою после праздников? Разумеется сервер сначала отдает пачку сообщений с таймстемпами. Для того чтобы запросить следующую пачку клиент посылает последний таймстемп из предыдущей пачки. Речь именно об этом шаге с самого начала топика. О чем вообще разговор, не пойму …Ну так timestamp то с клиента придет
уж точно не с клиента, мало ли какое у него время
таймстамп должен отдавать сервер
6 января 2013 г. 19:45, спустя 35 минут 3 секунды
Потому что строго говоря они вообще не обязаны идти подряд.
6 января 2013 г. 22:06, спустя 2 часа 20 минут 16 секунд
AlexB
Потому что строго говоря они вообще не обязаны идти подряд.
все верно говоришь. особено если шардится горизонтально, а id вовсе не id,а например uuid
6 января 2013 г. 22:20, спустя 14 минут 46 секунд
то и время подряд идёт не всегда )
6 января 2013 г. 22:37, спустя 17 минут
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!