Comments 66
Яростно плюсую, сам все собираюсь что-нить написать, эта пошаговая история поможет :-)
Лучше попросить доступ с api
На самом деле лучше один раз сесть и сверстать хабр под мобильные устройства. Помимо телефонов на андроиде существует туева куча смартфонов и врятли под всякие нокии кто-то сядет и начнет писать приложения даже если будет апи. Сверстать сайт, тянущийся по ширине/высоте, гораздо проще чем писать приложения под всё подряд.
зато тут я наконец смогу сделать не белый список (лента — единственная опция на хабре) — видеть в ленте только то, что выбрал, а черный список — видеть все подряд, а прятать только то, что не нравится — блоги яблочников, яндекса и пр.
зы. и проблема не в верстке, на большом экране телефона и текущая вполне нормально смотрится
зы. и проблема не в верстке, на большом экране телефона и текущая вполне нормально смотрится
public class habr extends Activity{...}
Название класса с прописной буквы… куча закомментированного кода… за что так джаву не любите?
началось
верное замечание. писать код надо красиво и парвильно.
— юзать переменную LASTURL можно юзать и webView.reload() для перезагрузки страницы.
— имя не верное — это у вас не константа, что бы ее большими буквами писать. если константа — то слова разделяют подчеркиванием LAST_URL
— строковые константы выносить в string.xml
— javascript инекцию в константы
— saveSettings(Boolean val) — зачем передавать обект — можно просто boolean
— куча «magic numbers» в коде. все в константы.
— getSharedPreferences(PREFS_NAME, 0); -> getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
или лучше
PreferenceManager.getDefaultSharedPreferences(this);
— юзать переменную LASTURL можно юзать и webView.reload() для перезагрузки страницы.
— имя не верное — это у вас не константа, что бы ее большими буквами писать. если константа — то слова разделяют подчеркиванием LAST_URL
— строковые константы выносить в string.xml
— javascript инекцию в константы
— saveSettings(Boolean val) — зачем передавать обект — можно просто boolean
— куча «magic numbers» в коде. все в константы.
— getSharedPreferences(PREFS_NAME, 0); -> getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
или лучше
PreferenceManager.getDefaultSharedPreferences(this);
myMenu — is never used. да еще и без модификатора доступа.
если выкладываете код — посторайтесь его «причесать»
+ может стоит подрубить кукисы к вашему вебвью?
в onCreate
CookieSyncManager.createInstance(this);
в onResume
CookieSyncManager.getInstance().startSync();
в onPause
CookieSyncManager.getInstance().stopSync();
если выкладываете код — посторайтесь его «причесать»
+ может стоит подрубить кукисы к вашему вебвью?
в onCreate
CookieSyncManager.createInstance(this);
в onResume
CookieSyncManager.getInstance().startSync();
в onPause
CookieSyncManager.getInstance().stopSync();
блин, еще и картинки разного цвета в меню…
вот после таких приложений в маркете айфонщики нас и «призирают» :(
вот после таких приложений в маркете айфонщики нас и «призирают» :(
Кукисы подрубаются автоматически к вебвью, данный код не нужен в данном случае.
я говрю про кукисы стандартного браузера. они не подрубаются.
developer.android.com/reference/android/webkit/WebView.html
"...For obvious security reasons, your application has its own cache, cookie store etc....."
developer.android.com/reference/android/webkit/WebView.html
"...For obvious security reasons, your application has its own cache, cookie store etc....."
Нет, нет у WebView нет доступа к кукисам стандартного браузера. Каждое приложение живет в своей песочнице. Это основы безопасности. В противном случае я писал бы этот комментарий из под Вашего аккаунта. А синхронизация позволяет считать кукисы моего, локального вебвью, а затем я уже могу использовать их для кастомного http запроса, например.
если юзать вот это — CookieSyncManager, то есть, помоему
я писал приложение которое было врапером над сайтом.
сайт сохранял неокторые данные в кукисы и сайт загруженый в вебвью ими пользовался
я писал приложение которое было врапером над сайтом.
сайт сохранял неокторые данные в кукисы и сайт загруженый в вебвью ими пользовался
Буду стараться, спасибо
+меню лучше создавать через inflater и xml-файл.
а чем лучше?
как по мне — то все равно как. лишбы строки брали из string.xml
как по мне — то все равно как. лишбы строки брали из string.xml
хотя бы — чтобы каши не было. элементы графического интерфейса, лэйауты там всякие — в xml. в коде их только подсасывать. ну или использовать тогда, когда кроме как в runtime нельзя (накололся недавно с падением приложения под 3.0 при повороте сэкрана с последующим включением/отключением ActionBar — одними лэйаутами не решалось, крэшилось).
почему VOID, а не VOTE?
Вроде как сайт на русском языке, а клиент, судя по скринам, на английском. Это круто, что ли?
классно, в маркете есть один клиент, который падает при попытке посмотреть карму, плюс выглядит ужасно. Надеюсь, эта статья подтолкнет энтузиастов таки написать хрошее приложение :)
С удовольствием установил приложения для обоих блогов, будем пробовать.
«Срок регистрации домена истёк» — это я вижу на своём Wildfire при запуске клиента, скаченного по ссылке из статьи. Ни F5, ни Main Page ситуации не меняют.
Написание в «онлайн» режиме навеяно фильмом Социальная сеть?
Сам пишу потихоньку оффлайн клиент для habrahabr, думаю как появится вменяемая версия выложу с исходниками. Прочив заголовок думал забросить уже, а нет это все таки не совсем то. Но все равно автору респект.
Как-то сейчас много клиентов для хабра пишется. Вот моё открытое творение (ещё не законченное) — code.google.com/p/habraclient.
Не уверен что много. Как-то читал давно, что пишется официальный вроде клиент, но что ничего не слышно про это давно. Поэтому решил потихоньку свой писать, не официальный. Да и как бы мне не совсем понятна идея онлайн клиента, если онлайн можно и m.habrahabr.ru почитать. А вот оффлайн клиентов к сожалению не видел пока.
m.habrahabr.ru урезан по функционалу. Я потихоньку пишу клиент для habrahabr.ru, который удобно предоставит данные и поможет немного с экономить трафик (вырезание картинок, css и скриптов). И в отличии от существующих, можно будет авторизоваться и писать/комментировать посты и ответы. Для оффлайн может быть будет кэш, я как-то про оффлайн почти не думал.
жаль что не выложили там скриншоты клиента
берете rss читалку с поддержкой закачки статей и вот вам offline.
сам писал такую одному человеку.
+ настройка качать пока в зоне wifi.
можно сделать закачку даже с картинками. небольшой краулер по странице — выдерает все ссылки какчает картики, джаваскрип и css и перебивает линки налокальные
сам писал такую одному человеку.
+ настройка качать пока в зоне wifi.
можно сделать закачку даже с картинками. небольшой краулер по странице — выдерает все ссылки какчает картики, джаваскрип и css и перебивает линки налокальные
Жаль, никто еще не сделал такого сервиса, куда можно было бы загружать большие листинги кода…
жаль, что нет поддержки android 1.5 :(
Пекедж ru.habrahabr.android больше для официального клиента годится. В Java есть правило — package должен соответсвовать вашему домену, и если вы никак не связаны с администрацией хабрахабра, то не имели права его использовать
рассчитывал увидеть здесь что-то интересное, а увидел какой то браузер. смысл?
Спасибо, так гораздо удобнее. Но! Как сделать так, чтобы по тапу на ссылке в Google Reader открывалось сие приложение. Т.е., смотреть понравившийся топик не в штатном браузере, а в habrahabr'е?
Наверно надо рыть в сторону developer.android.com/guide/topics/intents/intents-filters.html
Спасибо за песенку ;) Только группа называется «Submatukana», долго не мог понять, почему не могу найти трек.
Скажите, коллеги, код рендерится мелким таким, почти нечитаемым шрифтом только у меня?
FF4, на 3.6 было ровно то же самое. Аддонов, кроме firebug не стоит, но он выключен. разрешение 1600*900
FF4, на 3.6 было ровно то же самое. Аддонов, кроме firebug не стоит, но он выключен. разрешение 1600*900
Установил данное приложение. Больше спасибо. Удобно* Только вот на устройстве LG Optimus GT540 текст с правой стороны выходит буквально на «пол-буквы» за край.
Все класс, единственное — если вы уже следите за секьюрностью, проверяя домен, то лучше сначала URL в константы,
и сразу родить из него URI
Ну а потом уже проверять хост
private static final String HABR_URL = "http://habrahabr.ru";
и сразу родить из него URI
private static final String HABR_URI = Uri.parse(HABR_URL);
Ну а потом уже проверять хост
// ...
Uri uri = Uri.parse(url);
// ...
if (!HABR_URI.getHost().equals(uri.getHost())) {
// тут идет наш интент с вызовом браузера
}
// ...
Sign up to leave a comment.
Пишем клиент для Хабра под Android