packagesample;importjava.io.File;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importorg.apache.http.HttpResponse;importorg.apache.http.NameValuePair;importorg.apache.http.client.entity.UrlEncodedFormEntity;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.impl.client.DefaultHttpClient;importorg.apache.http.message.BasicNameValuePair;importorg.apache.http.protocol.HTTP;importorg.apache.http.util.EntityUtils;importorg.json.JSONObject;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.os.Environment;importandroid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.ProgressBar;importandroid.widget.TextView;importandroid.widget.Toast;importcom.youku.uploader.IUploadResponseHandler;importcom.youku.uploader.R;importcom.youku.uploader.YoukuUploader;public class MainActivity extends Activity implementsOnClickListener {privateProgressBar progressBar;privateTextView percent;privateYoukuUploader uploader;private String CLIENT_ID = "38bae68624af4531";private String CLIENT_SECRET = "feb939fd882b449e1f022aa12fb9b06a";privateString code;privateString redirect_uri;privateString access_token;private String TAG ="MainActivity";
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent in=getIntent();
code= in.getStringExtra("code");
access_token= in.getStringExtra("access_token");
Log.d(TAG,"token ="+access_token);
progressBar=(ProgressBar) findViewById(R.id.progressbar);
percent=(TextView) findViewById(R.id.percent);
uploader=YoukuUploader.getInstance(CLIENT_ID, CLIENT_SECRET, getApplicationContext());
bindEvents();
}private voidbindEvents() {
findViewById(R.id.upload).setOnClickListener(this);
findViewById(R.id.cancel).setOnClickListener(this);
}
@Overridepublic voidonClick(View v) {switch(v.getId()) {caseR.id.upload:
Thread tt= new Thread(newRunnable() {
@Overridepublic voidrun() {//TODO Auto-generated method stub
HashMap params = new HashMap();
params.put("username", "用户名");
params.put("password", "密码");//这里需要将access_token设置到参数中
params.put("access_token",access_token);
Log.d(TAG,"access_token="+access_token);
HashMap uploadInfo = new HashMap();
uploadInfo.put("title", "小视频");
uploadInfo.put("tags", "原创");//uploadInfo.put("file_name", "/mnt/sdcard2/download/dota2.mp4");
uploadInfo.put("file_name", Environment.getExternalStorageDirectory() + File.separator + "sharemv.mp4");
Log.d(TAG,"params="+params+ "uploadInfo "+uploadInfo+" file_name "+uploadInfo.get("file_name").toString());
uploader.upload(params, uploadInfo,newIUploadResponseHandler() {
@Overridepublic voidonStart() {
Log.v(TAG,"onStart");
progressBar.setProgress(0);
percent.setText("等待中");
}
@Overridepublic voidonSuccess(JSONObject response) {
Log.v(TAG,"onSuccess "+response.toString());
String respStr= response.toString().substring(13, response.toString().length()-2);
String str= String.format("http://v.youku.com/v_show/id_%s.html?from=y1.7-1.2", respStr);
Log.v(TAG,"onSuccess "+" the uri is :" +str);
Toast.makeText(getApplicationContext(),"response.toString()", 0).show();
}
@Overridepublic void onProgressUpdate(intcounter) {
Log.v(TAG,"onProgressUpdate"+ counter + "");
progressBar.setProgress(counter);
percent.setText(counter+ "%");
}
@Overridepublic voidonFailure(JSONObject errorResponse) {
Log.v(TAG,"onFailure"+errorResponse.toString());
}
@Overridepublic voidonFinished() {
Log.v(TAG,"onFinished");
percent.setText("完成");
}
});
}
});
tt.start();break;caseR.id.cancel:if(uploader.cancel()) {
progressBar.setProgress(0);
percent.setText("");
}break;
}
}
}