2014-01-10 153 views
1

我做了一个程序,当用户按下图像按钮时,他将从图库中选择一个图像,该图像将被添加到图像按钮中。现在我需要扩展程序,当用户按下添加按钮时,图像按钮中的图像将与描述一起存储在数据库中(用户在编辑文本中输入文本,例如运动)...我已经创建了一个类数据库等...Android将图像添加到数据库

任何人都可以帮助我添加案件'案件R.id.button2'的代码是什么时候添加按钮被点击吗?

非常感谢

public class NewPortal extends Activity implements OnClickListener, android.view.View.OnClickListener 

{ 
public static final int REQUEST_CODE =1; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

setContentView(R.layout.portallayout); 
ImageButton btn1 = (ImageButton)findViewById(R.id.imageButton2); 
    btn1.setOnClickListener(this); 

    Button btn2 = (Button)findViewById(R.id.button2); 
    btn2.setOnClickListener(this); 
} 

public void onClick(View v) { 

    Toast pieceToast=null; 

    switch (v.getId()) { 

    case R.id.imageButton2: 
    Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    intent.addCategory(Intent.CATEGORY_OPENABLE); 
    startActivityForResult(intent, REQUEST_CODE); 
    break; 

    case R.id.button2: 
    break; 
    } 
} 

@Override 
    public void onClick(DialogInterface dialog, int which) { 
    // TODO Auto-generated method stub 

    } 



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

    if(requestCode == RESULT_CANCELED) return; 

    ParcelFileDescriptor fd; 
    try { 
     fd = getContentResolver().openFileDescriptor(data.getData(), "r"); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
     return; 
    } 

    Bitmap bmp = BitmapFactory.decodeFileDescriptor(fd.getFileDescriptor()); 
    ImageButton imgButton = (ImageButton)findViewById(R.id.imageButton2); 
    imgButton.setImageBitmap(bmp); 
} 
} 

回答

0

你不想要的图像存储在数据库中,你希望将图像存储在任何内部或外部存储器中,然后存储的Uri其中该图像位于您的数据库

+0

我应该那样做吗?图像已经存储在内部...当我按下添加按钮时,它应该存储到数据库,以便我可以在需要时检索它。 – user3074215