Wednesday, June 17, 2015

org.apache.http.client.methods.HttpGet deprecated!


HttpGet , HttpPost (and so on) are deprecated now (since API 22).
What should I use instead?
Big daddy suggests to use HttpURLConnection but it doesn't support PATCH.
I feel little bit frustrated.

upd. colleague suggests OkHTTP

Tuesday, June 9, 2015

WiFi and Android device

Sometimes shit happens.
You use your own wifi on Android device. And one day it stops to work.
Bad news - wifi router could be hacked.
Good news - you can install special programm into your Android device to continue using wifi via your router.
Here is link to google play https://play.google.com/store/apps/details?id=com.dnset
Here is APK (sometimes you cannot use googleplay) download from my google drive

Сравнение двух способов получения объекта.

Используем ORMLite
Возникло желание сравнить скорость получения объекта по
1) generated id
2) по произвольному полю

Что быстрее, имеет ли смысл передавать ссылку на объект в базе данных в виде индекса в БД.

Делаю 1000 повторений одного запроса.

Далее пример и результаты
1)
A. Запрос первого объекта в БД, т.н. index=1;
Start 15:06:43.710
Stop 15:06:47.716
4.006 sec.
B. Запрос того же объекта по полю int id.
Start 15:06:47.717
Stop 15:06:51.694
3.977
Почти одинаковое время выполнения запроса - 4 сек.

2) Запрос десятого объекта в БД.
A. Запрос по db index;
Start 15:23:35.322
Stop 15:23:40.250
4.928
B. Запрос того же объекта по полю int id.
Start 15:23:40.250
Stop 15:23:45.379
5.129
Выбор по БД index прошел чуть быстрее

3) Запрос двадцатого объекта в БД.
A. Запрос по db index;
Start 15:30:09.632
Stop 15:30:13.740
4.108
B. Запрос того же объекта по полю int id.
Start 15:30:13.740
Stop 15:30:17.746
4.006
Почти одинаковое время выполнения запроса - 4 сек.

4) Запрос тридцатого объекта в БД.
A. Запрос по db index;
Start 15:34:14.441
Stop 15:34:19.567
5,126
B. Запрос того же объекта по полю int id.
Start 15:34:19.567
Stop 15:34:24.559
4.992
Почти одинаковое время выполнения запроса - 5 сек.

ОК, усложним выбор объекта - будем выполнять по полю String.

5) Запрос тридцатого объекта в БД.
A. Запрос по db index;
Start 15:40:04.385
Stop 15:40:09.246
4,861
B. Запрос того же объекта по полю String .
Start 15:40:09.246
Stop 15:40:14.072
4.826

Картина не поменялась.
Можно предположить, что ORMLite извлекает объект используя тот-же механизм.

Вывод: использование индекса объекта в локальной базе данных не дает преимущества по сравнению с использованием "родных" объекту полей.

ORMLITE: использована библиотека версии 4.42.