編輯:關於Android編程
new: 強類型。相對高效。能調用任何public構造。
c. new是自己下廚,做飯自己吃。newInstance是外面吃別人做給你吃。自己做可以保證安全,而且可以有多個口味,什麼醬,放多少自己定。new對象不會因為找不到類而出異常,而且你還可以調用多個構造函數,按照自己口味去new對象,去做一份符合自己口味的。
在外面吃,可能會你點的菜那個店裡沒有,或者是口味不對,你要吃番茄醬,但是人家只有花生醬。而且菜沒洗干淨你也不知道。newInstance也是如此,很可能你要的對象他不存在,或者是參數不對。
對象的串行化(Serialization) 什麼是串行化: 把對象的這種能記錄自己的狀態以便將來再生的能力,叫做對象的持續性(persistence)。 對象通過寫出描述自己狀態的數值來記錄自己,這個過程叫對象的串行化(Serialization)。 串行化的任務:寫出對象實例變量的數值。 http://www.cnblogs.com/vicenteforever/articles/1471775.html// 生成調用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的值“測試”
Android 的Message機制:
Message機制涉及三個主要的類:Handler、 Message、 Looper
1. Handler 兩個用途:定時處理或者分發消息;添加一個執行的行為在其他線程中執行。
Handler中常見的方法就是對消息的處理,可以覆蓋public void handleMessage(Message msg) 方法,
Message message = Message.obtain(handler);3. Looper類主要用於一個線程循環獲取消息隊列中的消息:管理消息隊列,負責消息的出列和入列操作。
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();
}
}詳細的反射可以參照這篇文章
android 反射機制的原理與實現 http://blog.csdn.net/annaleeya/article/details/8240510
Android組件必學之TabHost使用方法詳解
一、TabHost用法通常情況下我們會通過繼承TabActivity,調用getTabHost()獲取TabHost實例,下面是具體過程。TabHostActivity.
[android] 解決DatePickerDialog和TimePickerDialog控件取消按鈕問題
一. 問題提出 在Android程序中,我們通常需要使用DatePicker來設置日期,TimePicker來設置時間。其基本步驟是: 1.先定義DatePicker和
Android自定義控件實現圓形進度條
項目中常用到的圓形進度條有好多個,從網上搜到的自定義進度條多是封裝的比較好的代碼,但是不利於初學者,現在本博客就教給大家如何一步步實現自定義進度條的效果 相關視頻鏈接:
Android開發筆記(一百)折疊式列表
更多動態視圖MoreNewsView經常看朋友圈的動態,有的動態內容較多就只展示前面一段,如果用戶想看完整的再點擊展開,這樣整個頁面的動態列表比較均衡,不會出現個別動態占