Это очень просто:
jdbc:mysql://<hostname>:<port>/<dbname>?prop1
и т. Д., Где <hostname>
и <port>
указаны на вкладке подключения. В основном это будет localhost: 3306. <dbname>
будет найден в Вкладка «Профиль системы» в «Имя службы Windows». По умолчанию в основном будет MySQL5 <x>
, где x - номер версии, например. 56 для MySQL5.6 и 55 для MySQL5.5 и т. Д. Вы можете также указать собственное имя службы Windows. Самым простым и наиболее часто используемым подходом к этой проблеме является использование нумерации страниц . Проще говоря - вы запрашиваете сначала 50 или 100 объектов и отображаете их, затем следующий и так далее. Концепция заключается в том, что обычно конечному пользователю не нужны все 5000 объектов одновременно, поэтому приемлемо получать их при необходимости.
Если по каким-то бизнес / логическим причинам вам необходимо обрабатывать все 5000 объектов одновременно, вы можете подумать о другом формате связи - например, protobuf или XML с SAX-парсером .
В обоих вышеупомянутых случаях вам нужно настроить остальные API, которые обслуживают данные вместе с клиентом. Если у вас нет контроля над серверной частью, вы можете попробовать использовать Android Profiler , чтобы точно определить, какие части синтаксического анализа являются самыми медленными, и оптимизировать их на стороне клиента (android).
Прежде всего, вы должны выполнить все эти задачи в фоновом потоке, и при разборе, если это возможно, используйте HashMap<Key,Value>
, у него есть методы, подобные hashmap.get("key")
, которые будут получать значения без использования цикла for, или вы также можете использовать arraylist
из которого вы также можете получить значения без использования цикла for.
Вы можете использовать фоновый поток, который легко реализовать с помощью AsynTask, написать свой дорогой код внутри doInBackground
private static class BackgroundTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
JSONArray list = new JSONArray(EntityUtils.toString(response.getEntity()));
}
@Override
protected void onPostExecute(String html) {
}
}
Также попробуйте проанализировать json с чем-то другим, например, gson наверняка намного быстрее тип данных.
Feed feed = getGson().fromJson(json, Feed.class);
В любом случае, не рекомендуется возвращать 5000 объектов одновременно, ваш API должен быть улучшен, чтобы обрабатывать нумерацию страниц и возвращать от 10 до 100 элементов за запрос в зависимости от ваших потребностей.