嘛话都不说,直接贴代码,也是在网上找的代码copy出来的!

页面代码

encoding="utf-8"?>

android:orientation="vertical"

android:layout_width="fill_parent"

android:background="@color/white"

android:layout_height="fill_parent">

android:background="@drawable/msg_titbg"

android:layout_width="fill_parent"

android:layout_height="40dp"

android:gravity="center"

android:textColor="@color/black" android:id="@+id/titleName"

android:text="修改用户头像"/>

android:layout_width="fill_parent" android:fadingEdge="none" >

android:layout_width="fill_parent" android:paddingLeft="5.0sp"

android:paddingRight="5.0sp"

android:layout_height="wrap_content"

android:orientation="vertical" android:gravity="center"

android:background="@color/white"

android:fadingEdge="none"

android:paddingTop="70dip">

android:layout_width="fill_parent"

android:layout_height="fill_parent" android:orientation="vertical"

android:gravity="center">

android:id="@+id/userImage" android:layout_width="150px"

android:layout_height="150px"

android:src="@drawable/icon_selfinfo"/>

android:layout_width="fill_parent"

android:orientation="vertical"

android:layout_height="wrap_content"

android:gravity="center"

android:paddingTop="30dp">

android:layout_width="80dp"

android:layout_height="wrap_content" android:background="@drawable/login_btn"

android:text="上传"

android:id="@+id/btn_savaCmt"/>

后台代码

package com.gec.android.activity;

import java.io.ByteArrayOutputStream;

import java.io.File;

import org.json.JSONObject;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.SharedPreferences;

import android.graphics.Bitmap;

import android.graphics.drawable.BitmapDrawable;

import android.graphics.drawable.Drawable;

import android.net.Uri;

import android.os.Bundle;

import android.os.Environment;

import android.provider.MediaStore;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.Toast;

public class PicCutActivity extends Activity{

ProcessInfoUtil processInfoUtil = new

ProcessInfoUtil();//底层帮助类与服务器交互

SharedPreferences settings;//用户登录信息

ImageView ib=null;

private byte[] bytes;//得到了裁切后图片的byte[] 在用base64

encodeToString下上传至服务器

boolean isUpload=false;

@Override

protected void onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.piccut);

settings =

getSharedPreferences("SETTING_Infos", 0);

ib = (ImageView)

findViewById(R.id.userImage);

String result =

processInfoUtil.getCurrentUser();

Drawable img = null;

JSONObject jb = null;

try {

jb = new

JSONObject(result.toString());

img =

ImageUtil.getImgDrawable(getApplicationContext(),

jb.getString("currentUserLogo"), ib);

if (img !=

null || "".equals(img)) {

ib.setImageDrawable(img);

}

} catch (Exception se)

{

se.printStackTrace();

}

ib.setOnClickListener(new

OnClickListener() {

@Override

public void

onClick(View v) {

ShowPickDialog(); }

});

final Button btn = (Button)

findViewById(R.id.btn_savaCmt);

btn.setOnClickListener(new

OnClickListener() {

@Override

public void

onClick(View v) {

btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.login_btn_on));

if

(isUpload) {

ImageUtil

util = new ImageUtil();

String

name = settings.getString("NAME", "");

boolean

isSuc = util.uploadFile(name, "", bytes);

if

(isSuc) {

Toast.makeText(getApplicationContext(),

" 图像上传成功!", 1000).show();

}

else {

Toast.makeText(getApplicationContext(),

" 图像上传失败!", 1000).show();

}

Intent

intent = new Intent();

intent.setClass(PicCutActivity.this,

GecAndroidActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

// 清除activity

startActivity(intent);

finish();

}

else {

Toast.makeText(getApplicationContext(),

"请先选择新的头像!", 1000).show();

}

}

});

}

private void ShowPickDialog()

{ new AlertDialog.Builder(this) .setTitle("设置头像...") .setNegativeButton("相册", new DialogInterface.OnClickListener()

{ public void onClick(DialogInterface dialog, int which)

{ dialog.dismiss(); Intent

intent = new Intent(Intent.ACTION_PICK,

null);

android自定义头像上传,android裁切图片之用于头像上传相关推荐

  1. android 自定义ImageView控件实现圆形图片-适用于用户头像

    android开发中常常涉及到一种情况,就是将用户上传的图片以圆形样式显示,但是用户上传的图片可以有直角.圆角.正方形等多种不确定样式,这时就用到了自定义ImageView控件,在安卓客户端使接收到的 ...

  2. 自定义背景android,Android自定义Button并设置不同背景图片的方法

    本文实例讲述了Android自定义Button并设置不同背景图片的方法.分享给大家供大家参考,具体如下: 1.自定义MyButton类 public class MyButton extends Bu ...

  3. 【Android实战】----基于Retrofit实现多图片/文件、图文上传

    本文代码详见:https://github.com/honghailiang/RetrofitUpLoadImage 一.再次膜拜下Retrofit Retrofit无论从性能还是使用方便性上都很屌! ...

  4. android自定义带进度条的圆形图片

    前言:在项目听新闻的改版中需要实现环绕圆形新闻图片的进度条功能,作为技术预备工作我就去看了一些网上的相关的原理,做了一个自定义带进度条的圆形图片的demo,并将这个实现写成文章发布出来,谁需要了可以进 ...

  5. Android自定义view摇杆,Android 自定义摇杆控件(使用图片)

    效果图 1.找两张图片 1)Joystick背景图片circle_1.png 2)Joystick图片circle_2.png 2.在layout中创建布局文件 imagejoystick.xml 内 ...

  6. android自定义进度条样式,Android 自定义进度条

    效果 国际惯例,效果图奉上 在这里插入图片描述 目录 在这里插入图片描述 前言 写在前面,由于之前其实已经写了部分自定义View的方法,所以本来应该按照之前的系列,来进行下载暂停动画进度条,但是我把之 ...

  7. Android自定义文件路径箭头,Android自定义ViewGroup实现带箭头的圆角矩形菜单

    本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置. 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这 ...

  8. android自定义view生命周期,android基础之自定义view

    一.Custom View 1.view的继承关系 view继承关系.png 2.Android 如何绘制试图层次 当activity获取焦点时,它必须提供layout层次的根节点,然后android ...

  9. android 自定义相机源码,Android 自定义相机及分析源码

    Android 自定义相机及分析源码 使用Android 系统相机的方法: 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 action的作用就是声明action ...

最新文章

  1. Linux内存技术分析(上)
  2. .net lucene 实战搜索(二)----- 基本之索引
  3. VTK:图片之DrawOnAnImage
  4. Spring web.xml详解
  5. noteexpress 笔记导出_把笔记还给用户,可以选择自己存储位置的笔记应用#Joplin...
  6. 死锁的处理策略——避免死锁
  7. python安装-Python安装
  8. VS Code 下载/导入 Python 库
  9. Wonderware Intouch 2014R2 SP1授权教程
  10. ant 卓越幕墙工具箱和 那个好用_卓越幕墙工具箱
  11. js/JavaScript获取IP地址的方法小结
  12. 【Oracle】数据清洗案例
  13. Android实战之淘宝领券(三)
  14. 字符串ucfirst解析
  15. 第十一章:项目风险管理 - (11.5 规划风险应对)
  16. 要有遥不可及的梦想,也要有脚踏实地的本事
  17. 月中工作总结_在全职工作的9个月中,我是如何从新手转到软件工程师的
  18. java有substr方法_java substring和substr
  19. 写了也不看之第一学期c语言总结
  20. linux文件中的^M

热门文章

  1. window10 安装语言包出现“很抱歉,我们无法安装此功能。你可以稍后重试。错误代码: 0x80070422”
  2. 2007高校bbs上20个睿智冷笑话
  3. 共探数字技术与信息安全,第四届中俄数字论坛成功举办
  4. 安卓那些你不得不收藏的开源库
  5. 什么是大病医保?是商业保险吗?包括哪些病?怎么办理?
  6. OpenWrt 网络设置(六)
  7. 2844: albus就是要第一个出场
  8. 基于诺诺电子发票平台开发开具电子发票
  9. 云梦四时歌如何在电脑上玩 云梦四时歌模拟器教程
  10. Webpack: Loader 开发分享