人品测试器,
投稿于 被查看 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; } }
用户评论