new: 强类型。相对高效。能调用任何public构造。
自己做可以保证安全,而且可以有多个口味,什么酱,放多少自己定。new对象不会因为找不到类而出异常,而且你还可以调用多个构造函数,按照自己口味去new对象,去做一份符合自己口味的。
在外面吃,可能会你点的菜那个店里没有,或者是口味不对,你要吃番茄酱,但是人家只有花生酱。而且菜没洗干净你也不知道。newInstance也是如此,很可能你要的对象他不存在,或者是参数不对。
// 生成调用Webservice方法的SOAP请求信息.该信息由SoapSerializationEnvelope对象描述
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
ht.call(NAMESPACE + methodName, envelope);
if (envelope.bodyIn.toString().startsWith("SoapFault")) {
SoapFault sf = (SoapFault) (envelope.bodyIn);
Log.i("fault", sf.faultstring);
if (handler != null) {
Message message = Message.obtain(handler);
message.what = 3;
message.obj = sf.faultstring;
message.sendToTarget();
}
return;
}
SoapObject result = (SoapObject)envelope.bodyIn;
String str = result.getProperty("abc").toString();//从result里面找到名为"abc"的值 如:result的值为:getInfoResponse{abc=测试; } 那么,result.getProperty("abc")将会从result里面找到abc的值“测试”
Message message = Message.obtain(handler);
Activity <---------------> EHandler<-----> Looper<-----> MessageQueue
IntentReceiver <-----> EHandler <-----> Looper<-----> MessageQueue
public void closeDialog(final DialogInterface dialog, boolean close) {
// 利用反射使点击按钮时,对话框不会关闭
try {
// 得到AlertDialog的父类属性mShowing
field = dialog.getClass().getSuperclass()
.getDeclaredField("mShowing");
field.setAccessible(true);
// 将mShowing变量设为false,表示对话框已关闭
field.set(dialog, close);
dialog.dismiss();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}详细的反射可以参照这篇文章原文:http://blog.csdn.net/fu222cs98/article/details/21537801