package edu.minggo.chat.ui;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.preference.PreferenceManager;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import edu.minggo.chat.R;
import edu.minggo.tencent.weibo.Constants;
import edu.minggo.tencent.weibo.OAuth;
import edu.minggo.tencent.weibo.WeiBoClient;
/**
* ������
* @author minggo
* @created 2013-2-28����02:38:44
*/
public class TencentWeiboActivity extends Activity {
final String TAG = getClass().getName();
private SharedPreferences prefs;
private EditText weiboContent = null;
private Button sendButton = null;
private String oauth_token = "";
private String oauth_token_secret = "";
private WeiBoClient weiBoClient = null;
private Button backbt;
private TextView mTextNum;
private View deletev;
private View processv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tencent_weibo);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
oauth_token = prefs.getString(OAuth.OAUTH_TOKEN, "");//��prefs��ȡ��OAuth_Token��������ֵ
oauth_token_secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
weiBoClient = new WeiBoClient(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET, oauth_token, oauth_token_secret);
weiboContent = (EditText) findViewById(R.id.weibo_long_content);
sendButton = (Button)findViewById(R.id.sendButtonId);
backbt = (Button)findViewById(R.id.weibo_reback_btn);
mTextNum = (TextView) findViewById(R.id.tv_text_limit);
deletev = findViewById(R.id.text_limit_unit);
processv = findViewById(R.id.weibo_sharing_process_v);
processv.setVisibility(View.GONE);
deletev.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
weiboContent.setText("");
}
});
weiboContent.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String mText = weiboContent.getText().toString();
int len = mText.length();
if (len <= 120) {
len = 120 - len;
mTextNum.setTextColor(R.color.text_num_gray);
if (!sendButton.isEnabled()){
sendButton.setVisibility(View.VISIBLE);
sendButton.setEnabled(true);
}
} else {
len = len - 120;
mTextNum.setTextColor(Color.RED);
if (sendButton.isEnabled()){
sendButton.setVisibility(View.GONE);
sendButton.setEnabled(false);
}
}
mTextNum.setText(String.valueOf(len));
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
backbt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//��������Ϣ
sendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
processv.setVisibility(View.VISIBLE);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(TencentWeiboActivity.this);
oauth_token = prefs.getString(OAuth.OAUTH_TOKEN, "");//��prefs��ȡ��OAuth_Token��������ֵ
oauth_token_secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
//File file = Environment.getExternalStorageDirectory();
//String sdPath = file.getAbsolutePath();
//String picPath = sdPath + "/" + "abc.jpg";
//System.out.println(picPath);
//��Ҫ����Ѷ���ͻ��˷��͵�����
final Map<String, String> map = new HashMap<String, String>();
String content = weiboContent.getText().toString();
if (!weiboContent.getText().equals("")&&weiboContent.getText()!=null){
if (!oauth_token.equals("")&&!oauth_token_secret.equals("")) {
map.put("format", "json");//���ݸ�ʽΪjson
map.put("content", content);//������������
map.put("clientip", "61.180.78.42");
//map.put("pic", picPath);
//url����
final List<String> decodeNames = new ArrayList<String>();
decodeNames.add("oauth_signature");
//"http://open.t.qq.com/api/t/add_pic"
final Handler hdl = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
processv.setVisibility(View.GONE);
Toast.makeText(TencentWeiboActivity.this, "����ɹ�", Toast.LENGTH_LONG).show();
weiboContent.setText("");
break;
}
}
};
hdl.postDelayed(new Runnable() {
@Override
public void run() {
String result = weiBoClient.doPost("http://open.t.qq.com/api/t/add", map, decodeNames);
if (result!=null) {
hdl.obtainMessage(0).sendToTarget();
}
}
},1000);
}else{
Toast.makeText(TencentWeiboActivity.this, "��û�а����������а�", Toast.LENGTH_LONG).show();
}
}else{
Toast.makeText(TencentWeiboActivity.this, "���벻��Ϊ��", Toast.LENGTH_SHORT).show();
}
}
});
}
}