Мой скрипт извлекает xml через httpConnection и сохраняет в постоянное хранилище. Там нет проблем.
Затем я перебираю сохраненные данные, чтобы составить список URL-адресов изображений для извлечения из очереди.
Каждый из этих запросов вызывает поток httpConnection, так что
...
public synchronized void run()
{
HttpConnection connection = (HttpConnection)Connector.open("http://www.somedomain.com/image1.jpg");
connection.setRequestMethod("GET");
String contentType = connection.getHeaderField("Content-type");
InputStream responseData = connection.openInputStream();
connection.close();
outputFinal(responseData, contentType);
}
public synchronized void outputFinal(InputStream result, String contentType) throws SAXException, ParserConfigurationException, IOException
{
if(contentType.startsWith("text/"))
{
// bunch of xml save code that works fine
}
else if(contentType.equals("image/png") || contentType.equals("image/jpeg") || contentType.equals("image/gif"))
{
// how to save images here?
}
else
{
//default
}
}
Я не могу найти хорошую документацию о том, как можно взять данные ответа и сохранить их в изображение, сохраненное на устройстве.
Может быть, я просто упустил что-то очень очевидное. Любая помощь очень ценится.
Спасибо
Я попытался последовать этому совету и обнаружил то же, что и всегда, при поиске специфических проблем с BB: ничего.
Проблема в том, что каждый пример или сообщение предполагает, что вы знаете все о платформе.
Вот простой вопрос: какая строка кода записывает поток вывода на устройство Blackberry? Какой путь? Как мне получить его позже?
У меня есть этот код, который я не знаю, если он что-то делает, потому что я не знаю, куда он, якобы, пишет или вообще это вообще делает:
** имя файла определяется в цикле на основе вызываемого URL.
FileOutputStream fos = null;
try
{
fos = new FileOutputStream( File.FILESYSTEM_PATRIOT, filename );
byte [] buffer = new byte [262144];
int byteRead;
while ((byteRead = result.read (buffer ))!=- 1)
{
fos.write (buffer, 0, byteRead);
}
fos.flush();
fos.close();
}
catch(IOException ieo)
{
}
finally
{
if(fos != null)
{
fos.close();
}
}
Идея в том, что у меня есть около 600 изображений, извлеченных с сервера. Мне нужно зациклить xml и сохранить каждое изображение на устройстве, чтобы при вызове сущности я мог извлечь связанное изображение - entity_id.png - из внутреннего хранилища.
Документация от RIM не определяет это, и при этом это не облегчает начало выяснения этого.
Эта проблема, кажется, не решена на этом форуме или других, которые я искал.
Спасибо