2012-12-31 2 views
2

Я новичок в программировании на Android. Я ищу простой способ отправить фотографии в Picasa, я просмотрел множество проектов. Я просто хочу отправить кнопку JPEG или PNG, которую я нажимаю, отправляет и выводит сообщение о том, что все в порядке. Я знаю, что требуется аутентификация API Google и клиента, но многие люди показывают то же самое намерение отправлено. Пожалуйста, помогите (извините за английский: P)Загрузить фото на picasa с android?

Я нашел это: http://code.google.com/p/google-api-java-client/source/browse?repo=samples#hg/picasa-android-sample

Кто-то знает, как использовать его? Но из основ я потерялся.

ответ

1

Единственный существующий код в Интернете для загрузки фотографий в Picasa в этом один ..

Попробуйте с этим, может ли он удовлетворить ваши requirements.If это делает, то заниматься он с событием нажатия кнопки и отображает сообщение в событии notification.finished(), чтобы гарантировать, что файл был загружен.

+0

Я видел этот проект уже, но он в 2009 году и была написана на Android 2.2. Я написал приложение для 3 и выше, и это должен быть более высокий код или API, который лучше. – Maury

1

Довольно старое сообщение, но только для будущих ссылок, мне удавалось напрямую использовать http-сообщение для загрузки моего изображения в Picasa. Их собственный API Java продолжает возвращать ошибки.

Я написал об этом методе подробно here:

File image = new File("/path/to/image.jpg"); 
byte[] imageContent = null; 
try { 
    imageContent = Files.toByteArray(image); 
} catch (Exception e) { 
    // do something 
} 

HttpClient httpClient = HttpClientBuilder.create().build(); 
HttpPost httpPost = new HttpPost("https://picasaweb.google.com/data/feed/api/user/default/albumid/default"); 
httpPost.addHeader("Authorization", "Bearer " + mAccessToken); 
httpPost.addHeader("Content-Type", "image/jpeg"); 
httpPost.setEntity(new ByteArrayEntity(imageContent)); 

try { 
    HttpResponse httpResponse = httpClient.execute(httpPost); 
    // log the response 
    logd(EntityUtils.toString(httpResponse.getEntity())); 
} catch (IOException e){ 
    // do something 
} 

Этот метод использует апача HttpClient. Если ваш Android версия не поддерживает его, вы можете включить эту строку в вашем Gradle файл для компиляции:

compile 'cz.msebera.android:httpclient:4.4.1.1' 
+0

Ссылка как ответы лучше всего подходит для комментариев, а не ответов. Я предлагаю отредактировать вышеупомянутый ответ, чтобы добавить основные части, чтобы он был в одном месте. Ссылка не содержит столько кода. – Syfer

+1

@Syfer Code также обновлен! –

Смежные вопросы