`

用户注册时头像的获取

阅读更多
从相册获取头像和用照相机拍照获取
@Override
	public void onClick(View v) {

		switch (v.getId()) {
		// 返回按钮
		case R.id.btn_left:

			break;
		// 完成按钮
		case R.id.btn_right:
			registerService();
			break;
		// 到相册获取照片
		case R.id.btn_register_goto_xiangce:
			Intent intent3 = new Intent(Intent.ACTION_GET_CONTENT);
			intent3.addCategory(Intent.CATEGORY_OPENABLE);
			intent3.setType("image/*");
			intent3.putExtra("crop", "true");
			intent3.putExtra("aspectX", 1);
			intent3.putExtra("aspectY", 1);
			intent3.putExtra("outputX", 150);
			intent3.putExtra("outputY", 150);
			intent3.putExtra("return-data", true);
			startActivityForResult(intent3, 3);
			break;
		// 用照相机拍照获取头像
		case R.id.btn_register_goto_camera:
			boolean sdCardExist = Environment.getExternalStorageState().equals(
					android.os.Environment.MEDIA_MOUNTED);
			if (sdCardExist) {
				Intent intent4 = new Intent(
						"android.media.action.IMAGE_CAPTURE");
				intent4.putExtra(MediaStore.EXTRA_OUTPUT, Uri
						.fromFile(new File(Environment
								.getExternalStorageDirectory(), "camera.jpg")));
				intent4.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
				startActivityForResult(intent4, 4);

			} else
				Toast.makeText(v.getContext(), "请插入sd卡", Toast.LENGTH_LONG)
						.show();

			break;

		default:
			break;
		}
		super.onClick(v);
	}


获得图片后返回:
// 从相册或者照相机获取照片后返回
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode != RESULT_OK) {
			return;
		} else {
			switch (requestCode) {
			case 3:
				Bitmap cameraBitmap = (Bitmap) data.getExtras().get("data");
				BitmapDrawable bd = new BitmapDrawable(
						RegisterSecondActivity.this.getResources(),
						cameraBitmap);
				touxiang_byte = bitmapToBytes(cameraBitmap);
				str_head = byteToBase64(touxiang_byte);
				try {
					img_head.setBackgroundDrawable(bd);

				} catch (Exception e) {
					e.printStackTrace();
				}
				
				break;

			/* 拍照后保存图片,并跳到裁剪功能 */
			case 4:
				try {
					InputStream stream = new FileInputStream(new File(
							Environment.getExternalStorageDirectory(),
							"camera.jpg"));
				} catch (FileNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				BitmapFactory.Options opts = new BitmapFactory.Options();
				opts.inJustDecodeBounds = true;
				Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/camera.jpg",
						opts); // 此时返回bm为空
				opts.inJustDecodeBounds = false;
				int be = (int) (opts.outHeight / (float) 200);
				if (be <= 0)
					be = 1;
				opts.inSampleSize = be;
				// 重新读入图片,注意这次要把options.inJustDecodeBounds 设为 false哦
				bitmap = BitmapFactory.decodeFile("/sdcard/camera.jpg", opts);
				BitmapDrawable bd_camera = new BitmapDrawable(
						RegisterSecondActivity.this.getResources(), bitmap);
				touxiang_byte = bitmapToBytes(bitmap);
				img_head.setBackgroundDrawable(bd_camera);
				str_head = byteToBase64(touxiang_byte);
				break;
			}

		}
		super.onActivityResult(requestCode, resultCode, data);
	}


// 将图片转换为二进制数组的方法
	public byte[] bitmapToBytes(Bitmap bitmap) {
		if (bitmap == null) {
			return null;
		}
		final ByteArrayOutputStream os = new ByteArrayOutputStream();
		// 将Bitmap压缩成PNG编码,质量为100%存储
		bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);// 除了PNG还有很多常见格式,如jpeg等。
		return os.toByteArray();
	}


// 将数组转换成字符串
	public String byteToBase64(byte[] tBytes) {
		String tString = "";
		String tSentString = "";

		tString = Base64.encodeToString(tBytes, 0);
		try {
			tSentString = URLEncoder.encode(tString, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return tSentString;
	}
分享到:
评论
1 楼 happyboy858 2012-01-18  
求源码学习, 谢谢。EMAIL:441667111@qq.com

相关推荐

    Android实现QQ登录、注销、QQ分享,获取QQ用户信息修改QQ头像。有volley网络框架使用和Glide使用网络加载图片,华为推送消息功能。

    通过QQ SDK,开发者可以获取用户的昵称、头像等基本信息,若用户授权,还可以获取更详细的个人信息。修改头像通常需要用户上传新头像到服务器,再将新头像的URL更新到QQ账号上。 Volley网络框架是Google推荐的一个...

    微信、APP、社交网站真实用户头像6000个.zip

    在进行微信或APP的注册、登录、社交功能测试时,使用这些真实头像能更好地模拟实际用户体验,提高测试的逼真度。同时,这些头像也可以用于网站或服务的随机头像库,为没有上传头像的新用户提供一种默认选择,提升...

    asp版实现微信登录授权并获取用户昵称、性别、头像、来自等信息

    在ASP(Active Server Pages)开发环境中,实现微信登录授权并获取用户的基本信息,如昵称、性别、头像和来源地,是常见的功能需求。微信提供了开放平台接口,允许开发者集成微信登录,以提升用户体验和增强用户数据...

    橘头像阁最新QQ微信头像获取PHP源码

    在微信头像获取方面,源码可能利用了微信公共平台的API接口。微信提供了丰富的开发者接口,允许第三方应用获取用户头像信息。开发者需要注册微信开发者账号,并通过OAuth2.0授权机制获取用户的OpenID,然后结合这个...

    QQ快捷登录 QQ互联OAuth2.0 获取QQ用户信息头像

    OAuth2.0是一种授权框架,广泛应用于各种社交平台,包括QQ,使得第三方应用能够安全地获取用户授权,访问其在这些平台上的部分数据,如个人信息、头像等。 首先,实现QQ快捷登录的关键步骤如下: 1. **注册应用**...

    支持上传头像的注册

    在开发Web应用时,"支持上传头像的注册"是一个常见的功能需求,它允许用户在创建账户时上传个性化头像。在这个场景中,我们利用了Java Web技术,并结合Spring JDBC来处理数据库操作。以下是实现这一功能涉及的关键...

    java获取微信用户信息

    - 有了access_token和openid,你可以通过微信API获取用户的基本信息,如昵称、头像等。 2. **OAuth2.0实现细节**: - **授权请求**:构建请求链接,包含你的AppID、redirect_uri(回调URL)、scope(请求权限范围...

    钉钉免登陆,并获取用户信息

    在代码中,这些接口通常以`dd.`开头,比如`dd.login()`用于启动登录流程,`dd.getUserInfo()`则用于获取用户的基本信息,包括用户ID、姓名、头像等。 手机端的实现与PC端类似,但需要使用的是钉钉的移动版SDK。由于...

    app高清社交网站用户头像 2.zip

    在实际应用中,这些高清头像可能会被用于多种用途:作为新用户注册时的默认头像,供用户快速设定;也可以作为推荐选项,让用户在其中挑选;甚至可以作为设计灵感,帮助开发者理解当前流行的图像风格和趋势。 总结...

    ASP获取微信用户名及头像姓名openid等信息

    asp编写的代码,可以配合认证过的微信公众号获取使用者微信信息,例如昵称、性别、地址、头像等等,可以用于会员注册等,用openid做为会员验证身份等使用场景

    QQ第三方登陆 获取QQ昵称和QQ头像

    4. **处理头像获取问题**:描述中提到获取头像速度较慢,这可能是因为头像URL指向的是大图,加载时间较长。为提高效率,可以考虑使用较小尺寸的头像URL,或者在用户登录后异步加载头像,避免阻塞主线程。 5. **代码...

    ASP获取微信用户信息

    ASP获取微信用户信息是Web开发中的一个常见需求,特别是在构建与微信平台集成的应用时。ASP(Active Server Pages)是一种微软公司的服务器端脚本环境,它允许开发者在服务器上动态生成HTML、XML或其他格式的文档。...

    QQ第三方登录信息以及用户资料的获取实现

    在现代的互联网应用中,第三方登录已经成为一种常见的用户授权方式,极大地简化了用户注册和登录流程。QQ作为中国最大的社交平台之一,提供了第三方登录接口,允许开发者将其集成到自己的应用程序中,让用户能够通过...

    java+web考试之编程大题--用户注册Java源码

    用户注册时,Servlet接收来自客户端的注册信息,进行业务逻辑处理。JSP则负责展示用户界面,生成HTML响应。 2. **请求处理**:在Servlet中,我们需要重写`doPost()`方法来处理HTTP POST请求,因为用户注册通常涉及...

    php获取QQ头像并显示的方法

    根据提供的部分内容,具体实现QQ头像获取与显示的方法分为两种。第一种方法使用了PHP的输出语句,将QQ头像以图片的形式直接嵌入HTML中。在PHP脚本中,可以使用echo语句输出标签,其中的src属性指向QQ头像的URL,这个...

    优化版的微信网页获取用户信息

    - 使用`access_token`和`openid`调用微信的`sns/userinfo`接口,获取用户的昵称(nick_name)、头像(headimgurl)等详细信息。 - 对获取到的数据进行解析和处理,例如保存到数据库,或者用于构建用户在网站上的个人...

    8000头像.7z

    "8000头像.7z"这个压缩包文件提供了一大批真实用户头像,总计8000个,旨在满足各种在线平台注册或设计的需求。这些头像包括了男性和女性的不同样式,适用于微信、微博、QQ等社交应用,同时也可用于网站和应用程序的...

    swift-iOS微信微博QQfacebook第三方登录授权并获得昵称和头像。

    在iOS应用开发中,集成第三方登录服务如微信、微博、QQ和Facebook,可以极大地提升用户体验,简化用户注册和登录流程。这些社交平台提供了开放API,允许开发者通过SDK实现快速授权和数据获取。以下是对这个主题的...

    jsp+servlet头像上传功能

    在头像上传功能中,用户可能希望在上传前预览图片,或者在展示时根据需要调整图片大小。这通常可以通过JavaScript库如`Zoom.js`或后端处理来实现。 总结来说,`jsp+servlet头像上传功能`涉及到的主要知识点包括:`...

    网站、APP、社交网站真实头像打包2000个.zip - 副本.zip

    特别地,这些头像可用于微信、微博和QQ等社交平台的机器人注册,确保在这些平台上进行自动化操作时尽可能地保持真实性,以避免被系统识别为异常活动。 在压缩包内的文件名称列表中,我们看到“a.txt”可能是一个...

Global site tag (gtag.js) - Google Analytics