點擊detect出現(xiàn)一直出現(xiàn)"error!"
為什么點擊detect后一直都是"error!“呢,是哪一部分的原因呢?
package?com.example.imooc_how_old; import?android.content.Intent; import?android.database.Cursor; import?android.graphics.Bitmap; import?android.graphics.BitmapFactory; import?android.graphics.Canvas; import?android.graphics.Paint; import?android.net.Uri; import?android.os.Handler; import?android.os.Message; import?android.provider.MediaStore; import?android.support.v7.app.AppCompatActivity; import?android.os.Bundle; import?android.text.TextUtils; import?android.view.View; import?android.widget.Button; import?android.widget.ImageView; import?android.widget.TextView; import?com.facepp.error.FaceppParseException; import?org.json.JSONArray; import?org.json.JSONException; import?org.json.JSONObject; public?class?MainActivity?extends?AppCompatActivity?implements?View.OnClickListener?{ ????private?static?final?int?PICK_CODE?=?0X110; ????private?ImageView?mPhoto; ????private?Button?mGetImage; ????private?Button?mDetect; ????private?TextView?mTip; ????private?View?mWaitting; ????private?String?mCurrentPhotoStr; ????private?Bitmap?mPhotoImage; ????private?Paint?mPaint; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.activity_main); ????????initViews(); ????????initEvents(); ????????mPaint?=?new?Paint(); ????} ????private?void?initEvents()?{ ????????mGetImage.setOnClickListener(this); ????????mDetect.setOnClickListener(this); ????} ????private?void?initViews()?{ ????????mPhoto?=?(ImageView)?findViewById(R.id.id_photo); ????????mGetImage?=?(Button)?findViewById(R.id.id_getImage); ????????mDetect?=?(Button)?findViewById(R.id.id_detect); ????????mTip?=?(TextView)?findViewById(R.id.id_tip); ????????mWaitting?=?findViewById(R.id.id_waitting); ????} ????@Override ????protected?void?onActivityResult(int?requestCode,?int?resultCode,?Intent?intent)?{ ????????if(requestCode?==?PICK_CODE) ????????{ ????????????if?(intent?!=?null) ????????????{ ????????????????Uri?uri?=?intent.getData(); ????????????????Cursor?cursor?=?getContentResolver().query(uri,null,null,null,null); ????????????????cursor.moveToFirst(); ????????????????int?idx?=?cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); ????????????????mCurrentPhotoStr?=?cursor.getString(idx); ????????????????cursor.close(); ????????????????//壓縮照片 ????????????????resizePhoto(); ????????????????mPhoto.setImageBitmap(mPhotoImage); ????????????????mTip.setText("Click?Detect?==>"); ????????????} ????????} ????????super.onActivityResult(requestCode,?resultCode,?intent); ????} ????//壓縮照片 ????private?void?resizePhoto()?{ ????????BitmapFactory.Options?options?=?new?BitmapFactory.Options(); ????????options.inJustDecodeBounds?=?true; ????????BitmapFactory.decodeFile(mCurrentPhotoStr,options); ????//每張圖片不能超過3M ????????double?ratio?=?Math.max(options.outWidth?*1.0/1024f,options.outHeight?*?1.0d/1024f); ????????options.inSampleSize?=?(int)?Math.ceil(ratio); ????????options.inJustDecodeBounds?=?false; ????????mPhotoImage?=?BitmapFactory.decodeFile(mCurrentPhotoStr,options); ????} ????private?static?final?int?MSG_SUCESS?=?0x111; ????private?static?final?int?MSG_ERROR?=?0x112; ????private?Handler?mHandler?=?new?Handler(){ ????????@Override ????????public?void?handleMessage(Message?msg)?{ ????????????switch?(msg.what) ????????????{ ????????????????case?MSG_SUCESS: ????????????????????mWaitting.setVisibility(View.GONE); ????????????????????JSONObject?rs?=?(JSONObject)?msg.obj; ????????????????????prepareRsBitmap(rs); ????????????????????mPhoto.setImageBitmap(mPhotoImage); ????????????????????break; ????????????????case?MSG_ERROR: ????????????????????mWaitting.setVisibility(View.GONE); ????????????????????String?errorMsg?=?(String)?msg.obj; ????????????????????if(TextUtils.isEmpty(errorMsg)){ ????????????????????????mTip.setText("Error."); ????????????????????} ????????????????????else{ ????????????????????????mTip.setText(errorMsg); ????????????????????} ????????????????????break; ????????????} ????????????super.handleMessage(msg); ????????} ????}; ????private?void?prepareRsBitmap(JSONObject?rs)?{ ????????Bitmap?bitmap?=?Bitmap.createBitmap(mPhotoImage.getWidth(),mPhotoImage.getHeight(),mPhotoImage.getConfig()); ????????Canvas?canvas?=?new?Canvas(bitmap); ????????canvas.drawBitmap(mPhotoImage,0,0,null); ????????try?{ ????????????JSONArray?faces?=?rs.getJSONArray("face"); ????????????int?faceCount?=?faces.length(); ????????????mTip.setText("find"?+?faceCount); ????????????for(int?i?=?0;?i?<?faceCount;?i++){ ????????????????//拿到單獨的face對象 ????????????????JSONObject?face?=?faces.getJSONObject(i); ????????????????JSONObject?posObj?=?face.getJSONObject("position"); ????????????????float?x?=?(float)?posObj.getJSONObject("CENTER").getDouble("x"); ????????????????float?y?=?(float)?posObj.getJSONObject("CENTER").getDouble("y"); ????????????????float?w?=?(float)?posObj.getDouble("width"); ????????????????float?h?=?(float)?posObj.getDouble("height"); ????????????????x?=?x/100?*?bitmap.getWidth(); ????????????????y?=?y/100?*?bitmap.getHeight(); ????????????????w?=?w/100?*?bitmap.getWidth(); ????????????????h?=?h/100?*?bitmap.getHeight(); ????????????????mPaint.setColor(0xffffffff); ????????????????mPaint.setStrokeWidth(3); ????????????????//畫box ????????????????canvas.drawLine(x?-?w/2?,?y?-?h/2?,?x?-?w/2?,?y?+?h/2?,?mPaint); ????????????????canvas.drawLine(x?-?w/2?,?y?-?h/2?,?x?+?w/2?,?y?-?h/2?,?mPaint); ????????????????canvas.drawLine(x?+?w/2?,?y?-?h/2?,?x?+?w/2?,?y?+?h/2?,?mPaint); ????????????????canvas.drawLine(x?-?w/2?,?y?+?h/2?,?x?+?w/2?,?y?+?h/2?,?mPaint); ????????????????mPhotoImage?=?bitmap; ????????????} ????????}?catch?(JSONException?e)?{ ????????????e.printStackTrace(); ????????} ????} ????@Override ????public?void?onClick(View?v)?{ ????????switch(v.getId()) ????????{ ????????????case?R.id.id_getImage: ????????????????Intent?intent?=?new?Intent?(Intent.ACTION_PICK); ????????????????intent.setType("image/*"); ????????????????startActivityForResult(intent,PICK_CODE); ????????????????break; ????????????case?R.id.id_detect: ????????????????mWaitting.setVisibility(View.VISIBLE); ????????????????FaceppDetect.detect(mPhotoImage,?new?FaceppDetect.CallBack()?{ ????????????????????@Override ????????????????????public?void?success(JSONObject?result)?{ ????????????????????????Message?msg?=?Message.obtain(); ????????????????????????msg.what?=?MSG_SUCESS; ????????????????????????msg.obj?=?result; ????????????????????????mHandler.sendMessage(msg); ????????????????????} ????????????????????@Override ????????????????????public?void?error(FaceppParseException?exception)?{ ????????????????????????Message?msg?=?Message.obtain(); ????????????????????????msg.what?=?MSG_ERROR; ????????????????????????msg.obj?=?exception.getErrorMessage(); ????????????????????????mHandler.sendMessage(msg); ????????????????????} ????????????????}); ????????????????break; ????????} ????} }
2017-02-23
看下你的錯誤碼,去曠視找下問題所在

2017-02-22
哥們你解決了嗎?我也是這種問題