2010-02-03 11 views
5

मैं एंड्रॉइड के लिए नया हूं, और मैं यह समझने के लिए संघर्ष कर रहा हूं कि मेरे लिए कौन से टूल्स उपलब्ध हैं। मैं अभी एंड्रॉइड 2.0.1 के लिए विकास कर रहा हूं, सिर्फ इसलिए कि मेरा डिवाइस चलता है।एंड्रॉइड में Picasa एक्सेस: PicasaUploadActivity

विशेष रूप से, मैं एक ऐप लिख रहा हूं कि मैं Picasa एल्बम पर छवियां अपलोड करना चाहता हूं। मुझे यकीन है कि यह समर्थित है; उदाहरण के लिए, निर्मित (Google?) फोटो व्यूअर में एक Picasa विकल्प के साथ 'शेयर' बटन होता है, और स्निपेट

[उधार कोड! क्षमा याचना अगर यह नियम के खिलाफ है ..]

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

जो जैसे मैं वास्तव में क्या चाहते हैं लग रहा है।

लेकिन मुझे कहीं भी कोई दस्तावेज नहीं मिल रहा है। मैं वास्तव में इस प्रकार के संसाधन का उपयोग करने के लिए बिल्कुल अस्पष्ट हूं। ग्रहण के भीतर से, क्या मुझे एक और प्रोजेक्ट, com.google.android.apps.uploader शामिल करने की आवश्यकता है? यदि हां, तो मैं इसे कैसे प्राप्त करूं? मैं इसे कैसे शामिल करूं? क्या मेरे लिए कोई काम करने वाला नमूना कोड उपलब्ध है?

उत्तर

0

android-developers: picasa देखें:

मैं किसी भी डॉक्स पाया नहीं किया है, लेकिन यू के उपयोग में निर्मित Picasa एप्लिकेशन (यदि यू आर 1.5 में काम कर) Picasa वेब एल्बम पर उर फोटो अपलोड करने के लिए कर सकते हैं , लेकिन एक सीमा यह है कि आप साइन इन करने और साइन आउट करने का नियंत्रण नहीं करते हैं ... फोन के साथ पंजीकृत Google खाते का उपयोग करता है ... अगर आप रुचि रखते हैं तो मैं आपको एसएम नमूना कोड दे सकता हूं ...

तो कोई दस्तावेज़ नहीं है, आप मौजूदा ऐप के Re-using an Activity हैं। अनधिकृत:

2

वीडियो Google I/O 2011 - Best practices for Accessing Google APIs on Android (। 40 वीं मिनट)

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

यह त्रुटि 403 वापस आ जाएगी। इसे काम करने के लिए, आपको google auth टोकन प्राप्त करना होगा और फिर 'headers.setAuthorization ("OAuth" + authToken) जोड़ना होगा;' यह कोड प्राधिकरण भाग को लागू करने में आपकी सहायता कर सकता है 'http://code.google.com/p/google-plus-java-स्टार्टर/स्रोत/ब्राउज़/एंड्रॉइड/src/com/example/android/auth/authUtils.java' और 'PLUS_ME_SCOPE' के बजाय, 'स्ट्रिंग AUTH_TOKEN_TYPE =" oauth2: https: // picasaweb का उपयोग करें। google.com/data/ "' –

+0

क्या आप बता सकते हैं कि आपने GoogleHeaders के लिए किस लाइब्रेरी का उपयोग किया है ??? – Richa

संबंधित मुद्दे