1. onclick 调用拍摄页面,
private void intciew() { reclerview= (RecyclerView) findViewById(R.id.reclerview); button= (Button) findViewById(R.id.button); ima= (ImageView) findViewById(R.id.img); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,12); } }); }
2.写入SD卡 根据自己业务需求 图片是否压缩,等其他需求
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode== Activity.RESULT_OK){ if (requestCode==12){ //获得图片原始的地址 没有 压缩 Bitmap bi= (Bitmap) data.getExtras().get("data"); //将图片保存到SD卡中 FileOutputStream b = null; File file = new File("/sdcard/aaaaaaaaaaaaaaaaaaaaaa/"); //判断文件是否存在 if (!file.exists()){ file.mkdirs();// 创建文件夹 } Random randon=new Random(); int aaa = randon.nextInt(222); String filename="/sdcard/aaaaaaaaaaaaaaaaaaaaaa/"+aaa+".jpg"; Log.i("TTT","filename="+filename); try { b=new FileOutputStream(filename); //写入文件夹 bi.compress(Bitmap.CompressFormat.JPEG, 100, b); Message message =new Message(); message.what=100; han.sendMessage(message); Log.i("TTT","chenggong="+1); // } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { b.close(); } catch (IOException e) { e.printStackTrace(); } } // ima.setImageBitmap(bi); } } }
3. 呈现数据,冲SD卡中读取所有的图片,设置adapter 呈现,点击item 删除选中图片,更新视图
private void intResources() { final List<String> list = new ArrayList<String>(); final String path="/sdcard/aaaaaaaaaaaaaaaaaaaaaa/"; File file=new File(path); File[] f=file.listFiles(); if (f!=null){ for (int i=0;i<f.length;i++){ File fe = f[i]; list.add(fe.getName()); } Log.i("TTT","filename="+list.toString()); adapter=new Myadapter(reclerview,this,list,path); reclerview.setLayoutManager(new LinearLayoutManager(this)); reclerview.setAdapter(adapter); adapter.setOnItemClickListener(new Myadapter.MyItemClickListener() { @Override public void onItemClick(View view, final int postion) { Toast.makeText(MainActivity.this,"postion="+postion,Toast.LENGTH_LONG).show(); AlertDialog.Builder bu=new AlertDialog.Builder(MainActivity.this); bu.setTitle("ss"); bu.setMessage("555"); bu.setPositiveButton("shide", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //获得图片的路径 String name=list.get(postion); String pathname=path+name; Log.i("TTT","pathname="+pathname); //删除指定名称的图片 File e=new File(pathname); e.delete(); //更新adapter adapter.notifyDataSetChanged(); } }); bu.create(); bu.show(); } }); } }