ADD file via upload

master
Qf6pzalic 3 years ago
parent d107faf78c
commit f71fa61998

@ -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<String> adapter = new ArrayAdapter<String>(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<String>() {
@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:
}
}
}
Loading…
Cancel
Save