Pull to refresh
15
0
Boris Britva @almozavr

User

Send message
Увы и ах. Попробуйте сами на htc hero, например, и стоковом android (хоть на эмуляторе).
В примерах все как всегда просто и понятно, но как оно в реальной жизни?..

Например, камера: htc и стоковое приложение ведут себя по-разному, поэтому сохранять/забирать фото нужно немного более извращенно заботливо:

Делаем фото:
public void takePhoto() {
// name consists of Photo + time taken
Time now = new Time();
now.setToNow();
String fileName = "Photo_" + now.toString().substring(0, 13) + ".jpg";
// create parameters for Intent with filename
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
values.put(MediaStore.Images.Media.DESCRIPTION, "Image captured by camera");
// imageUri is the current activity attribute, define and save it
// for later usage (also in onSaveInstanceState)
mPhotoUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);
// create new Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mPhotoUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, PHOTO_REQUEST_CODE);
}


Забираем:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case PHOTO_REQUEST_CODE:
if (resultCode == Activity.RESULT_OK) {
Bitmap bitmap = null;
if (data != null)
bitmap = (Bitmap) data.getExtras().get("data");
else
try {
bitmap = android.provider.MediaStore.Images.Media.getBitmap(
getContentResolver(), mPhotoUri);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
break;

default:
break;
}
}
В свою очередь был неприятно удивлен тем, насколько дополнительный подзапрос при выборке всех контактов тормозит весь процесс.

Например, выборка в курсор 300 контактов с подзапросом в отдельный курсор из Data.CONTENT_URI (выборка ника по типу аккаунта) на htc hero заняла секунд 7-10.

Может, я чего-то не понимаю? 0_о
Фреймворки под Android (пока что), к сожалению, только запутывают. Особенно если твой код дальше поддерживается другими разработчиками. Т.к. куда проще вести документацию и вставлять комментарии, нежели посылать разработчиков к мануалам фреймворков. Да и сам я куда с больше охотой читаю нативный код, нежели код фреймворков в теле проекта.

Попробовал несколько ActionBar библиотек и пришел к выводу, что таки проще написать свой. Свой кот роднее :)
Согласен, о чудесная, членораздающая машина — доков в основном хватает. По AsyncTask — уж точно, это оказалось довольно плевое дело. Но 99% — это слишком. Кроме багов, в доках хватает еще и недокументированных функций.

Теперь интересно, о каких особенностях нам расскажет автор.
Беда в том, что завтра я буду применять его на работе. Впервые. Если вы поделитесь опытом в виде ссылок на хорошие ресурсы по теории, я вас расцелую! Ну, или плюсану карму — на хабре это ж больше принято? :D
«AsyncTask, AsyncTask!» — кричала ликующая толпа в предвкушении новых зрелищ.
Заранее спасибо.
Стандартный — самый быстрый при нормальном коннекте. Способ тестирования — секундомер на выборке из 10-ти сайтов.
Хех, сервис не завершается (время старта показывается именно то, когда впервые запускается приложение). Тут дело скорее всего в том, что я в приложении неправильно разруливал жизненные цикли из-за табов.
Нет, отключение дисплея никак не влияет на сервис, при чем тут это?

Я до конца не понял свою проблему. Если приложение долго не вызывалось, а вместо него работали другие, то сервис перезагружается. Если принудительно закрыть Activity, работающее с сервисом, и перезапустить приложение, то все ОК.
Спасибо!
Просто не заметил среди других комментариев. Поэтому отдельный пост может был бы и полезен.
Вообще, ужасно то, что я написал — ведь я и сам не знаю законов в этой сфере, поэтому см. след. комментарий ↓
Сервис для таймера это:
— лишние строчки кода, написание AIDL интерфейса;
— лишняя память, которая выделяется под сервис;
— не всегда работает, т.к. ОС может убить даже сервис.

Из личного мерзкого опыта :)
Нужен топик-ответ, который четко разъяснит:
— что требует украинское законодательство в плане использования ПО юр. лицом;
— как применить эти требования к ПО с GPL и им подобным лицензиям.

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

И еще: на секундочку, давайте посмотрим на эти истории о дядьках, которые приходят проверять подлинность ПО. Все они сводятся к

«Я знаю, что по закону бумажки мне не нужны, но они помогают дешевле заключить дружбу с проверяющим.»

Отлично! Как после таких слов можно надеяться на жизнь в правовом государстве? Подмазать, а не отстоять свои права. Потакать хамству и беззаконию. Старая такая история, правда? Да, я не веду бизнес и мне не нужно содержать семью, но подобные вещи уважения не вызывают. И эта услуга от UALinux симптомы общей болезни, проблема же в другом.

Одно правильно: мы имеем ту власть, на которую заслуживаем.
Adblock кроме всего прочего неплохо увеличивает время загрузки страниц в Chrome на моем малыше в 1.4 Ghz
"… Як Україну злії люди
Присплять, лукаві, і в огні
Її, окраденую, збудять..."
Любые рингтоны, используя Wi-Fi или GPRS, выдают Cannot access remote server. Надоело, прога удалена. Удачи с этой проблемой ;)
Замучаетесь с Sharepoint.
  • «В корзину» — не кнопка;
  • Неясно как добавить несколько шт. одного товара;
  • поиск в жопе;
  • ощущение, что сделано это не с душой, а с душком.

Information

Rating
Does not participate
Location
Россия
Registered
Activity