欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

人品测试器,

来源: 开发者 投稿于  被查看 39726 次 评论:184

人品测试器,


输入姓名测试人品~~

1.[图片] 22.jpg

2.[文件] RenP.zip~220KB 下载(2038)

3.[Java]代码

package com.yq.njupt;

import java.text.SimpleDateFormat;
import java.util.Date;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.MediaStore;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.imax.vmall.sdk.android.common.adapter.ServiceCallback;
import com.imax.vmall.sdk.android.entry.CommonService;
import com.imax.vmall.sdk.android.huawei.share.ShareStatus;

public class RenPActivity extends Activity {
	/** Called when the activity is first created. */
	String inputString = "";
	String displaysString = "";
	Button okBtn, renrenButton, sinaButton, tqqButton,shareBtn;
	EditText nameTxt;
	TextView resultTxt;
	private static final String TAG = "RenPActivity";
	// SDK的公共服务类
	public CommonService mCommon;
	// SDK分享类
	public ShareStatus mShare;
	private boolean hasPicture = false;
	// 图片路径
	private String picpath;
	// 图片名
	private String picName;
	// 跳转到文件选择页面和鉴权页面的标识
	private static final int REQUEST_CODE_FILE = 0;
	private static final int REQUEST_CODE_AUTH = 1;

	// API调用结果标识
	private static final int TYPE_INIT_SUCCESS = 0;
	private static final int TYPE_INIT_FAILD = 1;
	private static final int TYPE_SHARE_SUCCESS = 2;
	private static final int TYPE_SHARE_FAILD = 3;
	Handler MessageHandler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			switch (msg.what) {
			case TYPE_INIT_SUCCESS:
				Toast.makeText(RenPActivity.this, "SDK 初始化成功!",
						Toast.LENGTH_SHORT).show();
				break;
			case TYPE_INIT_FAILD:
				Toast.makeText(RenPActivity.this, "SDK 初始化失败!",
						Toast.LENGTH_SHORT).show();
				break;
			case TYPE_SHARE_SUCCESS:
				Toast.makeText(RenPActivity.this, "分享成功", Toast.LENGTH_SHORT)
						.show();
				break;
			case TYPE_SHARE_FAILD:
				Toast.makeText(RenPActivity.this, "分享出错!", Toast.LENGTH_SHORT)
						.show();
				break;
			default:
				break;
			}
		};
	};

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);// 去标题
		setContentView(R.layout.main);
		resultTxt = (TextView) findViewById(R.id.resultTxt);
		nameTxt = (EditText) this.findViewById(R.id.txt_name);

		// 第一步:初始化SDK // 获取SDK公共服务类实例
		mCommon = CommonService.getInstance();
		// 初始化SDK,初始化成功后再调用其他接口 // appID:APP在IMAX注册应用时分配的APP ID //
		// appKey:APP在IMAX注册应用时分配的APP KEY
		mCommon.init(this, "3149769819", "18cf75c4ba2b2d5c84b9381d581cca5a",
				new ServiceCallback() {
					@Override
					public void onComplete(String result) {
						// TODO Auto-generated method stub

						Log.v(TAG, "-----sdk init success-----");
						// 初始化SDK成功,result是IMAX返回的token
						String token = result; // 或者使用//String token =
												// CommonService.getImaxToken();
						Log.v(TAG, "imax_token = " + token);
						// 通知主线程初始化成功,不要在回调方法中执行会阻塞线程的操作
						Message msg = new Message();
						msg.what = TYPE_INIT_SUCCESS;
						MessageHandler.sendMessage(msg);
					}

					@Override
					public void onError(String message) {
						// TODO Auto-generated method stub
						// 发生网络错误或者获取IMAX TOKEN失败,message包含错误码
						// 提示SDK初始化失败
						Log.v(TAG, "-----sdk init faild-----");
						Log.v(TAG, "error message = " + message);
						// 通知主线程初始化失败,不要在回调方法中执行会阻塞线程的操作
						Message msg = new Message();
						msg.what = TYPE_INIT_FAILD;
						MessageHandler.sendMessage(msg);
					}
				});

		okBtn = (Button) this.findViewById(R.id.okBtn);
		okBtn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				int rp = 0;
				inputString = nameTxt.getText().toString();
				if (inputString.equals("")) {
					rp = -1;
				} else if (inputString.equals("王尚")) {
					rp = 100;
				} else {

					int tempRp = 0;
					int i = 0;
					while (i < inputString.length()) {
						tempRp = tempRp + inputString.charAt(i);
						i++;
					}
					rp = tempRp % 100;

				}

				String comment = getComment(rp);
				displaysString = "您的大名:" + inputString + "\n您的人品是:" + rp
						+ "\n评价:" + comment;
				resultTxt.setText(displaysString);

			}
		});

		sinaButton = (Button) findViewById(R.id.sinaBtn);
		sinaButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				oauth("sina");
			}
		});

		renrenButton = (Button) findViewById(R.id.renrenBtn);
		renrenButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				oauth("renren");
			}
		});

		tqqButton = (Button) findViewById(R.id.tqqBtn);
		tqqButton.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				oauth("tencent");
			}
		});

		shareBtn = (Button) findViewById(R.id.shareBtn);
		shareBtn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				statusShare();
			}
		});
		
		

	}

	// 第二步:OAuth授权
	// 以下参数需要APP自己到第三方平台注册自己的应用获取
	public void oauth(String ep_id) {
		// 用WebView控件打开OAuth鉴权页面
		Intent it = new Intent(RenPActivity.this, AuthActivity.class);
		it.putExtra("ep_id", ep_id);
		// APP在新浪微博开放平台注册应用时分配的参数
		if (ep_id.equals("sina")) {
			it.putExtra("app_key", "4026214562");
			it.putExtra("app_secret", "d04fe2decac68b07edcf4d4176367796");
			it.putExtra("redirect_url", "http://ilongjin.com");
		}
		// APP在腾讯微博开放平台注册应用时分配的参数
		else if (ep_id.equals("tencent")) {
			it.putExtra("app_key", "801280450");
			it.putExtra("app_secret", "0431393723d460421239de23eb1efa4f");
			it.putExtra("redirect_url", "http://dev.t.qq.com/apps/add/3");
		}
		// APP在人人网开放平台注册应用时分配的参数
		else if (ep_id.equals("renren")) {
			it.putExtra("app_key", "1bd510174f6140c88c1fe033115ff0ae");
			it.putExtra("app_secret", "2373dcf6c54b4f389b82fe3e84ee4283");
			it.putExtra("redirect_url",
					"http://graph.renren.com/oauth/login_success.html");
		}

		startActivityForResult(it, REQUEST_CODE_AUTH);
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		// 获取选取的图片
		if (requestCode == REQUEST_CODE_FILE) {
			if (data != null) {
				Uri uri = data.getData();// 可以得到图片在Content://...中的地址,把它转化成绝对地址
				String[] proj = { MediaStore.Images.Media.DATA };
				Cursor cursor = managedQuery(uri, proj, null, null, null);
				if (cursor != null) {
					int column_index = cursor
							.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
					if (cursor.getCount() > 0 && cursor.moveToFirst()) {
						picpath = cursor.getString(column_index);
						String temp[] = picpath.replaceAll("\\\\", "/").split(
								"/");
						if (temp.length > 1) {
							picName = temp[temp.length - 1];
						}
						Log.v(TAG, "picPath = " + picpath + ", picName = "
								+ picName);
						// APP需要判断选取的图片是否符合要求,类型(png,jpg,gif),大小(<3M)等
						hasPicture = true;
					}
				}
			}
		} else if (requestCode == REQUEST_CODE_AUTH) {
			if (data != null) {
				String state = data.getStringExtra("auth_state");
				if (state != null) {
					if (state.equals("ok")) {// 用户授权成功
						String access_token = data
								.getStringExtra("access_token");
						long expires_in = data.getLongExtra("expires_in", 0);
						String uid = data.getStringExtra("uid");
						Log.v(TAG, "access_token = " + access_token
								+ ", expires_in = " + expires_in + ", uid = "
								+ uid);
						Toast.makeText(this, "用户授权成功!", Toast.LENGTH_SHORT)
								.show();
					} else if (state.equals("error")) {// 用户授权失败
						String error_code = data.getStringExtra("error_code");
						String error_msg = data.getStringExtra("error_msg");
						Log.v(TAG, "error_code12 = " + error_code
								+ ", error_msg = " + error_msg);
						Toast.makeText(this, "用户授权出错!", Toast.LENGTH_SHORT)
								.show();
					} else if (state.equals("cancel")) {// 用户取消了授权
						Toast.makeText(this, "用户取消授权!", Toast.LENGTH_SHORT)
								.show();
					}
				}
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}

	// 第三步:分享文字或图片到第三方平台
	public void statusShare() {
		// 获取分享类的实例
		mShare = ShareStatus.getInstance();
		// 当前时间,如果没有输入分享的类容,则默认分享当前时间
		SimpleDateFormat sDateFormat = new SimpleDateFormat(
				"yyyy-MM-dd hh:mm:ss");
		String date = sDateFormat.format(new Date());
		/**
		 * 分享的内容不能为空,否则会分享失败;相同的内容重复分享也会失败
		 */
		String content =resultTxt.getText().toString();
		if (content == null || content.equals("")) {
			content = date;
		}

		/**
		 * 一次分享到多家平台,之间用逗号隔开,至少需要填写一家 分享的内容不能为空,否则会分享失败,分享内容的最大长度请参考第三方平台的说明
		 * 分享的图片最大不能超过3M,APP可在上传前对图片进行裁剪;如果只分享文字微博则此参数传入null
		 * 请确保在调用SDK初始化接口成功后再调用其他接口!!!
		 */
		mShare.share("sina,tencent,renren,douban,kaixin", content, picpath,
				new ServiceCallback() {
					@Override
					public void onComplete(String result) {
						// TODO Auto-generated method stub
						/**
						 * 请求正常响应,服务器返回JSON格式的响应 APP需要解析result,判断分享结果
						 * 如果请求的参数错误则会返回形式为
						 * :{"ret":"2","msg":"缺失必选参数(content),请参考API文档"}
						 * 如果分享成功或分享失败则返回形式为
						 * :{"renren":{"ret":"1","msg":"失败"},"sina"
						 * :{"ret":"5","msg"
						 * :"接口调用频率超过上限"},"kaixin":{"ret":"17","msg"
						 * :"开心账号绑定已经过期,请重新绑定"
						 * },"douban":{"ret":"0","msg":"成功"},"tencent"
						 * :{"ret":"17","msg":"腾讯微博账号绑定已经过期,请重新绑定"}}
						 */

						Log.v(TAG, "-----statusShare success-----");
						Log.v(TAG, "response = " + result);
						// 提示分享结果
						// 通知主线程分享成功,不要在回调方法中执行会阻塞线程的操作
						Message msg = new Message();
						msg.what = TYPE_SHARE_SUCCESS;
						MessageHandler.sendMessage(msg);
					}

					@Override
					public void onError(String message) {
						// TODO Auto-generated method stub
						// HTTP请求发生异常错误
						// 通知主线程分享失败,不要在回调方法中执行会阻塞线程的操作
						Message msg = new Message();
						msg.what = TYPE_SHARE_FAILD;
						MessageHandler.sendMessage(msg);
					}
				});
	}

	protected String getComment(int rp) {
		// TODO Auto-generated method stub
		String commentString = "";
		if (rp >= 100) {
			commentString = "你是神!!!";
		} else if (rp >= 80) {
			commentString = "你的人品太好了,你就是当代活雷锋啊~";
		} else if (rp >= 60) {
			commentString = "你的人品刚刚勉强,要自己好自为之..";
		} else if (rp >= 40) {
			commentString = "你的人品比较差了,约束好自己啊..";
		} else if (rp >= 20) {
			commentString = "偷鸡摸狗的事你应该没少做吧..";
		} else if (rp >= 0) {
			commentString = "Sorry..讲人品的问题,你肯定听不懂...";
		} else {
			commentString = "啊~~你的人品竟然负溢出了!畜生啊!!!";
		}
		return commentString;
	}

	// 不使用菜单
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case Menu.FIRST + 1:
			@SuppressWarnings("unused")
			AlertDialog aDialog = new AlertDialog.Builder(RenPActivity.this)
					.setTitle("尚仔出品,必属精品~")
					.setMessage("邮箱:shangzai91@gmail.com\n联系我吧~~")
					.setIcon(R.drawable.ic_launcher)
					.setPositiveButton("确定",
							new DialogInterface.OnClickListener() {
								@Override
								public void onClick(DialogInterface dialog,
										int id) {
									dialog.cancel();
								}
							}).show();
			return true;
		default:
			return false;
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		menu.add(Menu.NONE, Menu.FIRST + 1, 1, "关于").setIcon(
				android.R.drawable.ic_menu_compass);
		return true;
	}

	@Override
	public void onBackPressed() {
		// 该方法仅适用于2.0或更新版的sdk
		@SuppressWarnings("unused")
		AlertDialog aDialog = new AlertDialog.Builder(RenPActivity.this)
				.setTitle("  ").setMessage("您确定退出吗?")
				.setIcon(R.drawable.ic_launcher)
				.setNegativeButton("取消", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						dialog.cancel();
					}
				})
				.setPositiveButton("确定", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int id) {
						System.exit(0);
						RenPActivity.this.finish();
					}
				}).show();
		return;
	}
}

用户评论