中怎么实现仿手机QQ发表说说添加照片的功能

中怎么实现仿手机QQ发表说说添加照片的功能,第1张

您好!很高兴能为您解答,   这个属于调用系统相册和系统相机进行图片选择的问题

客服端代码:

[java] view plaincopyprint?

package com.cn.lxz.zhaopian

import java.io.File

import java.io.IOException

import java.text.SimpleDateFormat

import java.util.Date

import java.util.HashMap

import java.util.Map

import lxz.utils.android.graphics.GraphicsBitmapUtils

import lxz.utils.android.net.UploadFile

import lxz.utils.android.resource.AndroidClass

import android.app.Activity

import android.app.AlertDialog

import android.content.DialogInterface

import android.content.DialogInterface.OnClickListener

import android.content.Intent

import android.content.res.Resources

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.os.Handler

import android.os.Message

import android.provider.MediaStore

import android.view.View

import android.widget.Button

import android.widget.EditText

import android.widget.ImageView

import android.widget.Toast

public class Activity_UploadPic extends Activity implements Handler.Callback {

/** Called when the activity is first created. */

ImageView view_pic

Button view_btn

EditText view_et

// 线程通知上传成功

final Handler upLoadhand = new Handler(this)

String[] arrayString = { "拍照", "相册" }

String title = "上传照片"

// 上传的地址

String uploadUrl = "http://192.168.1.101:8080/UploadServlet/UploadServlet?"

String filename = "照片"

private static final int PHOTO_REQUEST_TAKEPHOTO = 1// 拍照

private static final int PHOTO_REQUEST_GALLERY = 2// 从相册中选择

private static final int PHOTO_REQUEST_CUT = 3// 结果

@Override

public boolean handleMessage(Message msg) {

if (msg.obj != null) {

Drawable drawable = new BitmapDrawable((Bitmap) msg.obj)

view_pic.setBackgroundDrawable(drawable)

Toast.makeText(this, "获得图片并且头像上传成功", 3).show()

}else

{

Toast.makeText(this, "获得图片,但是头像上传失败,请注意配置uploadUrl上传地址", 3).show()

}

return false

}

// 创建一个以当前时间为名称的文件

File tempFile = new File(Environment.getExternalStorageDirectory(),

getPhotoFileName())

// 对话框

OnClickListener onDialogClick = new OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

switch (which) {

case 0:

startCamearPicCut(dialog)// 开启照相

break

case 1:

startImageCaptrue(dialog)// 开启图库

break

default:

break

}

}

private void startCamearPicCut(DialogInterface dialog) {

// TODO Auto-generated method stub

dialog.dismiss()

// 调用系统的拍照功能

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE)

intent.putExtra("camerasensortype", 2)// 调用前置摄像头

intent.putExtra("autofocus", true)// 自动对焦

intent.putExtra("fullScreen", false)// 全屏

intent.putExtra("showActionIcons", false)

// 指定调用相机拍照后照片的储存路径

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile))

startActivityForResult(intent, PHOTO_REQUEST_TAKEPHOTO)

}

private void startImageCaptrue(DialogInterface dialog) {

// TODO Auto-generated method stub

dialog.dismiss()

Intent intent = new Intent(Intent.ACTION_PICK, null)

intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,

"image/*")

startActivityForResult(intent, PHOTO_REQUEST_GALLERY)

}

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

setContentView(R.layout.main)

init()

}

private void init() {

// TODO Auto-generated method stub

view_pic = (ImageView) findViewById(R.id.iv)

view_btn = (Button) findViewById(R.id.btn)

view_et = (EditText) findViewById(R.id.et)

view_btn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

AlertDialog.Builder dialog = AndroidClass.getListDialogBuilder(

Activity_UploadPic.this, arrayString, title,

onDialogClick)

dialog.show()

}

})

}

// 使用系统当前日期加以调整作为照片的名称

private String getPhotoFileName() {

Date date = new Date(System.currentTimeMillis())

SimpleDateFormat dateFormat = new SimpleDateFormat(

"'IMG'_yyyyMMdd_HHmmss")

return dateFormat.format(date) + ".jpg"

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data)

switch (requestCode) {

case PHOTO_REQUEST_TAKEPHOTO:

startPhotoZoom(Uri.fromFile(tempFile), 150)

break

case PHOTO_REQUEST_GALLERY:

if (data != null) {

startPhotoZoom(data.getData(), 150)

}

break

case PHOTO_REQUEST_CUT:

if (data != null) {

setPicToView(data)

}

break

}

super.onActivityResult(requestCode, resultCode, data)

}

private void startPhotoZoom(Uri uri, int size) {

Intent intent = new Intent("com.android.camera.action.CROP")

intent.setDataAndType(uri, "image/*")

// crop为true是设置在开启的intent中设置显示的view可以剪裁

intent.putExtra("crop", "true")

// aspectX aspectY 是宽高的比例

intent.putExtra("aspectX", 1)

intent.putExtra("aspectY", 1)

// outputX,outputY 是剪裁图片的宽高

intent.putExtra("outputX", size)

intent.putExtra("outputY", size)

intent.putExtra("return-data", true)

startActivityForResult(intent, PHOTO_REQUEST_CUT)

}

// 将进行剪裁后的图片显示到UI界面上

private void setPicToView(Intent picdata) {

Bundle bundle = picdata.getExtras()

if (bundle != null) {

final Bitmap photo = bundle.getParcelable("data")

new Thread() {

@Override

public void run() {

byte[] photodata = GraphicsBitmapUtils.Bitmap2Bytes(photo)

UploadFile uploadFile = new UploadFile(uploadUrl)

Map parameters = new HashMap()

parameters.put("msg", view_et.getText().toString())

boolean isUploadSuccess = false

try {

isUploadSuccess = uploadFile.defaultUploadMethod(

photodata, filename, parameters)

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

if (isUploadSuccess) {

upLoadhand.obtainMessage(0, photo).sendToTarget()

} else {

upLoadhand.obtainMessage(-1, null).sendToTarget()

}

}

}.start()

}

}

}

供你参考

1、打开软件(软件在文章附件下载),解压后打开 KEmulator.EXE 主程序

2、点击“文件 - 载入jar…”d出文件夹,选择 QQ2007.jar(QQ2007.jar已经在压缩包中)

3、点击软件中间的QQ,登录自己的QQ号码;点击“菜单 - 查找好友 - 按号码添加”

4、输入需要添加的QQ号码,点击菜单 选择加为好友

5、无视QQ验证问题,直接点发送【怕对方看不到可以多发送几次】

6、被添加好友的QQ号信息截图

ios8发布后,很多没升级的设备都收到了官方的推送,手机自动就下载了ios8的固件,不升级要占用近2G内存,而且设置上还有个1特别讨厌。升级又不喜欢。今天我就此,给大家一个方法来腾出这2G被强制占用的内存。以及消灭难看的1。(同样适用任何推送的固件)首先装到内存小于2G以内。其次电池不低于30%。最后掌握强制关机的方法。然后就开始我们的教程。最重要的一步:必须学会。iphone强制关机方法:屏幕点亮的情况下,同时按住开机键和home键,直到屏幕完全黑屏。一般就同时按住10秒。 打开设置(桌面上设置图标有个1)然后打开------通用打开通用后我们先看看现在的用量(这步可以不要,只是证明本方法有效)看到可用空间是3.5G好了我们回到通用进入----软件更新,点击现在安装然后点击同意-----再次点击同意----连续两个同意过后,就会自动验证固件(这步我截屏了,但没成功所以就不发了)我们等到屏幕黑掉,中间一个白色的菊花形状的圈圈出现时-----强制关机。 同时按住开机键及home键,直到屏幕黑掉,然后松手。然后手机会出现苹果标志自动开机。解锁看看屏幕,设置上已经没有讨厌的1了。再看看用量,空间明显多了近2G。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11373641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存