public void selectProfilePicture(Intent data) { Uri selectedImage = data.getData(); try { Bitmap finalImage = ImageHandler.getPortraitImage(selectedImage, getActivity(), 300, 200); profilePicture.setImageBitmap(finalImage); Bitmap thumbNail = ImageHandler.getPortraitImage(selectedImage, getActivity(), 35, 23); // http://stackoverflow.com/questions/26292969/can-i-store-image-files-in-firebase-using-java-api ByteArrayOutputStream stream = new ByteArrayOutputStream(); finalImage.compress(Bitmap.CompressFormat.PNG, 100, stream); String imageString = Base64.encodeToString(stream.toByteArray(), Base64.DEFAULT); stream.reset(); thumbNail.compress(Bitmap.CompressFormat.PNG, 100, stream); String thumbNString = Base64.encodeToString(stream.toByteArray(), Base64.DEFAULT); MainActivity.getUser().setProfilePicture(imageString, stream.toByteArray()); stream.close(); new FbDataChange("/users/" + MainActivity.getUser().getUid() + "/profilePicture", imageString) .execute(); new FbDataChange("/users/" + MainActivity.getUser().getUid() + "/profileThumb", thumbNString) .execute(); } catch (IOException e) { } }
public void updateUI() { User u = MainActivity.getUser(); if (userName == null || u == null) { return; } points.setText("Points: " + u.getPoints()); level.setText("" + LevelPicker.levelPicker((int) u.getPoints())); userName.setText(MainActivity.getMeRequest().getMe().getFirstName()); byte[] profilePictureArray = u.getInAppProfilePicture(); if (profilePictureArray != null) { profilePicture.setImageBitmap( BitmapFactory.decodeByteArray(profilePictureArray, 0, profilePictureArray.length)); } else { profilePicture.setImageDrawable(getResources().getDrawable(R.drawable.ic_mood_24dp)); } if (MainActivity.getUserContentPreview() != null) { contentPicture.setImageBitmap(MainActivity.getUserContentPreview()); } else { contentPicture.setImageDrawable(getResources().getDrawable(R.drawable.ic_assignment_24dp)); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.publishfresh); user = MainActivity.getUser(); nickNameTextView = (TextView) findViewById(R.id.nickName_TextView); nickNameTextView.setText(user.getNickName()); userAvatarImageView = (ImageView) findViewById(R.id.user_avatar_ImageView); userAvatarImageView.setBackgroundDrawable(UserService.nowUserIcon); freshnewsContent = (EditText) findViewById(R.id.edit_publish_content); sendButton = (Button) findViewById(R.id.publish_Button); sendButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { if (!freshnewsContent.getText().toString().equals("")) { if (progressDialog == null) { progressDialog = new ProgressDialog(PublishFreshActivity.this); } progressDialog.setMessage("正在发送数据..."); progressDialog.show(); // 当前用户发表一个新评论 HashMap<String, Object> param = new HashMap<String, Object>(); param.put("userID", new Long(user.getId())); param.put("content", new String(freshnewsContent.getText().toString())); Task task = new Task(Task.ADD_A_NEW_GIBBERISH, param); MainService.newTask(task); } else { Toast.makeText( PublishFreshActivity.this, R.string.please_input_freshnews_content, Toast.LENGTH_SHORT) .show(); } } }); init(); // 添加到Activity组件集合 MainService.allActivity.add(this); }