From f71fa61998704a5716bfb6b156fe98fe7b3f1a63 Mon Sep 17 00:00:00 2001 From: Qf6pzalic <2426654824@qq.com> Date: Sat, 25 Jun 2022 19:58:08 +0800 Subject: [PATCH] ADD file via upload --- AddItem.java | 208 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 AddItem.java diff --git a/AddItem.java b/AddItem.java new file mode 100644 index 0000000..e90d297 --- /dev/null +++ b/AddItem.java @@ -0,0 +1,208 @@ +package page.com; + +import android.Manifest; +import android.app.Activity; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.provider.MediaStore; + +import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + +import android.util.Log; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.Spinner; +import android.widget.Toast; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.Date; + +import static page.com.LoginMainActivity.post_userid; + +import cn.bmob.v3.Bmob; +import cn.bmob.v3.datatype.BmobFile; +import cn.bmob.v3.exception.BmobException; +import cn.bmob.v3.listener.SaveListener; +import cn.bmob.v3.listener.UploadFileListener; + +public class AddItem extends BaseActivity { + private static final byte REQUEST_SYSTEM_PIC = 10; + + private Spinner sp; + private ImageButton imageButton; + private byte[] image; + String image_path; + String kind; + EditText title; + EditText price; + EditText phone; + EditText description; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main_fabu); + Bmob.initialize(this, "f2db97590a6d51a15be51b0ddbc33869"); + final SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss "); + + String[] ctype = new String[]{"生活用品", "学习用品", "电子产品", "体育用品"}; + ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, ctype); //创建一个数组适配器 + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //设置下拉列表框的下拉选项样式 + Spinner spinner = (Spinner) super.findViewById(R.id.m1_style); + spinner.setAdapter(adapter); + + spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {//选择item的选择点击监听事件 + public void onItemSelected(AdapterView arg0, View arg1, + int arg2, long arg3) { + Spinner sp = findViewById(R.id.m1_style); + kind = (String) sp.getSelectedItem(); + + } + public void onNothingSelected(AdapterView arg0) { + } + }); + + imageButton = (ImageButton) findViewById(R.id.m1_image); + + imageButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (ContextCompat.checkSelfPermission(AddItem.this, + Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(AddItem.this, new + String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); + } else { + //打开系统相册 + Intent intent = new Intent(Intent.ACTION_PICK, + MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + startActivityForResult(intent, 1); + } + + } + }); + + Button fabu = (Button) findViewById(R.id.fabu); + fabu.setOnClickListener(new View.OnClickListener() { + @RequiresApi(api = Build.VERSION_CODES.O) + @Override + public void onClick(View v) { + title = (EditText) findViewById(R.id.m1_title); + price = (EditText) findViewById(R.id.m1_price); + phone = (EditText) findViewById(R.id.m1_phone); + description = (EditText) findViewById(R.id.m1_nr); + if((title.getText()==null)|(price.getText()==null)|(phone.getText()==null)|(description.getText()==null)|image_path==null){ + Toast.makeText(getApplicationContext(),"有信息为空,请重新输入",Toast.LENGTH_SHORT).show(); + } + else{ + Date curDate = new Date(System.currentTimeMillis()); + String time = formatter.format(curDate); + BmobFile imageFile = new BmobFile(new File(image_path)); + imageFile.upload(new UploadFileListener() { + @Override + public void done(BmobException e) { + if (e == null) { + iteminfo iteminfos = new iteminfo(); + iteminfos.setTitle(title.getText().toString()); + iteminfos.setUserId(post_userid); + iteminfos.setKind(kind); + iteminfos.setPrice(price.getText().toString()); + iteminfos.setContact(phone.getText().toString()); + iteminfos.setInfo(description.getText().toString()); + iteminfos.setImage(imageFile); + iteminfos.save(new SaveListener() { + @Override + public void done(String objectId,BmobException e) { + if(e==null){ + + Toast.makeText(getApplicationContext(),"添加数据成功",Toast.LENGTH_SHORT).show(); + Intent intent=new Intent(AddItem.this,AddItem.class); + startActivity(intent); + }else{ + Toast.makeText(getApplicationContext(),"添加数据失败"+e.getMessage(),Toast.LENGTH_SHORT).show(); + } + } + }) + ; + } + } + }); + } + } + }); + + Button but1 = (Button) findViewById(R.id.but1_m1); + Button but2 = (Button) findViewById(R.id.but2_m1); + but2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(AddItem.this, MyItems.class); + startActivity(intent); + } + }); + but1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(AddItem.this, main_page.class); + startActivity(intent); + } + }); + + } + + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + //获取图片路径 + if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) { + Uri selectedImage = data.getData(); + Log.d("uri", selectedImage.getPath()); + String[] filePathColumns = {MediaStore.Images.Media.DATA}; + Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null); + c.moveToFirst(); + int columnIndex = c.getColumnIndex(filePathColumns[0]); + String imagePath = c.getString(columnIndex); + showImage(imagePath); + c.close(); + } + } + + //加载图片 + private void showImage(String imagPath) { + Bitmap bm = BitmapFactory.decodeFile(imagPath); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + bm.compress(Bitmap.CompressFormat.PNG, 100, baos); + image = baos.toByteArray(); + imageButton.setImageBitmap(bm); + image_path = imagPath; + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + switch (requestCode) { + case 1: + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + } else { + Toast.makeText(this, "You denied the permission", Toast.LENGTH_SHORT).show(); + } + break; + default: + } + } +}