2014-01-06 61 views
2

我意识到,针对Android的Tumblr APi Jumblr没有很好地记录在我们如何实际执行一个。我已经在我的应用上成功授权我的帐户。就这样。据Jumblr的README https://github.com/tumblr/jumblr,你所要做的就是Android-Tumblr API - 适用于Android的Jumblr [OAuthConnectionException]

JumblrClient client = new JumblrClient("consumer_key","consumer_secret"); 
client.setToken("oauth_toke n", "oauth_token_secret"); 

其中消费者密钥和秘密在我的应用程序和组oauth_token和token_secret已经设置由用户登录时in.However,我是应用了得到的错误如

org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service.Full logcat: 
+0

欢迎来到SO。日志是否提供更多信息? – mikedidthis

+0

@mikedidthis:感谢您的评论。我已经解决了这个问题:D – user3159780

+0

非常好。如果解决方案是值得的,也许将它作为其他人学习的答案? – mikedidthis

回答

2

我找到了解决方案,它适用于我。使用AsyncTask。谢谢!

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ExportDatabaseCSVTask t=new ExportDatabaseCSVTask(); 
    t.execute(""); 


} 

public class ExportDatabaseCSVTask extends AsyncTask<String, Void, Boolean> 
{ 
    private final ProgressDialog dialog = new ProgressDialog(MainActivity.this); 
    User user; 
    JumblrClient client; 
    String a,b,c; 
    int d,e; 
    @Override 
    protected void onPreExecute() 
    { 
     this.dialog.setMessage("Exporting Info..."); 
     this.dialog.show(); 

     client = new JumblrClient("consumer_key","consumer_secret"); 
     client.setToken("oauth_token","oauth_token_secret"); 

    } 

    protected Boolean doInBackground(final String... args) 
    { 

     user = client.user(); 
     // Make the request 
     a = user.getName(); 
     b = user.getDefaultPostFormat(); 
     c = user.toString(); 
     d= user.getFollowingCount(); 
     e = user.getLikeCount(); 

     List<Blog> blogs = client.userFollowing(); 
     for (Blog blog : blogs) { 
      Log.e("USER","1"+blog.getTitle()); 
     } 

     TextPost post; 
     try { 
      post = client.newPost(client.user().getName(), TextPost.class); 
      post.setTitle("title"); 
      post.setBody("body"); 
      post.save(); 
     } catch (IllegalAccessException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (InstantiationException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 



     return true; 
    } 

    @Override 
    protected void onPostExecute(final Boolean success) 
    { 
     if (this.dialog.isShowing()) 
     { 
      this.dialog.dismiss(); 
     } 

     if(success) 
     { 
      Log.e("USER", "" + a); 
       Log.e("USER", "" +b); 
       Log.e("USER", "" + c); 
       Log.e("USER", "" + d); 
       Log.e("USER", "" + e); 

     } 




    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

}

+0

嗨,我使用上面的代码,但它不工作,它提供了一个没有找到类的错误04-23 10:36:34.606:E/AndroidRuntime(847):java.lang.NoClassDefFoundError:org.scribe.builder.api .TumblrApi 04-23 10:36:34.606:E/AndroidRuntime(847):\t at com.tumblr.jumblr.request.RequestBuilder.setConsumer(RequestBuilder.java:120) – Anshul