当前位置:   article > 正文

android打开媒体库、照相机相关代码总结及常用UI处理代码,值得收藏_keyevent 相机

keyevent 相机

1、问题:TabActivity 用onKeyDown和onBackPress都监听不到back键

      解决方案:使用dispatchKeyEvent(KeyEvent event)

2、问题:android.view.WindowLeaked异常

      解决方案:这个问题一般是出现在使用Dialog或PopupWindow时,先把依附的Activity给finish掉了引起的。

3、启动APK的默认Activity

  1. public static void startApkActivity(final Context ctx, String packageName) {
  2. PackageManager pm = ctx.getPackageManager();
  3. PackageInfo pi;
  4. try {
  5. pi = pm.getPackageInfo(packageName, 0);
  6. Intent intent = new Intent(Intent.ACTION_MAIN, null);
  7. intent.addCategory(Intent.CATEGORY_LAUNCHER);
  8. intent.setPackage(pi.packageName);
  9. List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);
  10. ResolveInfo ri = apps.iterator().next();
  11. if (ri != null) {
  12. String className = ri.activityInfo.name;
  13. intent.setComponent(new ComponentName(packageName, className));
  14. ctx.startActivity(intent);
  15. }
  16. } catch (NameNotFoundException e) {
  17. Log.e("startActivity", e);
  18. }
  19. }

4、判断是否是平板(官方用法)

  1. public static boolean isTablet(Context context) {
  2. return (context.getResources().getConfiguration().screenLayout &
  3. Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
  4. }

5、选择照片、视频、拍摄照片和拍摄视频

  1. Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);//照片
  2. intent.setType("image/*");
  3. startActivityForResult(intent,0);
  4. Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);//视频
  5. intent.setType("video/*");
  6. startActivityForResult(intent,1);
  7. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//拍摄照片
  8. cameraPicName = System.currentTimeMillis() + ".jpg";
  9. File photofile = new File("/sdcard/farmer/" + cameraPicName);
  10. Uri uri1 = Uri.fromFile(photofile);
  11. intent.putExtra(MediaStore.EXTRA_OUTPUT, uri1);
  12. startActivityForResult(intent,2);
  13. Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);//拍摄视频
  14. intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
  15. startActivityForResult(intent,3);

响应如下:

  1. @Override
  2. protected void onActivityResult(int requestCode, int resultCode, Intent data)
  3. {
  4. super.onActivityResult(requestCode, resultCode, data);
  5. if (resultCode == Activity.RESULT_OK)
  6. {
  7. String picUri = null;
  8. switch (requestCode)
  9. {
  10. case 0:
  11. case 1:
  12. Uri uri = data.getData();
  13. Cursor cursor = getContentResolver().query(uri, null, null, null, null);
  14. if (null != cursor)
  15. {
  16. cursor.moveToFirst();
  17. picUri = cursor.getString(1);
  18. if (uri.toString().contains("video"))
  19. {
  20. picName = cursor.getString(2);
  21. picSize = cursor.getString(3);
  22. }
  23. else if (uri.toString().contains("images"))
  24. {
  25. picSize = cursor.getString(2);
  26. picName = cursor.getString(3);
  27. }
  28. }
  29. break;
  30. case 2:
  31. picUri = "/sdcard/farmer/" + cameraPicName;
  32. File file1 = new File(picUri);
  33. picSize = getFileSizeForB(file1) + "";
  34. picName = file1.getName();
  35. break;
  36. case 3:
  37. Uri uriVideo = data.getData();
  38. Cursor cursor1 = this.getContentResolver().query(uriVideo, null, null, null, null);
  39. if (null != cursor1 && cursor1.moveToNext())
  40. {
  41. picUri = cursor1.getString(1);
  42. picName = cursor1.getString(2);
  43. picSize = cursor1.getString(3);
  44. }
  45. break;
  46. default:
  47. break;
  48. }
  49. }
  50. }

6、完整源代码详细解释——聊天、文件传输、语音呼叫,安卓版飞鸽传书软件
7、添加快捷方式:

  1. private void addShortcut()
  2. {
  3. Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");//添加快捷方式广播
  4. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));//名称
  5. shortcut.putExtra("duplicate", false);//不允许重复创建
  6. //指定快捷方式启动的Activity,第二个参数必须加上点号(.),否则无法启动相应程序
  7. ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());
  8. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
  9. ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);//图标
  10. shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
  11. sendBroadcast(shortcut);
  12. }

删除快捷方式:

  1. private void delShortcut()
  2. {
  3. Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
  4. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
  5. String appClass = this.getPackageName() + "." +this.getLocalClassName();
  6. ComponentName comp = new ComponentName(this.getPackageName(), appClass);
  7. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
  8. sendBroadcast(shortcut);
  9. }

this.getLocalClassName()可以改为需要跳转到的Activity的路径,且需要再AndroidManifest.xml 中加上<action android:name="android.intent.action.MAIN" />

8、ListView相关

9、文字超出定长"..."代替

  1. android:singleLine="true"
  2. android:maxWidth="150dip"

10、重写EditText,如:长按不弹出菜单

11、获取Task中的TopActivity

  1. ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
  2. ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
  3. Log.d("TopTask", "pkg:"+cn.getPackageName());
  4. Log.d("TopTask", "cls:"+cn.getClassName());

这样就可以获得当前的Task中最前端的那个Activity和它的包名了。
12、图片渐变特效,可用在页面切换或登录界面往主界面跳转的特效

  1. ImageView iv=(ImageView)this.findViewById(R.id.imageBack);
  2. AlphaAnimation aa=new AlphaAnimation(0.1f,1.0f);
  3. aa.setDuration(10000);
  4. iv.startAnimation(aa);
  5. aa.setAnimationListener(new AnimationListener(){
  6. @Override
  7. public void onAnimationEnd(Animation arg0) {
  8. Intent it=new Intent(Logo.this,MyLockScreen.class);
  9. startActivity(it);
  10. finish();
  11. }
  12. @Override
  13. public void onAnimationRepeat(Animation animation) {}
  14. @Override
  15. public void onAnimationStart(Animation animation) {}

13、常用UI处理代码

     android图片倒影控件ReflectionImage

     android电视关闭的动画效果

     android自定义ProgressBar(仿淘宝)的加载效果

     android中给图标加上数字(用于未接来电等等功能的提醒)

     android高仿微信UI点击头像显示大图片效果

     让Android自带的Gallery实现多点缩放,拖动和边界回弹效果,效果流畅

     android仿微信的开门效果

     Android 仿Iphone文件夹分裂效果

     GridView的监听,选择,美化等详解

     android 防止按钮连续点击的方法 [值得借鉴]

     适应多行长文本的Android TextView

     Android 调用相册 拍照 实现系统控件缩放 切割图片

     android图片处理方法(不断收集中)

     仿淘宝"摇一摇",重新连接网络

     高仿网易新闻顶部滑动条效果

     为SeekBar滑块设置固定值以及自定义Seekbar,progressbar样式  

     [Android] PorterDuff使用实例----实现新浪微博图片下载效果

    利用PorterDuff.Mode做橡皮擦效果

    Android 自定义分页组件

    在Android中实现IOS风格的SwitchButton按纽

    模仿微信群聊管理功能(头像管理效果)

    Android定制属于你自己的导航栏

    Android 高仿【优酷】圆盘旋转菜单的实现

14、将应用崩溃信息汇报给开发者并重新启动应用

        Android自定义捕获Application全局异常优化版

15、Android超时机制的处理(很不错)

16、对AsyncTask进行封装,简化繁琐的异步操作 

17、调用个别手机拍照功能,会有横竖屏切换问题,导致原来的界面重写走了onCreate()方法,解决方法:

        方法一:通过在onSaveInstanceState(Bundle savedInstanceState)中保存一些你需要的变量,
        在onCreate()方法中判断savedInstanceState是否为null,不为null则调用onRestoreInstanceState()
        方法取出之前存的变量来使用,这相当于重新加载了一边当前activity。
        ( 注:从Android 3.2 (API level 13)只后,android:configChanges="orientation|screenSize"。)

       方法二:在activity中通过设置android:configChanges="orientation|keyboardHidden" 这个属性,
       可以约束调用相机时,保持之前的那个activity竖屏状态不变,从而解决了activity重新加载的问题。 点击这里 

18、判断手机是否已经root过

  1. private void isExit(Context context){
  2. File su = new File("/system/bin/su");
  3. if (!su.exists())
  4. {
  5. Toast.makeText(context, "您的手机还没Root过", Toast.LENGTH_LONG).show();
  6. }
  7. }

19、Android 实现再按一次后退键退出应用程序

  1. private boolean isexit = false;
  2. private boolean hastask = false;
  3. Timer texit = new Timer();
  4. TimerTask task = new TimerTask(){
  5. public void run(){
  6. isexit = false;
  7. hastask = true;
  8. }
  9. };
  10. @Override
  11. public boolean onKeyDown(int keyCode, KeyEvent event){
  12. if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
  13. if (isexit == false){
  14. isexit = true;
  15. Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
  16. if (!hastask){
  17. texit.schedule(task, 2000);
  18. }
  19. }
  20. else{
  21. finish();
  22. System.exit(0);
  23. }
  24. return false;
  25. }
  26. return super.onKeyDown(keyCode, event);
  27. }

20、Intent的使用

  1. Intent intent = new Intent();
  2. //1.传数据
  3. //intent.putExtra("company", "iflytek");
  4. //intent.putExtra("age", 5);
  5. //2.批量添加传递数据
  6. Bundle bundle = new Bundle();
  7. bundle.putString("company", "CSDN");
  8. bundle.putInt("age", 10);
  9. intent.putExtras(bundle);
  10. //第一种方法
  11. intent.setClass(this, OtherActivity.class); //设置要激活的组件
  12. //第二种方法
  13. //intent.setClassName(this, "cn.itcast.activitys.OtherActivity");
  14. //第三种方法
  15. //intent.setComponent(new ComponentName(this, OtherActivity.class));
  16. //第四种方法 -- 显式Intent
  17. //Intent intent = new Intent(this, OtherActivity.class);
  18. //第5种方法 -- 跨应用激活Activity
  19. //intent.setClassName("别的应用的包名", "别的应用的Activity");
  20. //例-- intent.setClassName("cn.itcast.activitys", "cn.itcast.activitys.OtherActivity");
  21. startActivity(intent);
  22. //在OtherActivity关闭后,把处理的数据返回给MainActivity
  23. //那必须在MainActivity打开时,选择startActivityForResult()
  24. //startActivityForResult(intent, 200);

 

 

 

package com.kwstu.palmjn;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.ContentBody;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;

import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.ContentResolver;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.ParseException;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.provider.MediaStore;
import android.util.Base64;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class UpladeActivity extends Activity {
    private ImageView upload_img;
    private ImageView upload_video;
    private ImageView upload_imgtxt;
    private ImageView upload_videotxt;
    private ImageView img_img;
    private Uri uri=null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.uploadactivity);
        // 动态设置标题
        TextView title = (TextView) findViewById(R.id.title);
        title.setText(IndexActivity.newTitle);
        // 返回
        ImageButton returnIdx = (ImageButton) findViewById(R.id.returnIdx);
        returnIdx.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setClass(UpladeActivity.this, IndexActivity.class);
                startActivity(intent);
            }
        });
        // 下一步
        ImageButton next = (ImageButton) findViewById(R.id.next);
        next.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                EditText content = (EditText) findViewById(R.id.content);
                // 先判断是否已经输入内容
                if (content.getText().toString().trim().equals("")) {
                    Toast.makeText(UpladeActivity.this, "必须填写爆料内容!",
                            Toast.LENGTH_SHORT).show();
                    return;
                } else if (IndexActivity.fileUrl.equals("")) {
                    Toast.makeText(UpladeActivity.this, "必须选择要爆料的媒体信息!",
                            Toast.LENGTH_SHORT).show();
                    return;
                }
                if (IndexActivity.userId != "" && IndexActivity.userId != "0") {
                    //执行下一步
                    Intent intent = new Intent();
                    intent.setClass(UpladeActivity.this, UploadInfo.class);
                    startActivity(intent);
                }
                else{
                    dialog();
                }
            }
        });

        // 上传图片按钮
        upload_img = (ImageView) this.findViewById(R.id.upload_img);
        upload_imgtxt = (ImageView) this.findViewById(R.id.upload_imgtxt);
        upload_img.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                uploadimg();
            }
        });
        upload_imgtxt.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                uploadimg();
            }
        });
        // 上传视频按钮
        upload_video = (ImageView) this.findViewById(R.id.upload_video);
        upload_videotxt = (ImageView) this.findViewById(R.id.upload_videotxt);
        upload_video.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                uploadvideo();
            }
        });
        upload_videotxt.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                uploadvideo();
            }
        });
        Thread th1 = new Thread(new mythread());
        th1.start();
    }

    // 登陆提示对话框
    protected void dialog() {
        AlertDialog.Builder builder = new Builder(UpladeActivity.this);
        builder.setMessage("您尚未登陆,请先登陆。");
        builder.setTitle("提示");
        builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                Intent intent = new Intent();
                intent.setClass(UpladeActivity.this, Login.class);
                startActivity(intent);
            }
        });
        builder.create().show();
    }

    // 上传照片
    protected void uploadimg() {
        new AlertDialog.Builder(UpladeActivity.this)
                .setTitle("选取上传图片")
                .setItems(R.array.uploadimg,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {

                                if (arg1 == 0)// 打开相机
                                {
                                    File out = null;
                                    Intent intentCamera = new Intent(
                                            "android.media.action.IMAGE_CAPTURE");// 使用照相机
                                    out = new File(Environment.getExternalStorageDirectory(), "camera.jpg");
                                    uri = Uri.fromFile(out);
                                    System.out.println("ddd"+uri);
                                    intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, uri);
                                    startActivityForResult(intentCamera,
                                            1);
                                }
                                if (arg1 == 1)// 读取图片
                                {
                                    Intent intent = new Intent();
                                    intent.setType("image/*");
                                    //intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());  
                                    /*
                                     * 使用Intent.ACTION_GET_CONTENT这个Action
                                     */
                                    intent.setAction(Intent.ACTION_GET_CONTENT);
                                    /* 取得相片后返回本画面 */
                                    startActivityForResult(Intent
                                            .createChooser(intent, "使用以下打开方式"),
                                            2);
                                }
                            }
                        }).show();
    }

    // 上传视频
    protected void uploadvideo() {
        new AlertDialog.Builder(UpladeActivity.this)
                .setTitle("选取上传图片")
                .setItems(R.array.uploadvideo,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {
                                if (arg1 == 0)// 打开相机
                                {
                                    Intent intent2 = new Intent();
                                    intent2.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
                                    File out = new File(Environment.getExternalStorageDirectory(), "camera.mp4");
                                    uri = Uri.fromFile(out);
                                    System.out.println("ddd"+uri);
                                    intent2.putExtra(MediaStore.EXTRA_OUTPUT, uri);
                                    intent2.putExtra(
                                            MediaStore.EXTRA_VIDEO_QUALITY, 0); // 设置为低质量
                                    startActivityForResult(intent2, 3);
                                }
                                if (arg1 == 1)// 读取图片
                                {
                                    Intent intent = new Intent();
                                    intent.setType("video/*");
                                    /*
                                     * 使用Intent.ACTION_GET_CONTENT这个Action
                                     */
                                    
                                    intent.setAction(Intent.ACTION_GET_CONTENT);
                                    /* 取得相片后返回本画面 */
                                    startActivityForResult(Intent
                                            .createChooser(intent, "使用以下打开方式"),
                                            4);
                                }
                            }
                        }).show();
    }

    @Override
    /**
     * 利用ActivityResult传递图片参数
     *      
     */
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        System.out.println(requestCode+"----"+resultCode);
        if (requestCode == 1) {
            System.out.println("d----"+resultCode);
            //if (data != null) {
                System.out.println("这是拍摄上传图片");
                // Uri u = Uri.parse(android.provider.MediaStore.EXTRA_OUTPUT);
                // System.out.println(u.toString());
                System.out.println("eee"+uri);
                IndexActivity.fileUrl=uri.toString();
                ContentResolver cr = this.getContentResolver();
                try {
                    Bitmap bitmap = BitmapFactory.decodeStream(cr
                            .openInputStream(uri));
                    /* 将Bitmap设定到ImageView */
                    upload_img.setImageBitmap(bitmap);
                } catch (FileNotFoundException e) {
                    upload_img.setImageResource(R.drawable.nohot);
                }
                
                
                //Bundle extras = data.getExtras();
                //Bitmap bitmap = (Bitmap) extras.get("data");
                //upload_img.setImageBitmap(bitmap);
            //} else {
                //upload_img.setImageResource(R.drawable.nohot);
            //}
        }
        if (requestCode == 2) {
            System.out.println("d-d---"+resultCode);
            if (resultCode == RESULT_OK) {
                /*Uri uri = data.getData();
                System.out.println(uri+"gg");
                IndexActivity.fileUrl=uri.toString();
                ContentResolver cr = this.getContentResolver();*/
                try {
                    
                    
                    
                    
                    
                     Bitmap bm = null;
                      //外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
                      ContentResolver resolver = getContentResolver();
                      Uri originalUri = data.getData(); //获得图片的uri
                      bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); //显得到bitmap图片
                    //这里开始的第二部分,获取图片的路径:
                      String[] proj = {MediaStore.Images.Media.DATA};
                      //好像是android多媒体数据库的封装接口,具体的看Android文档
                      Cursor cursor = managedQuery(originalUri, proj, null, null, null);
                      //按我个人理解 这个是获得用户选择的图片的索引值
                      int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                      //将光标移至开头 ,这个很重要,不小心很容易引起越界
                      cursor.moveToFirst();
                      //最后根据索引值获取图片路径
                      String path = cursor.getString(column_index);
                      System.out.println(path+"path");
                    
                      
                      
                      
                      
                    
                    /*Bitmap bitmap = BitmapFactory.decodeStream(cr
                            .openInputStream(uri));
                    
                    /* 将Bitmap设定到ImageView */
                    upload_img.setImageBitmap(bm);
                } catch (FileNotFoundException e) {
                    upload_img.setImageResource(R.drawable.nohot);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

        if (requestCode == 3) {
            if (resultCode == RESULT_OK) {
                System.out.println("这是拍摄上传视频");
                /*
                 * Uri uri = data.getData(); System.out.println(uri);
                 * ContentResolver cr = this.getContentResolver(); try { Bitmap
                 * bitmap = BitmapFactory.decodeStream(cr
                 * .openInputStream(uri)); /* 将Bitmap设定到ImageView
                 * upload_img.setImageBitmap(bitmap); } catch
                 * (FileNotFoundException e) {
                 * upload_img.setImageResource(R.drawable.nohot); }
                 */
            }
        }
        if (requestCode == 4) {
            if (resultCode == RESULT_OK) {
                System.out.println("这是上传视频");
                  Uri uri = data.getData();
                  Cursor cursor = getContentResolver().query(uri, null, null, null, null);
                  
                  if (null != cursor)
                  {
                     cursor.moveToFirst();
                     String picUri = cursor.getString(1);
                     if (uri.toString().contains("video"))
                     {
                         String picName = cursor.getString(2);
                         String picSize = cursor.getString(3);
                     }
                     else if (uri.toString().contains("images"))
                     {
                         String picSize = cursor.getString(2);
                         String picName = cursor.getString(3);
                     }
                  }
                  
                  
                  //String[] proj = {MediaStore.Video.Media.DATA};
                  //好像是android多媒体数据库的封装接口,具体的看Android文档
                  //Cursor cursor = managedQuery(uri, proj, null, null, null);
                  //按我个人理解 这个是获得用户选择的图片的索引值
                  //String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
                  
                  //将光标移至开头 ,这个很重要,不小心很容易引起越界
                  //cursor.moveToFirst();
                  //最后根据索引值获取图片路径
                  //String path = cursor.getString(column_index);
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  System.out.println(uri+"fffg");
                  /*ContentResolver cr = this.getContentResolver(); try { Bitmap
                  bitmap = BitmapFactory.decodeStream(cr
                  .openInputStream(uri));
                  /* 将Bitmap设定到ImageView
                  upload_img.setImageBitmap(bitmap); } catch
                  (FileNotFoundException e) {
                  upload_img.setImageResource(R.drawable.nohot); }*/
                
            }
        }

        super.onActivityResult(requestCode, resultCode, data);
    }

    Handler hd = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            // super.handleMessage(msg);
            if (msg.what == 123) {
                String jason = msg.obj.toString();
                String filepath = Environment.getExternalStorageDirectory()
                        + File.separator + jason;
                Bitmap bitmap1 = BitmapFactory.decodeFile(filepath);

                img_img.setImageBitmap(bitmap1);
            }
        }

    };

    class mythread implements Runnable {

        public void run() {
            // TODO Auto-generated method stub
            HttpClient hc = new DefaultHttpClient();
            // HttpPost hp = new
            // HttpPost("http://172.16.3.250:8732/Mush/Host/Service/update_pictrue");
            HttpPost hp = new HttpPost(IndexActivity.webserviceUrl
                    + "UploadFileTesta");
            HttpResponse hr;
            InputStreamEntity reqEntity;
            String path = Environment.getExternalStorageDirectory()
                    + "/Movies/hhh.mp4";
            File f = new File(path);
            if (f.exists()) {
                System.out.println("successful");
                try {
                    MultipartEntity entity = new MultipartEntity(
                            HttpMultipartMode.BROWSER_COMPATIBLE);
                    entity.addPart("SavePath", new StringBody("testVideo"));
                    entity.addPart("FileName", new StringBody("1"));
                    entity.addPart("FileData", (ContentBody) new FileBody(f));
                    hp.setEntity(entity);

                    reqEntity = new InputStreamEntity(
                            new FileInputStream(path), -1);
                    reqEntity.setContentType("binary/octet-stream");
                    reqEntity.setChunked(true); // Send in multiple parts if
                                                // needed
                    hp.setEntity(reqEntity);
                    System.out.println("4");
                    HttpResponse response = hc.execute(hp);
                    System.out.println("5");
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    System.out.println(e.getMessage());
                    // e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    // e.printStackTrace();
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}
 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号