(droid分享)新浪微博开发系列【十】 之发送微博
2012-09-26 20:44
507 查看
该篇是新浪微博的发送微博界面,好了,贴代码,在此说明一下,可能代码里调用一些方法在本篇中没有,但是全部在我的代码里,也不要索取图片,要看全部代码的请移步/article/8913211.html
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00ffffff"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/rlTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#BB768e95" >
<!-- android:background="@drawable/bg_title" -->
<ImageButton
android:id="@+id/btnClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/title_back"
android:contentDescription="@string/contnetdescription" />
<Button
android:id="@+id/btnSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="8dp"
android:background="@drawable/bg_btn"
android:paddingBottom="2dp"
android:text="@string/shareActivity_send"
android:textColor="#fff"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnSend"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/shareActivity_share_dialog_title"
android:textColor="#000"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/bg_activitycontent" >
<LinearLayout
android:id="@+id/llImage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#00ffffff"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/rlTotal"
android:layout_width="fill_parent"
android:layout_height="50dp" >
<LinearLayout
android:id="@+id/ll_text_limit_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="false"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/bg_delwords"
android:clickable="true"
android:focusable="true"
android:gravity="center" >
<TextView
android:id="@+id/tv_text_limit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:text="@string/shareActivity_contnetmaxcount"
android:textColor="#333" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/contnetdescription"
android:src="@drawable/icon_delwords" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:id="@+id/ll_ImageView"
android:layout_width="match_parent"
android:layout_height="80dp"
android:contentDescription="@string/contnetdescription" />
<RelativeLayout
android:id="@+id/toolbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/insertpiclayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/insertatlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical" >
<ImageButton
android:id="@+id/insertpicimgBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_insert_pic"
android:contentDescription="@string/contnetdescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/insertfacelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/llImage"
android:layout_alignParentTop="true"
android:layout_margin="3dp"
android:background="#00ffffff"
android:orientation="vertical" >
<EditText
android:id="@+id/etEdit"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="3dp"
android:background="@null"
android:gravity="top|left"
android:imeOptions="actionDone"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:maxLength="140"
android:singleLine="false" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
package com.czu.sinaweibo;
import java.io.IOException;
import java.net.MalformedURLException;
import com.czu.constdata.ConstDataSinaAPI;
import com.czu.utils.Utils;
import com.czu.weiboHandler.WeiBoInfoSender;
import com.weibo.android.R;
import com.weibo.net.AsyncWeiboRunner.RequestListener;
import com.weibo.net.Weibo;
import com.weibo.net.WeiboException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class ShareActivity extends Activity implements RequestListener {
/* 返回按钮 */
private ImageButton btnClose = null;
/* 发送按钮 */
private Button btnSend = null;
/* 微博内容 */
private EditText contentEditText = null;
/* 插入图片按钮 */
private ImageButton insertpicimgBtn = null;
/* 图片路径 */
private String fileName = null;
/* 存放图片 */
private ImageView imageView = null;
/* 当前字数 */
private TextView textLimitTextView = null;
private ProgressDialog progressDialog=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.share_activity);
/* 得到字数限制对象 */
textLimitTextView = (TextView) this.findViewById(R.id.tv_text_limit);
/* 显示图片 */
imageView = (ImageView) this.findViewById(R.id.ll_ImageView);
contentEditText = (EditText) this.findViewById(R.id.etEdit);
contentEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
int currentlength = ConstDataSinaAPI.WEIBO_MAX_LENGTH
- contentEditText.getText().toString().length();
textLimitTextView.setText(String.valueOf(currentlength));
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
/* 获取btnClose对象 */
btnClose = (ImageButton) this.findViewById(R.id.btnClose);
/* 对btnClose按钮进行监听,关闭当前Activity */
btnClose.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
if (contentEditText.getText().toString().isEmpty()) {
finish();
} else {
Dialog dialog = new AlertDialog.Builder(ShareActivity.this)
.setTitle(R.string.shareActivity_attention)
.setMessage(R.string.shareActivity_exitattention)
.setPositiveButton(R.string.shareActivity_ok,
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
finish();
}
})
.setNegativeButton(R.string.shareActivity_cancel,
null).create();
dialog.show();
}
}
});
btnSend = (Button) this.findViewById(R.id.btnSend);
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (contentEditText.getText().toString().isEmpty()) {
Toast.makeText(ShareActivity.this, "说点什么吧......",
Toast.LENGTH_LONG).show();
} else {
Weibo weibo = Weibo.getInstance();
WeiBoInfoSender weiBoInfoSender = new WeiBoInfoSender(
ShareActivity.this);
try {//上传文字微博
if (fileName.equals("")) {
weiBoInfoSender.update(weibo, Weibo.getAppKey(),
contentEditText.getText().toString(), "",
"");
} else {//上传图片微博
progressDialog = new ProgressDialog(ShareActivity.this);
progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
progressDialog.setMessage("图片较大,正在发布微博,请稍侯......");
/*设置是否可以按返回键返回*/
progressDialog.setCancelable(false);
progressDialog.show();
weiBoInfoSender.upload(weibo, Weibo.getAppKey(),
fileName, contentEditText.getText()
.toString(), "", "");
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
LinearLayout linearLayout = (LinearLayout) this
.findViewById(R.id.ll_text_limit_unit);
linearLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!contentEditText.getText().toString().isEmpty()) {
Dialog dialog = new AlertDialog.Builder(ShareActivity.this)
.setTitle(R.string.shareActivity_attention)
.setMessage(R.string.shareActivity_delall)
.setPositiveButton(R.string.shareActivity_ok,
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
contentEditText.setText("");
}
})
.setNegativeButton(R.string.shareActivity_cancel,
null).create();
dialog.show();
}
}
});
/* 点击图片按钮 */
insertpicimgBtn = (ImageButton) this.findViewById(R.id.insertpicimgBtn);
insertpicimgBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Utils.showMenuDialog(ShareActivity.this);
}
});
}
/* 重写onActivityResult(int requestCode, int resultCode, Intent data)方法 */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (null == data) {
Toast.makeText(this, "添加图片失败!", Toast.LENGTH_SHORT).show();
return;
}
Uri thisUri = data.getData();
fileName = Utils.getRealPathFromURI(ShareActivity.this, thisUri); // 通过uri获取图片路径
imageView.setImageBitmap(Utils.getBitmap(ShareActivity.this,
fileName));
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onComplete(String response) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if(!fileName.equals("")){
progressDialog.dismiss();
}
Toast.makeText(ShareActivity.this,
R.string.shareActivity_send_sucess, Toast.LENGTH_LONG)
.show();
}
});
this.finish();
}
@Override
public void onIOException(IOException e) {
// TODO Auto-generated method stub
}
@Override
public void onError(final WeiboException e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(
ShareActivity.this,
String.format(
ShareActivity.this
.getString(R.string.shareActivity_send_failed)
+ ":%s", e.getMessage()),
Toast.LENGTH_LONG).show();
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00ffffff"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/rlTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#BB768e95" >
<!-- android:background="@drawable/bg_title" -->
<ImageButton
android:id="@+id/btnClose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/title_back"
android:contentDescription="@string/contnetdescription" />
<Button
android:id="@+id/btnSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="8dp"
android:background="@drawable/bg_btn"
android:paddingBottom="2dp"
android:text="@string/shareActivity_send"
android:textColor="#fff"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnSend"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/shareActivity_share_dialog_title"
android:textColor="#000"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/bg_activitycontent" >
<LinearLayout
android:id="@+id/llImage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#00ffffff"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/rlTotal"
android:layout_width="fill_parent"
android:layout_height="50dp" >
<LinearLayout
android:id="@+id/ll_text_limit_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="false"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/bg_delwords"
android:clickable="true"
android:focusable="true"
android:gravity="center" >
<TextView
android:id="@+id/tv_text_limit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:text="@string/shareActivity_contnetmaxcount"
android:textColor="#333" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/contnetdescription"
android:src="@drawable/icon_delwords" />
</LinearLayout>
</RelativeLayout>
<ImageView
android:id="@+id/ll_ImageView"
android:layout_width="match_parent"
android:layout_height="80dp"
android:contentDescription="@string/contnetdescription" />
<RelativeLayout
android:id="@+id/toolbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/insertpiclayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/insertatlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical" >
<ImageButton
android:id="@+id/insertpicimgBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_insert_pic"
android:contentDescription="@string/contnetdescription" />
</LinearLayout>
<LinearLayout
android:id="@+id/insertfacelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/llImage"
android:layout_alignParentTop="true"
android:layout_margin="3dp"
android:background="#00ffffff"
android:orientation="vertical" >
<EditText
android:id="@+id/etEdit"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="3dp"
android:background="@null"
android:gravity="top|left"
android:imeOptions="actionDone"
android:inputType="textMultiLine"
android:isScrollContainer="true"
android:maxLength="140"
android:singleLine="false" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
package com.czu.sinaweibo;
import java.io.IOException;
import java.net.MalformedURLException;
import com.czu.constdata.ConstDataSinaAPI;
import com.czu.utils.Utils;
import com.czu.weiboHandler.WeiBoInfoSender;
import com.weibo.android.R;
import com.weibo.net.AsyncWeiboRunner.RequestListener;
import com.weibo.net.Weibo;
import com.weibo.net.WeiboException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class ShareActivity extends Activity implements RequestListener {
/* 返回按钮 */
private ImageButton btnClose = null;
/* 发送按钮 */
private Button btnSend = null;
/* 微博内容 */
private EditText contentEditText = null;
/* 插入图片按钮 */
private ImageButton insertpicimgBtn = null;
/* 图片路径 */
private String fileName = null;
/* 存放图片 */
private ImageView imageView = null;
/* 当前字数 */
private TextView textLimitTextView = null;
private ProgressDialog progressDialog=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.share_activity);
/* 得到字数限制对象 */
textLimitTextView = (TextView) this.findViewById(R.id.tv_text_limit);
/* 显示图片 */
imageView = (ImageView) this.findViewById(R.id.ll_ImageView);
contentEditText = (EditText) this.findViewById(R.id.etEdit);
contentEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
int currentlength = ConstDataSinaAPI.WEIBO_MAX_LENGTH
- contentEditText.getText().toString().length();
textLimitTextView.setText(String.valueOf(currentlength));
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
/* 获取btnClose对象 */
btnClose = (ImageButton) this.findViewById(R.id.btnClose);
/* 对btnClose按钮进行监听,关闭当前Activity */
btnClose.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
if (contentEditText.getText().toString().isEmpty()) {
finish();
} else {
Dialog dialog = new AlertDialog.Builder(ShareActivity.this)
.setTitle(R.string.shareActivity_attention)
.setMessage(R.string.shareActivity_exitattention)
.setPositiveButton(R.string.shareActivity_ok,
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
finish();
}
})
.setNegativeButton(R.string.shareActivity_cancel,
null).create();
dialog.show();
}
}
});
btnSend = (Button) this.findViewById(R.id.btnSend);
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (contentEditText.getText().toString().isEmpty()) {
Toast.makeText(ShareActivity.this, "说点什么吧......",
Toast.LENGTH_LONG).show();
} else {
Weibo weibo = Weibo.getInstance();
WeiBoInfoSender weiBoInfoSender = new WeiBoInfoSender(
ShareActivity.this);
try {//上传文字微博
if (fileName.equals("")) {
weiBoInfoSender.update(weibo, Weibo.getAppKey(),
contentEditText.getText().toString(), "",
"");
} else {//上传图片微博
progressDialog = new ProgressDialog(ShareActivity.this);
progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
progressDialog.setMessage("图片较大,正在发布微博,请稍侯......");
/*设置是否可以按返回键返回*/
progressDialog.setCancelable(false);
progressDialog.show();
weiBoInfoSender.upload(weibo, Weibo.getAppKey(),
fileName, contentEditText.getText()
.toString(), "", "");
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
LinearLayout linearLayout = (LinearLayout) this
.findViewById(R.id.ll_text_limit_unit);
linearLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!contentEditText.getText().toString().isEmpty()) {
Dialog dialog = new AlertDialog.Builder(ShareActivity.this)
.setTitle(R.string.shareActivity_attention)
.setMessage(R.string.shareActivity_delall)
.setPositiveButton(R.string.shareActivity_ok,
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface dialog,
int which) {
contentEditText.setText("");
}
})
.setNegativeButton(R.string.shareActivity_cancel,
null).create();
dialog.show();
}
}
});
/* 点击图片按钮 */
insertpicimgBtn = (ImageButton) this.findViewById(R.id.insertpicimgBtn);
insertpicimgBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Utils.showMenuDialog(ShareActivity.this);
}
});
}
/* 重写onActivityResult(int requestCode, int resultCode, Intent data)方法 */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (null == data) {
Toast.makeText(this, "添加图片失败!", Toast.LENGTH_SHORT).show();
return;
}
Uri thisUri = data.getData();
fileName = Utils.getRealPathFromURI(ShareActivity.this, thisUri); // 通过uri获取图片路径
imageView.setImageBitmap(Utils.getBitmap(ShareActivity.this,
fileName));
}
super.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onComplete(String response) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if(!fileName.equals("")){
progressDialog.dismiss();
}
Toast.makeText(ShareActivity.this,
R.string.shareActivity_send_sucess, Toast.LENGTH_LONG)
.show();
}
});
this.finish();
}
@Override
public void onIOException(IOException e) {
// TODO Auto-generated method stub
}
@Override
public void onError(final WeiboException e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(
ShareActivity.this,
String.format(
ShareActivity.this
.getString(R.string.shareActivity_send_failed)
+ ":%s", e.getMessage()),
Toast.LENGTH_LONG).show();
}
});
}
}
相关文章推荐
- (droid分享)新浪微博开发系列【十三】之微博的评论转发
- (droid分享)新浪微博开发系列【三】之好友微博信息
- (droid分享)新浪微博开发系列【六】之查看@我的微博和评论
- (droid分享)新浪微博开发系列【八】之热门微博
- (droid分享)新浪微博开发系列【十一】之查看微博正文
- (droid分享)新浪微博开发系列【十二】之图片浏览
- (droid分享)新浪微博开发系列【序论】
- (droid分享)新浪微博开发系列【一】之欢迎首页
- (droid分享)新浪微博开发系列【二】之授权
- (droid分享)新浪微博开发系列【四】之登录界面
- (droid分享)新浪微博开发系列【五】之显示主页
- (droid分享)新浪微博开发系列【七】之查看我的好友和粉丝
- (droid分享)新浪微博开发系列【九】之开发者信息显示和程序退出
- android分享到新浪微博,认证+发送微博,
- android分享到新浪微博,认证+发送微博
- android分享到新浪微博,认证+发送微博,神马'40113token_rejected! Oauth Token不合法'错误,都TMD都是浮云,终于一切搞定!
- android分享到新浪微博,认证+发送微博,
- Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP
- [置顶] android分享到新浪微博,认证+发送微博,神马'40113token_rejected! Oauth Token不合法'错误,都TMD都是浮云,终于一切搞定!
- 9.腾讯微博Android客户端开发——发送微博