Java 刷新时未更新图像
我是新来的。所以我才开始探索android。更具体地说是关于图像。现在我正在尝试毕加索图书馆。我的问题是,当我使用毕加索时,我上传到数据库的新图像没有在imageView(2.PreviewImage.java)上更新。在高级中执行帮助和TQM。仅供参考。将图像上载到数据库时没有问题 1.MainActivity.javaJava 刷新时未更新图像,java,android,Java,Android,我是新来的。所以我才开始探索android。更具体地说是关于图像。现在我正在尝试毕加索图书馆。我的问题是,当我使用毕加索时,我上传到数据库的新图像没有在imageView(2.PreviewImage.java)上更新。在高级中执行帮助和TQM。仅供参考。将图像上载到数据库时没有问题 1.MainActivity.java EditText editText; Button button; @Override protected void onCreate(Bundle savedInstan
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText)findViewById(R.id.etEmail);
button = (Button)findViewById(R.id.btnSendSp);
button.setOnClickListener(this);
}
public void saveSpEmail(){
SharedPreferences preferences = getSharedPreferences("PassingEmail", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("passEmail", editText.getText().toString());
editor.commit();
}
@Override
public void onClick(View v) {
Intent intent = new Intent(this, PreviewImage.class);
//intent.putExtra("email", editText.getText().toString());
saveSpEmail();
startActivity(intent);
}
2.PreviewImage.java
Button buttonCoProfileUploadClinicImage;
TextView textView;
private ImageView imageViewCoProfilePageClinicImage;
private Bitmap bitmap;
String imagePath;
String receiveSpEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preview_image);
buttonCoProfileUploadClinicImage = (Button)findViewById(R.id.btnCoProfileUploadImage);
buttonCoProfileUploadClinicImage.setOnClickListener(this);
textView = (TextView)findViewById(R.id.tvEmail);
receiveSpEmail();
//Intent intent = getIntent();
//receiveSpEmail = intent.getStringExtra("email");
textView.setText(receiveSpEmail);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
imageViewCoProfilePageClinicImage = (ImageView) findViewById(R.id.ivCoProfileClinicImage);
getCoImageProfile();
}
public void receiveSpEmail(){
SharedPreferences preferences = getSharedPreferences("PassingEmail", MODE_PRIVATE);
receiveSpEmail = preferences.getString("passEmail", "..");
}
//added for retrieve image - 13/2/16
private void getCoImageProfile() {
String url = ClinicOwnerGetImage.DATA_URL+receiveSpEmail.toString().trim();
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showImageJSON(response);
bitmap = getBitmapFromUrl(imagePath);
//imageViewCoProfilePageClinicImage.setImageBitmap(bitmap);
Picasso.with(PreviewImage.this)
.load(imagePath)
//.placeholder(R.drawable.placeholder) // optional
// .error(R.drawable.error) // optional
.resize(400, 400) // optional
.into(imageViewCoProfilePageClinicImage);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(PreviewImage.this, error.getMessage().toString(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showImageJSON(String response){
String image="";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(ClinicOwnerGetImage.JSON_ARRAY);
JSONObject employeeData = result.getJSONObject(0);
image = employeeData.getString(ClinicOwnerGetImage.KEY_CLINIC_IMAGE);
} catch (JSONException e) {
e.printStackTrace();
}
imagePath = image;
Toast.makeText(this, imagePath, Toast.LENGTH_LONG).show();
}
public Bitmap getBitmapFromUrl(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//end of retrieve image
@Override
public void onClick(View v) {
Intent CoUploadImage = new Intent(this, ClinicOwnerUploadImage.class);
startActivity(CoUploadImage);
}
public class ClinicOwnerUploadImage extends AppCompatActivity implements View.OnClickListener{
private Button buttonCoChooseImage, buttonCoUploadImage;
private ImageView imageViewCoProfileImage;
public static final String KEY_IMAGE = "clinicimage";
public static final String KEY_EMAIL = "email";
public static final String UPLOAD_URL = "http://";
private int PICK_IMAGE_REQUEST = 1;
private Bitmap bitmap;
String receiveSpEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clinic_owner_upload_image);
buttonCoChooseImage = (Button)findViewById(R.id.btnCoChooseImage);
buttonCoChooseImage.setOnClickListener(this);
buttonCoUploadImage = (Button)findViewById(R.id.btnCoUploadImage);
buttonCoUploadImage.setOnClickListener(this);
imageViewCoProfileImage = (ImageView)findViewById(R.id.ivCoUploadImage);
receiveSpEmail();
}
public void receiveSpEmail(){
SharedPreferences preferences = getSharedPreferences("PassingEmail", MODE_PRIVATE);
receiveSpEmail = preferences.getString("passEmail", "..");
}
private void showFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
Picasso.with(getApplicationContext())
.load(filePath)
//.placeholder(R.drawable.placeholder) // optional
// .error(R.drawable.error) // optional
.resize(400, 400) // optional
.into(imageViewCoProfileImage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 25, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}
public void uploadImage(){
final String email = receiveSpEmail.toString().trim();
final String clinicimage = getStringImage(bitmap);
class UploadImage extends AsyncTask<Void,Void,String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(ClinicOwnerUploadImage.this,"Please wait...","uploading",false,false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(ClinicOwnerUploadImage.this, s, Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(Void... params) {
CoUploadImageRequestHandler rh = new CoUploadImageRequestHandler();
HashMap<String,String> param = new HashMap<String,String>();
param.put(KEY_EMAIL,email);
param.put(KEY_IMAGE,clinicimage);
String result = rh.sendPostRequest(UPLOAD_URL, param);
return result;
}
}
UploadImage u = new UploadImage();
u.execute();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnCoChooseImage:
showFileChooser();
break;
case R.id.btnCoUploadImage:
uploadImage();
Intent CoProfilePage = new Intent(this, PreviewImage.class);
startActivity(CoProfilePage);
break;
}
}
按钮profileUploadClinicImage;
文本视图文本视图;
私有图像查看图像查看合作文件页面临床图像;
私有位图;
字符串图像路径;
字符串receiveSpEmail;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u preview\u image);
buttonCoProfileUploadClinicImage=(按钮)findViewById(R.id.btnCoProfileUploadImage);
ButtonConProfileUploadClinicImage.setOnClickListener(此);
textView=(textView)findViewById(R.id.tVide);
receiveSpEmail();
//Intent=getIntent();
//receiveSpEmail=intent.getStringExtra(“电子邮件”);
textView.setText(receiveSpEmail);
StrictMode.ThreadPolicy policy=新建StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(策略);
imageViewCoProfilePageClinicImage=(ImageView)findViewById(R.id.ivCoProfileClinicImage);
getCoImageProfile();
}
public void receiveSpEmail(){
SharedReferences首选项=GetSharedReferences(“PassingEmail”,MODE_PRIVATE);
receiveSpEmail=preferences.getString(“passEmail”、“.”);
}
//添加用于检索图像-13/2/16
私有void getCoImageProfile(){
String url=ClinicOwnerGetImage.DATA_url+receiveSpEmail.toString().trim();
StringRequest StringRequest=新的StringRequest(url,new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
showmagejson(响应);
位图=getBitmapFromUrl(imagePath);
//imageViewCoProfilePageClinicImage.setImageBitmap(位图);
毕加索。带(预览图像。这个)
.load(图像路径)
//.placeholder(R.drawable.placeholder)//可选
//.error(R.drawable.error)//可选
.resize(400400)//可选
.进入(imageViewCoProfilePageClinicImage);
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(PreviewImage.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
});
RequestQueue RequestQueue=Volley.newRequestQueue(this);
添加(stringRequest);
}
私有void showmagejson(字符串响应){
字符串图像=”;
试一试{
JSONObject JSONObject=新JSONObject(响应);
JSONArray result=jsonObject.getJSONArray(ClinicOwnerGetImage.JSON_数组);
JSONObject employeeData=result.getJSONObject(0);
image=employeeData.getString(ClinicOwnerGetImage.KEY\u CLINIC\u image);
}捕获(JSONException e){
e、 printStackTrace();
}
图像路径=图像;
Toast.makeText(this,imagePath,Toast.LENGTH_LONG).show();
}
公共位图getBitmapFromUrl(字符串src){
试一试{
URL=新URL(src);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream输入=连接。getInputStream();
位图myBitmap=BitmapFactory.decodeStream(输入);
返回我的位图;
}捕获(例外e){
e、 printStackTrace();
返回null;
}
}
//检索图像结束
@凌驾
公共void onClick(视图v){
Intent CoUploadImage=newintent(这是ClinicOwnerUploadImage.class);
星触觉(CoUploadImage);
}
3.UploadImage.java
Button buttonCoProfileUploadClinicImage;
TextView textView;
private ImageView imageViewCoProfilePageClinicImage;
private Bitmap bitmap;
String imagePath;
String receiveSpEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preview_image);
buttonCoProfileUploadClinicImage = (Button)findViewById(R.id.btnCoProfileUploadImage);
buttonCoProfileUploadClinicImage.setOnClickListener(this);
textView = (TextView)findViewById(R.id.tvEmail);
receiveSpEmail();
//Intent intent = getIntent();
//receiveSpEmail = intent.getStringExtra("email");
textView.setText(receiveSpEmail);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
imageViewCoProfilePageClinicImage = (ImageView) findViewById(R.id.ivCoProfileClinicImage);
getCoImageProfile();
}
public void receiveSpEmail(){
SharedPreferences preferences = getSharedPreferences("PassingEmail", MODE_PRIVATE);
receiveSpEmail = preferences.getString("passEmail", "..");
}
//added for retrieve image - 13/2/16
private void getCoImageProfile() {
String url = ClinicOwnerGetImage.DATA_URL+receiveSpEmail.toString().trim();
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
showImageJSON(response);
bitmap = getBitmapFromUrl(imagePath);
//imageViewCoProfilePageClinicImage.setImageBitmap(bitmap);
Picasso.with(PreviewImage.this)
.load(imagePath)
//.placeholder(R.drawable.placeholder) // optional
// .error(R.drawable.error) // optional
.resize(400, 400) // optional
.into(imageViewCoProfilePageClinicImage);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(PreviewImage.this, error.getMessage().toString(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showImageJSON(String response){
String image="";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(ClinicOwnerGetImage.JSON_ARRAY);
JSONObject employeeData = result.getJSONObject(0);
image = employeeData.getString(ClinicOwnerGetImage.KEY_CLINIC_IMAGE);
} catch (JSONException e) {
e.printStackTrace();
}
imagePath = image;
Toast.makeText(this, imagePath, Toast.LENGTH_LONG).show();
}
public Bitmap getBitmapFromUrl(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//end of retrieve image
@Override
public void onClick(View v) {
Intent CoUploadImage = new Intent(this, ClinicOwnerUploadImage.class);
startActivity(CoUploadImage);
}
public class ClinicOwnerUploadImage extends AppCompatActivity implements View.OnClickListener{
private Button buttonCoChooseImage, buttonCoUploadImage;
private ImageView imageViewCoProfileImage;
public static final String KEY_IMAGE = "clinicimage";
public static final String KEY_EMAIL = "email";
public static final String UPLOAD_URL = "http://";
private int PICK_IMAGE_REQUEST = 1;
private Bitmap bitmap;
String receiveSpEmail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_clinic_owner_upload_image);
buttonCoChooseImage = (Button)findViewById(R.id.btnCoChooseImage);
buttonCoChooseImage.setOnClickListener(this);
buttonCoUploadImage = (Button)findViewById(R.id.btnCoUploadImage);
buttonCoUploadImage.setOnClickListener(this);
imageViewCoProfileImage = (ImageView)findViewById(R.id.ivCoUploadImage);
receiveSpEmail();
}
public void receiveSpEmail(){
SharedPreferences preferences = getSharedPreferences("PassingEmail", MODE_PRIVATE);
receiveSpEmail = preferences.getString("passEmail", "..");
}
private void showFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
Picasso.with(getApplicationContext())
.load(filePath)
//.placeholder(R.drawable.placeholder) // optional
// .error(R.drawable.error) // optional
.resize(400, 400) // optional
.into(imageViewCoProfileImage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getStringImage(Bitmap bmp){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 25, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}
public void uploadImage(){
final String email = receiveSpEmail.toString().trim();
final String clinicimage = getStringImage(bitmap);
class UploadImage extends AsyncTask<Void,Void,String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(ClinicOwnerUploadImage.this,"Please wait...","uploading",false,false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(ClinicOwnerUploadImage.this, s, Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(Void... params) {
CoUploadImageRequestHandler rh = new CoUploadImageRequestHandler();
HashMap<String,String> param = new HashMap<String,String>();
param.put(KEY_EMAIL,email);
param.put(KEY_IMAGE,clinicimage);
String result = rh.sendPostRequest(UPLOAD_URL, param);
return result;
}
}
UploadImage u = new UploadImage();
u.execute();
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnCoChooseImage:
showFileChooser();
break;
case R.id.btnCoUploadImage:
uploadImage();
Intent CoProfilePage = new Intent(this, PreviewImage.class);
startActivity(CoProfilePage);
break;
}
}
公共类ClinicOwnerUploadImage扩展了AppCompatActivity实现了View.OnClickListener{
私有按钮按钮选择图像,按钮上传图像;
私有图像查看图像查看公共文件图像;
公共静态最终字符串键\u IMAGE=“clinicimage”;
公共静态最终字符串键\u EMAIL=“EMAIL”;
公共静态最终字符串上传_URL=“http://”;
私有int PICK_IMAGE_REQUEST=1;
私有位图;
字符串receiveSpEmail;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u clinic\u owner\u upload\u image);
ButtonCooseImage=(按钮)findViewById(R.id.btnCooseImage);
按钮ChooseImage.setOnClickListener(此按钮);
ButtonCuploadImage=(Button)findViewById(R.id.btnCuploadImage);
ButtonCuploadImage.setOnClickListener(此);
imageViewCoProfileImage=(ImageView)findViewById(R.id.ivCoUploadImage);
receiveSpEmail();
}
public void receiveSpEmail(){
SharedReferences首选项=GetSharedReferences(“PassingEmail”,MODE_PRIVATE);
receiveSpEmail=preferences.getString(“passEmail”、“.”);
}
私有void showFileChooser(){
意图=新意图();
intent.setType(“image/*”);
intent.setAction(intent.ACTION\u GET\u CONTENT);
startActivityForResult(Intent.createChooser(Intent,“选择图片”),PICK\u IMAGE\u请求);
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==PICK\u IMAGE\u REQUEST&&resultCode==RESULT\u OK&&data!=null&&data.getData()!=null){
Uri filePath=data.getData();
试一试{
位图=MediaStore.Images.Media.getBitmap(getContentResolver(),filePath);
Picasso.with(getApplicationContext())
.load(文件路径)
//.placeholder(R.drawable.placeholder)//可选
//.error(R.drawable.error)//可选