示例#1
0
  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) {
    }
  }
示例#2
0
  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);
 }