您的位置:首页 > 其它

(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();

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐