转自:http://blog.csdn.net/shang_515/article/details/7420049
发表微博的功能其实很简单,我们只需要调用SDK中的方法即可。稍微麻烦一点的是发表包含图片的微博,今天主要介绍如何获取图片路径,并实现发表带图片的微博。
先说一下我的思路:当用户点击添加图片按钮时,我实现了两种方法一是调用摄像头,另一种方法是使用系统图库打开图片。两种方法都是返回图片路径,通过图片路径我们可以读取图片,然后上传到服务器上即可实现发布带图片的微博。
发表微博界面:
用户点击插入图片按钮后调用showMenuDialog()方法:
- private void showMenuDialog() { //获取图片路径
- View menuView = View.inflate(UpdateStatus.this, R.layout.upload_dialog_menu, null);
- final AlertDialog menuDialog = new AlertDialog.Builder(UpdateStatus.this)
- .setView(menuView)
- .setTitle("插入图片")
- .setIcon(R.drawable.ic_upload_photo)
- .create();
- menuDialog.show();
- menuView.findViewById(R.id.camera).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- menuDialog.dismiss();
- Intent intentCamera = new Intent("android.media.action.IMAGE_CAPTURE");//使用照相机
- startActivityForResult(intentCamera, Activity.DEFAULT_KEYS_DIALER);
- }
- });
- menuView.findViewById(R.id.picture).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- menuDialog.dismiss();
- Intent intent = new Intent();
- /* 开启Pictures画面Type设定为image */
- intent.setType("image/*");
- /* 使用Intent.ACTION_GET_CONTENT这个Action */
- intent.setAction(Intent.ACTION_GET_CONTENT);
- /* 取得相片后返回本画面 */
- startActivityForResult(intent, 2);
- }
- });
- }
为了获取图片路径,我们需要重写onActivityResult(int requestCode, int resultCode, Intent data)方法:
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode == RESULT_OK) {