【发布时间】:2018-03-28 04:37:10
【问题描述】:
我有 EditText 和 Button,我可以在 EditText 中输入我想在我的应用程序上显示多少个 ImageView 的数字。比方说,我写了 3 然后它会在 Layout 上显示 3 个 ImageView,它工作得很好。
我成功拍照并显示在那些 ImageViews 上。
container.removeAllViews();
for (int i = 1; i <= no; i++) {
final View addView = layoutInflater.inflate(R.layout.shelter_row, null);
txtV1 = (TextView) addView.findViewById(R.id.txtV1);
txtV1.setText(String.valueOf(i));
addView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imgLantai = (ImageView)view.findViewById(R.id.imgLantai);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,CAMERA_10);
}
});
container.addView(addView);
}
我尝试获取位图并将其显示在 ImageView 上。有效
if(requestCode == CAMERA_10){
if(resultCode == RESULT_OK){
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream output = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
byte[] byte_arr = output.toByteArray();
mbitmap10 = Base64.encodeToString(byte_arr, Base64.DEFAULT);
imgLantai.setImageBitmap(bitmap);
}else if(resultCode == RESULT_CANCELED){
}
}
通过使用提交按钮,我尝试使用 POST 将位图插入数据库
public void insertFoto(){
final String URL = "http://www.lineitopkal.com/genset/insert_site.php";
final ProgressDialog loading = ProgressDialog.show(this,"Uploading...","Please wait...",false,false);
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if(response.contains("success")) {
loading.dismiss();
Toast.makeText(getApplicationContext(),mbitmap01,Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
loading.dismiss();
Toast.makeText(getApplicationContext(),"Data gagal disimpan",Toast.LENGTH_SHORT).show();
}
}){
@Override
protected Map<String, String> getParams(){
Map<String, String> params = new HashMap<String, String>();
params.put("lantai",mbitmap10);
return params;
}
};
stringRequest.setRetryPolicy(new DefaultRetryPolicy(0, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
RequestQueue rq = Volley.newRequestQueue(this);
rq.add(stringRequest);
}
我似乎无法使用 POST 将所有图像(mbitmap10 之一)存储在数据库中。只存储了最新的图像。我应该使用数组来存储图像吗?如果是这样,我该如何实施?还是有其他办法?
【问题讨论】:
-
params.put("lantai",mbitmap10);也许这就是问题所在。
-
是的......这就是为什么我想知道是否有其他方法可以做到这一点
-
为什么不能添加更多参数?你也在编写 PHP 服务器端吗??
-
是的,我是@BooberBunz
标签: android post android-bitmap