有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将ImageView保存到Mysqlite数据库中

我想保存一个图像视图(通过拍照生成),并将其保存在Android上的mysqlite中。这是我的代码,我有一个对话框,要求输入一个名字和一张图片。我想把它们都保存在安卓系统的数据库中

  @Override 
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == CAM_REQUEST) {
      Bitmap bitmap = (Bitmap) data.getExtras().get("data");
      maquinafoto.setImageBitmap(bitmap);
      //Convert bitmap into byte
      ByteArrayOutputStream bos = new ByteArrayOutputStream();
      bitmap.compress(Bitmap.CompressFormat.PNG, 100, bos);
      bArray = bos.toByteArray();
    }
  }

  public void showDialog() {
    final Dialog dialog = new Dialog(this);
    dialog.setContentView(R.layout.dialog_maquinas_activity);

    nomemaquina = (EditText) dialog.findViewById(R.id.nomeMaquina);
    maquinafoto = (ImageView) dialog.findViewById(R.id.imageView1);
    Button dialogButton = (Button) dialog.findViewById(R.id.submeterNovaMaquina);

    //set click listener na imagem
    maquinafoto.setOnClickListener(new TakePhotoClicker());

    // if button is clicked, close the custom dialog
    dialogButton.setOnClickListener(new View.OnClickListener() {
      @Override public void onClick(View view) {

        String nomemaquinaString = nomemaquina.getText().toString();

        //HERE I PUT THE TEXT AND THE IMAGE INTO THE DATABASE
        bd.addMaquina(nomemaquinaString, bArray);

        Toast.makeText(getApplicationContext(), "Máquina adicionada ", Toast.LENGTH_SHORT).show();

        dialog.dismiss();
      }
    });

    dialog.show();
  }

这是我的数据库代码。我的图像是CREATE TABLE语句中的一个BLOB

 public void addMaquina(String name, byte[] image) throws SQLiteException {
   ContentValues values = new  ContentValues();
   values.put(imagemMaquina, image);
   values.put(nomeMaquina, name);
   this.getWritableDatabase().insert(tableMaquinas,null,values);
 }

共 (0) 个答案