(1)線性佈局LinearLayout (2)表格佈局TableLayout (3)幀佈局FrameLayout (4)相對佈局RelativeLayout (5)網格佈局GridLayout (6)絕對佈局AbsoluteLayouthtml
px(像素) dip或dp(device independent pixels 設備獨立像素) sp(scaled pixels 比例像素) in(英寸) mm(毫米) pt(磅)前端
(1)基於監聽的事件處理。 (2)基於回調的事件處理。java
(1)在新啓動的線程中發送消息。 (2)在主線程中獲取、處理消息。react
(1)standard: 標準模式 (2)singleTop: Task棧頂單例模式 (3)singleTask: Task內單例模式 (4)singleInstance: 全局單例模式(新的Task,且次Task只包含這個Activity)。 **在AndroidManifest.xml中,設置launchMode **android
子類: DialogFragment: 對話框界面的Fragment。 ListFragment: 實現列表界面的Fragment。 PreferenceFragment: 選項設置界面的Fragment。 WebViewFragment: WebView界面的Fragment。git
必須實現方法: onCreate(): 初始化想要在Fragment中保持的必要組件。 onCreateView(): 繪製界面組件。 onPause(): 當用戶離開該Fragment時將會調用。github
生命週期:web
onAttach(): 當該Fragment被添加到Activity時被回調。 該方法只會被調用一次。 onCreate(): 建立Fragment時被回調。 該方法只會被調用一次。 onCreateView(): 每次建立、繪製該Fragment的View組件時回調該方法。 onActivityCreated():當Fragment所在的Activity被啓動完成後回調該方法。 onStart(): 啓動Fragment時被回調。 onResume(): 回覆Fragment時被回調,在onStart()方法後必定會回調onResume()方法。 onPause(): 暫停Fragment時被回調。 onStop(): 中止Fragment時被回調。 onDestroyView(): 銷燬該Fragment所包含的View組件時調用。 onDestroy():銷燬Fragment時被回調。 該方法只會被調用一次。 onDetach(): 將該Fragment從Activity中刪除、替換完成時回調該方法,在onDestroy()方法後必定會回調onDetach()方法。 該方法只會被調用一次。json
Activity和Fragment通信:後端
Fragment獲取它所在的Activity:調用Fragment的getActivity(). Activity獲取它包含的Fragment:調用Activity關聯的FragmentManager的findFragmentById()或findFragmentByTag()方法. Activity向Fragment傳遞數據:在Activity中建立Bundle數據包,調用Fragment的setArguments(Bundle bundle)方法便可將bundle數據包傳給Fragment。 Fragment向Activity傳遞數據或Activity須要在Fragment運行中進行實時通訊:在Fragment中定義一個內部回調接口,再讓包含該Fragment的Activity實現該回調接口。
(1)Theme是針對窗體級別的,改變窗體樣式。 (2)Style是針對窗體元素級別的,改變指定空間或者Layout的樣式。 (Android系統的themes.xml和style.xml包含了不少系統定義好的style,建議在裏面挑個合適的,而後再繼承修改)
(1)」left|right」 絕對的對齊 (2)「start|end」 基閱讀順序的對齊
有點像cell,定義好layout,並將modle傳入。
(1)ctrl + enter (2) 選擇 Implement Methods 就能夠自動生成須要的方法。
android:gravity 針對控件裏的元素來講的,用來控制元素在該控件裏的顯示位置。 android:layout_gravity 針對控件自己而言,用來控制該控件在包含該控件的父控件中的位置。
出現"layout"就是控件對整個佈局的操做
只能在LinearLayout中使用,不能在RelativeLayout中使用。
網絡請求聲明接口,在APIService中完成 Model層編寫完成接口請求 Presenter中實現接口的返回操做 View中定義界面操做接口 Presenter調用View接口 在Activity中實現View的接口
private: 只有在本類中才能訪問 public: 正好和private相反,在任何地方都能訪問 protected: 本包內能訪問,而在包外只有它的子類能訪問;
Log.v(tag,message); //verbose模式,打印最詳細的日誌 Log.d(tag,message); //debug級別的日誌 Log.i(tag,message); //info級別的日誌 Log.w(tag,message); //warn級別的日誌
Log.e(tag,message); //error級別的日誌
equal: 檢查字符串的值是否相等 ==: 檢查對象是否相等
Set HashSet: 不容許出現重複元素;不保證集合中元素的順序;容許包含一個null元素。(LinkedHashSet爲有序的) TreeSet:能夠實現排序的集合。(使用Comparator進行排序)
List ArrayList: 可變的數組列表。 LinkedList: 鏈表結構實現了List接口。 Vector: 相似與ArrayList。不一樣處:同一時刻只能夠有一個線程操做。 Stack類: 數據結構中的堆棧。
Map
HashMap: 哈希表實現映射集合結構。 TreeMap: 按Map映射中的元素按照鍵進行升序排序。
Enumeration只能在Vector和HashTable中使用。Iterator使用全部結合。 Enumeration遍歷集合時不可移除元素,Iterator能夠。
String.format("¥%.2f", mOrderInfo.getOrder_amount()); 將float保留兩位小數,轉爲 string
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
final Bitmap bitmap = loadImageFromNetwork("http://example.com/image.png");
mImageView.post(new Runnable() {
// run方法會在UI線程中執行
public void run() {
mImageView.setImageBitmap(bitmap);
}
});
}
}).start();
}
複製代碼
**在主線程中,更新UI組件。 ** 調用如下方法: Activity.runOnUiThread(Runnable) View.post(Runnable) View.postDelayed(Runnable, long)
若是在工做線程中調用了這3個方法, 那麼方法中Runnable參數封裝的操做會在UI線程中執行.
View.OnClickListener 單擊事件 View.OnCreateContextMenuListener 建立上下文菜單事件 View.OnFocusChangeListener 焦點改變事件 View.OnKeyListener 按鍵事件 View.OnLongClickListener 長按事件 View.OnTouchListener 觸摸事件
layout能夠建立橫屏和豎屏的佈局。 Configuration 能夠獲取系統的信息
FragmentActivity:實現Fragment,必須繼承這類 AccountAuthenticatorActivity: 實現帳戶管理界面的Activity TabActivity:實現Tab界面的Activity ListActivity:實現列表界面的Activity LauncherActivity:實現Activity列表界面的Activity,當單擊列表項時,所對應Activity被啓動 PreferenceActivity:實現程序參數設置,存儲界面的Activity AliasActivity:別名Activity的基類,啓動其餘Activity時結束本身 ExpandableListActivity:可擴展的list,單擊某個item後,又可顯示一個子list。
啓動Activity 啓動和中止Service 發送廣播信息(Intent) 註冊廣播信息(Intent)接受者 能夠訪問APK中各類資源(如Resources和AssetManager等) 能夠訪問Package的相關信息 APK的各類權限管理
Activity的配置: name:指定Activity的實現類的類名 icon:指定Activity對應的圖標 label:指定Activity的標籤 exported:指定Activity是否容許被其餘應用調用 launchMode:指定Activity的加載模式。(standard,singleTop,singleTask和singleInstance)
4種狀態: 運行狀態 暫停狀態 中止狀態 銷燬狀態
回調方法: onCreate(Bundle savedStatus): 建立Activity時被回調。該方法只會被調用一次。 onStart(): 啓動Activity時被回調。 onRestart(): 從新啓動Activity時被回調。 onResume(): 恢復Activity時被回調。在onStart()方法後必定會回調onResume()方法。 onPause(): 暫停Activity時被回調。 onStop(): 中止Activity時被回調。 onDestroy(): 銷燬Activity時被回調。 該方法只會被調用一次。
FragmentManager fragmentManager = getFragmentManager();FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
複製代碼
Activity中獲取Fragment事務,調用add()、remove()、 replace()操做,調用commit() 提交事務。
Intent對象包含Component,Action,Category,Data,Type,Extra和Flag屬性。 Component:包名 Action:動做 Category:附加類別信息 Data: Action屬性提供操做的數據,接受一個Uri對象 Type:Data屬性所指定Uri對應的MIME類型 Extra:Bundle對象,用於數據交互 Flag:控制旗標
Drawable資源:StateListDrawable資源: 隨目標組件狀態的改變而自動切換。 LayerDrawable資源: 數組順序繪製。(layer-list 覆蓋繪製) ShapeDrawable資源:幾何圖形(如矩形、圓形、線條)。(shape 繪製) ClipDrawable資源:其餘位圖上截取一個「圖片片斷」。(clip 截圖) AnimationDrawable資源:動畫。
主題定義的格式應該是改變窗口外觀的格式,例如窗口標題、窗口邊框。
ListView ExpandableListView GridView Spinner Gallery AdapterViewFlipper StackView
Adapter接口的實現類有: HeaderViewListAdapter BaseAdapter CursorAdapter ResourceCursorAdapter SimpleCursorAdapter ArrayAdapter SimpleAdapter
File sdCardDir = Environment.getExternalStorageDirectory();
webView = (WebView) findViewById(R.id.webView);
//WebView加載web資源
webView.loadUrl("http://baidu.com");
//覆蓋WebView默認使用第三方或系統默認瀏覽器打開網頁的行爲,使網頁用WebView打開
webView.setWebViewClient(new WebViewClient()
{
@Override public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// TODO Auto-generated method stub
// 返回值是true的時候控制去WebView打開,爲false調用系統瀏覽器或第三方瀏覽器
view.loadUrl(url);
return true;
}
});
複製代碼
若是不設置,則直接在系統的瀏覽器中打開
對String,你建立了一個String,你能經過set方法改變它的長度length嗎?顯然是不行的! 但 StringBuffer 能夠! String 字符串常量StringBuffer 字符串變量(線程安全)StringBuilder 字符串變量(非線程安全)
基原本說都是在性能上都是 StringBuilder > StringBuffer > String
訪問資源文件
警告出現,將須要執行的代碼放到Try Catch塊中。
com.google.zxing:core 實現二維碼生成和解析 io.reactivex:rxandroid 處理網絡請求 io.reactivex:rxjava 異步操做,鏈式操做 com.squareup.retrofit2:retrofit 網絡請求框架 com.squareup.retrofit2:adapter-rxjava 支持rxjava com.squareup.retrofit2:converter-gson Gson作爲json的轉換器 org.greenrobot:eventbus 「發佈/訂閱」模式的事件總線 com.umeng.analytics:analytics 友盟 com.android.support:multidex 解決Dex包超過65535 com.flipboard:bottomsheet-core 底部滑出面板 com.flipboard:bottomsheet-commons 底部滑出面板 com.github.zhaokaiqiang.klog Log開源項目 com.github.bumptech.glide 圖片加載框架 com.readystatesoftware.systembartint 沉浸式狀態欄 com.jcodecraeer:xrecyclerview recycleView com.mylhyl:acp 權限控制
顯示 View.VISIBLE 隱藏 View.INVISIBLE 移除 View.GONE
五十3、
五十4、