2010-02-03 6 views
5

Soy nuevo en Android, y estoy luchando para averiguar exactamente lo que están disponibles para mí herramientas. Estoy desarrollando para Android 2.0.1 por ahora, solo porque eso es lo que ejecuta mi dispositivo.acceso Picasa en android: PicasaUploadActivity

Específicamente, estoy escribiendo una aplicación que me gustaría subir imágenes a un álbum Picasa. Estoy casi seguro de que esto es compatible; por ejemplo, el visor de fotos incorporado (Google?) tiene un botón 'compartir' con una opción de Picasa, e incluso un pequeño fragmento de código de muestra, incluido el fragmento

[¡código prestado! disculpas si esto es contrario a las reglas ..]

temp.setComponent(new ComponentName 
("com.google.android.apps.uploader", 
"com.google.android.apps.uploader.picasa.PicasaUploadActivity")); 
startActivityForResult(temp, PICASA_INTENT) 

que se parece exactamente lo que quiero.

Pero no puedo encontrar ninguna documentación en cualquier lugar. De hecho, no tengo muy claro cómo usar este tipo de recurso. Desde dentro de Eclipse, ¿necesito incluir otro proyecto, com.google.android.apps.uploader? Si es así, ¿cómo lo obtengo? ¿Cómo lo incluyo? ¿Hay algún código de muestra que funcione para que pueda echar un vistazo?

Respuesta

0

ver android-developers: picasa:

no he encontrado ninguna documentación, pero u puede hacer uso de la aplicación integrada picasa (si u r Workin en 1.5) para cargar ur fotos a los álbumes web de Picasa , pero una limitación de es que no tienes el control de iniciar sesión y cerrar sesión ... utiliza la cuenta de google registrada con el teléfono en curso ... si ur interesado puedo dar códigos de muestra de u sm ...

Así que no hay documentos, solo Re-using an Activity de la aplicación existente.

2

vídeo Google I/O 2011 - Best practices for Accessing Google APIs on Android (. 40a min)

public class PostPhotoActivity extends Activity 
{ 

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    try 
    { 
     HttpRequestFactory requestFactory = new NetHttpTransport().createRequestFactory(); 
     Intent intent = getIntent(); 
     Bundle extras = intent.getExtras(); 
     InputStreamContent content = new InputStreamContent(); 
     ContentResolver contentResolver = getContentResolver(); 
     Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM); 
     content.inputStream = contentResolver.openInputStream(uri); 
     Cursor cursor = contentResolver.query(uri, null, null, null, null); 
     cursor.moveToFirst(); 
     content.type = intent.getType(); 
     content.length = cursor.getLong(cursor.getColumnIndexOrThrow(Images.Media.SIZE)); 
     HttpRequest request = requestFactory.buildPostRequest(new GenericUrl(
      "https://picasaweb.google.com/data/feed/api/user/default/albumid/default"), content); 
     GoogleHeaders headers = new GoogleHeaders(); 
     request.headers = headers; 
     String fileName = cursor.getString(cursor.getColumnIndexOrThrow(Images.Media.DISPLAY_NAME)); 
     headers.setSlugFromFileName(fileName); 
     request.execute().ignore(); 
    } 
    catch (IOException e) 
    { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

} 
+1

Esto devolverá error 403: no autorizado. Para que funcione, tendrá que obtener Google auth token y luego añadir 'headers.setAuthorization ("OAuth" + authToken);' Este código puede ayudarle a implementar la parte de la autorización 'http://code.google.com/p/google-plus-java-motor de arranque/fuente/browse/android/src/com/example/android/auth/AuthUtils.java' y en lugar de 'PLUS_ME_SCOPE', usar' cadena AUTH_TOKEN_TYPE = "OAuth2: https: // picasaweb. google.com/data/ "' –

+0

¿puedes decir qué biblioteca has utilizado para GoogleHeaders? – Richa

Cuestiones relacionadas