Доброй ночи. Я написал PHP скрипт, который выводит данные в формате "0.0 0.0 name" (где 0.0 - координаты X и Y соответственно, а name - название). Это координаты архитектурных объектов, на которые мне нужно переключить рандомно первоначальное положение Google Maps. Скрипт работает отлично: он все выводит правильно, если перейти напрямую по ссылке его расположения. Однако мой код в Android Studio не принимает эти данные. Подскажите, пожалуйста, в чем может быть проблема:
public class GetMapPlace extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public String getMapPlace() {
String line = "0.0 0.0 none";
try {
URL url = new URL(URL_GET_MAP); // подключаемся к интернету
URLConnection connect = url.openConnection();
connect.setDoOutput(true);
BufferedReader reader = new BufferedReader(new InputStreamReader(connect.getInputStream())); // включаем буфер стандартного вывода, занося все в него (echo)
StringBuilder builder = new StringBuilder();
if (reader.readLine() != null) {
builder.append(line); // получаем строку
}
Log.d("DEBUG", "ОТВЕТ" + line); // эта строка не отображается в логах
}
catch (Exception e) {
e.printStackTrace();
}
return line;
} }
Помимо отсутствия строки DEBUG в логах, я пробовал вывести вручную значение line: оно всегда равно "0.0 0.0 none".
Вот как я в дальнейшем использую эти данные:
GetMapPlace activity = new GetMapPlace();
try {
String line = activity.getMapPlace();
Log.d("DEBUG", "ERROR123" + " " + line);
String[] words = line.split(" ");
position1 = Float.parseFloat(words[0]);
position2 = Float.parseFloat(words[1]);
name = words[3];
}
catch (Exception e) {
e.printStackTrace();
}
// For dropping a marker at a point on the Map
LatLng sydney = new LatLng(position1, position2);
googleMap.addMarker(new MarkerOptions().position(sydney).title(name).snippet("Marker Description"));
// For zooming automatically to the location of the marker
CameraPosition cameraPosition = new CameraPosition.Builder().target(sydney).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
Буду рад любой помощи! С новым годом, господа!
Если я правильно понимаю, то у вас line инициализируется один раз в начале функции (String line = "0.0 0.0 none";
) и впоследствии не изменяется. Видимо, надо сделать как-то так:
if ((line = reader.readLine()) != null) {
builder.append(line); // получаем строку
}
...
return builder.toString();
Ну а по поводу отсутствия DEBUG в логах - надо смотреть настройки логгера (вообще какой-либо debug попадает в логи?)
Если я вас правильно понял, вы хотите взять часть кода из страницы в интернете. Для этого вам нужно подключить библиотеку jsoup.jar и потом вам нужно написать примерно такой код:
try {
Document doc = Jsoup.connect("https://ru.stackoverflow.com").get();
Elements element = doc.select("head");
String str = "";
for (org.jsoup.nodes.Element el : element) {
parm = el.attr("title");
}
}catch(MalformedURLException e){
Log.d("Veb", "doInBackground: error 1");
}
И еще не забудьте всю эту открыть в новом потоке.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите, пожалуйста, Есть таблица Access-Log пользователей, вида "User ID" "IP" "Date"Возможно ли найти все дубликаты-мультиаккаунты в ней без огромной...
Нужно ввести группуДалее перебрать структура, найти запись с совпадающей группой и вывести её
Работаю на Mac, использую XcodeЯ решил попробовать поработать с библиотекой alut