То, что вы описываете, является поведением по умолчанию. Вы должны обнаружить и обработать эти события самостоятельно, добавив:
android:configChanges
в свой манифест и затем изменения, которые вы хотите обработать. Таким образом, для ориентации вы должны использовать:
android:configChanges="orientation"
, а для открытия или закрытия клавиатуры вы должны использовать:
android:configChanges="keyboardHidden"
Если вы хотите обрабатывать оба, вы можете просто разделить их с помощью команда pipe, например:
android:configChanges="keyboardHidden|orientation"
. Это вызовет метод onConfigurationChanged в любой операции, которую вы вызываете. Если вы переопределите метод, вы можете передать новые значения.
Надеюсь, это поможет.
Вы можете использовать URL-адреса HTTP, как если бы они были локальными файлами, благодаря оболочкам PHP
. Вы можете получить содержимое из URL-адреса через file_get_contents (), а затем повторить его, или даже прочтите его напрямую с помощью readfile ()
$file = file_get_contents('http://example.com/rss');
echo $file;
или
readfile('http://example.com/rss');
Не забудьте установить правильный MIME-тип перед выводом чего-либо.
header('Content-type: text/xml');
Если вы просто хотите распечатать необработанный XML, вам не нужен Simple XML. Я добавил некоторую обработку ошибок и простой пример того, как вы можете использовать SimpleXML.
<?php
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, 'http://rss.news.yahoo.com/rss/topstories');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
if ($result === false) {
die('Error fetching data: ' . curl_error($curl));
}
curl_close ($curl);
//we can at this point echo the XML if you want
//echo $result;
//parse xml string into SimpleXML objects
$xml = simplexml_load_string($result);
if ($xml === false) {
die('Error parsing XML');
}
//now we can loop through the xml structure
foreach ($xml->channel->item as $item) {
print $item->title;
}
Вы можете использовать метод asXML
echo $xml->asXML();
Вы также можете дать ему имя файла
$xml->asXML('filename.xml');
Я не слишком упрощаю это?
$location = "http://rss.news.yahoo.com/rss/topstories";
print file_get_contents($location);
Некоторые места (например, digg.com) не позволяют вам получить доступ к своим сайтам без пользовательского агента, и в этом случае вам нужно будет установить это с ini_set () перед запуском file_get_contents ().