我意识到Jumblr(适用于Android的Tumblr APi)没有关于如何实际实现它的详细记录。我已经成功在我的应用程序上授权了我的帐户。就这样。根据Jumblr的README https://github.com/tumblr/jumblr,您要做的就是
JumblrClient client = new JumblrClient("consumer_key","consumer_secret");
client.setToken("oauth_toke n", "oauth_token_secret");
我的应用程序中已经设置了消费者密钥和机密,而用户登录时应用程序已经获取了oauth_token和token_secret。
org.scribe.exceptions.OAuthConnectionException: There was a problem while creating a connection to the remote service.Full logcat:
最佳答案
我找到了解决方案,对我有用。使用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;
}
}