当前位置: 首页 > 知识库问答 >
问题:

将图片保存在指定的文件夹中

章松
2023-03-14
       Btngetdata.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, 2);
        }
    });
public void onActivityResult(int requestCode, int resultCode, Intent data) {
        File a = new File (Environment.getExternalStorageDirectory().getAbsolutePath() + "/splash/"+name+"/");
        if (!a.exists()) {
            a.mkdirs();
        }
        if (requestCode == 2) {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            ImageView test = (ImageView) findViewById(R.id.test);
            test.setImageBitmap(photo);
            try{
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
                String currentDateandTime = sdf.format(new Date()).replace(" ","");
                FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath() + "/splash/"+name+"/"+currentDateandTime+".jpg");
                photo.compress(Bitmap.CompressFormat.PNG, 100 , out);

                out.flush();
                out.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
       Btngetdata.setOnClickListener(new OnClickListener(){
        public void onClick(View v){
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            f = new File(Environment.getExternalStorageDirectory().getPath() + "/tmp/"+"tmp.png");
            if (!f.exists()) {
                f.mkdirs();
            }
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
            startActivityForResult(cameraIntent, 2);
        }
    });
04-17 20:41:24.974: E/AndroidRuntime(13913): FATAL EXCEPTION: main
04-17 20:41:24.974: E/AndroidRuntime(13913): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=0, data=null} to activity {com.example.sofrehkhane/com.sofrehKhane.slidingmenu.slidinglist.SingleItemView}: java.lang.NullPointerException
04-17 20:41:24.974: E/AndroidRuntime(13913):    at     android.app.ActivityThread.deliverResults(ActivityThread.java:3462)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3505)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.app.ActivityThread.access$1100(ActivityThread.java:150)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1346)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.os.Looper.loop(Looper.java:213)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.app.ActivityThread.main(ActivityThread.java:5225)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at java.lang.reflect.Method.invokeNative(Native Method)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at java.lang.reflect.Method.invoke(Method.java:525)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at dalvik.system.NativeStart.main(Native Method)
04-17 20:41:24.974: E/AndroidRuntime(13913): Caused by: java.lang.NullPointerException
04-17 20:41:24.974: E/AndroidRuntime(13913):    at com.sofrehKhane.slidingmenu.slidinglist.SingleItemView.onActivityResult(SingleItemView.java:102)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.app.Activity.dispatchActivityResult(Activity.java:5322)
04-17 20:41:24.974: E/AndroidRuntime(13913):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3458)
04-17 20:41:24.974: E/AndroidRuntime(13913):    ... 11 more

更新:通过使用这个链接,我得到了我的应用程序的最佳答案和性能。

共有1个答案

欧阳嘉
2023-03-14

在队伍中

Bitmap photo = (Bitmap) data.getExtras().get("data");

根据StackTrace,数据。您必须检查那里是否有null并相应地执行操作。

此外,请检查以下答案:https://stackoverflow.com/A/10779050/2367849

 类似资料:
  • 问题内容: 我正在学习OpenCV和Python。我从网络摄像头捕获了一些图像并将其保存。但是默认情况下会将它们保存到本地文件夹中。我想将它们从直接路径保存到另一个文件夹。我如何解决它? 问题答案: ebeneditos提供的解决方案运行完美。 但是,如果您在一段较大的代码段中有多个部分,并且想要更改保存图像的路径,则必须在每次单独出现时更改路径。 正如Soltius所说,这是一种更好的方法。声明

  • 问题内容: 我一直试图将纯文本文件保存到Android上Google云端硬盘中的特定文件夹中。 到目前为止,使用Google云端硬盘上的文档和快速入门指南,我已经可以做一些正确的事情,首先,我可以创建一个纯文本文件: 我已经能够使用以下命令在Google云端硬盘的基本目录中创建一个新文件夹: 我还能够通过以下方式列出用户的Google云端硬盘帐户中的所有文件夹: 但是,我对如何将文本文件保存到Go

  • urllib。要求urlretrieve(imgUrl,图像名称“”str(计数1)”.jpg) 每次我想更改文件夹来保存它们 导入操作系统导入tkinter。ttk作为ttk导入tkinter。messagebox作为msgbox从tkinter导入*从tkinter导入文件对话框从PIL导入图像 Tk(Tk) def关键字(): value=keyword_entry.get() 返回值 de

  • 问题内容: Go的新手(我正在研究的第一个简单项目)。 问题:如何从URL获取图像,然后将其保存到计算机中? 这是我到目前为止的内容: 但是,当我运行此代码时,我得到 我假设我必须将image.Image(变量)转换为未定义的字节数?那是解决这个问题的正确方法吗? 问题答案: 无需解码文件。只需将响应正文复制到您打开的文件中即可。这是修改后的示例中的交易: 是数据流,并实现了接口-意味着您可以按顺

  • 问题内容: 基本上,我想做的是允许用户自己制作folder,然后转到activity包含的button来启动camera。 从这里我希望能够启动camera并将camera图像保存到新创建的文件夹中。 我在将camera图像保存到新创建的文件夹的最后一部分时遇到麻烦。 这是我的Code: 从这里我过渡到此活动: public class Press extends Activity { 请告诉我如