• Android: можно ли кэшировать содержимое Layout'ов?

    @andre_macareno Автор вопроса
    Что же, отвечу сам себе на свой же вопрос.
    Если у вас есть какой-то список, в элементы которого динамически вставляются ещё layout'ы, лучшим вариантом будет создать LruCache, который будет эти самые layout'ы хранить.

    А дальше просто в getView() они удаляются, и заново вставляются из LruCache (удаление требуется для того, чтобы программа не валилась с "The specified child already has a parent").
    Ответ написан
    Комментировать
  • Как перенести скомпилированное приложение под iOS на iphone?

    @andre_macareno
    К сожалению, пока существует только два варианта тестировать приложения.
    Первый - это купить аккаунт разработчика, и второй - это использовать подменные сертификаты, но работает только на джейлбрейкнутых устройствах: habrahabr.ru/post/223675
    Ответ написан
    Комментировать
  • Как пройти авторизацию VKontakte на Java?

    @andre_macareno
    Во-первых, нужно создать Standalone-приложение через специальную форму ВК.
    Во-вторых, если есть возможность и желание, можно использовать какой-нибудь WebView, чтобы провести пользователя через всякие окошки вроде ввода авторизации и разрешения доступа.
    Но если такой способ не подходит, то можно просто распарсить HTML, и отправлять POST-запросы, а в самом конце выдрать токен из адресной строки. Для Android-приложения я заменял # на "?" и разбирал получившийся query string:
    HttpUriRequest currentReq = (HttpUriRequest) context.getAttribute(ExecutionContext.HTTP_REQUEST);
                    HttpHost currentHost = (HttpHost)  context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
                    String currentUrl = (currentReq.getURI().isAbsolute()) ? currentReq.getURI().toString() : (currentHost.toURI() + currentReq.getURI());
                    currentUrl = currentUrl.replace("#", "?");
                    Uri uri=Uri.parse(currentUrl);
                    String access_token = uri.getQueryParameter("access_token");
                    long user_id = Long.valueOf(uri.getQueryParameter("user_id"));

    Опять же, так делается в Android - в чистой яве для этого просто не хватит классов.
    Но вообще, это очень некрасиво, и лучше всего, конечно, выпрашивать прямую авторизацию.
    Ответ написан
    Комментировать