原创 判斷全排列的出現次序

假如你使用模擬全排列計數,基本會超時; 實現原理:康託展開式 X=a[n](n-1)!+a[n-1](n-2)!+…+a[i]*(i-1)!+…+a[2]*1!+a[1]*0![1] 其中a[i]爲當前未出現的元素中是排在第幾個

原创 Android 學習記錄-Activity生命週期

當用戶導航、退出和返回您的應用時,應用中的 Activity 實例將在其生命週期中轉換不同狀態。 爲什麼去了解它? 比如,如果您正構建流視頻播放器,當用戶切換至另一應用時,您可能要暫停視頻或終止網絡連接。當用戶返回時,您可以重新

原创 Android 學習記錄-SQLite

獲取sqlite linux下直接sudo apt-get install sqlite3 windows下來這裏下載對應系統的版本 使用 1 在目標文件夾創建xxx.db,然後sqlite3 xxx.db 2 提供幫助

原创 Android 學習記錄-加載器

加載器 可用於每個 Activity 和 Fragment。 支持異步加載數據。 監控其數據源並在內容變化時傳遞新結果。 在某一配置更改後重建加載器時,會自動重新連接上一個加載器的 Cursor。 因此,它們無需重新查詢其數據。

原创 DEV調試崩潰

點擊調試按鈕,DEV直接跑飛。。 解決方法: 工具->編譯選項->代碼生成/優化->連接器 裏面有個產生調試信息改爲Yes即可

原创 面向對象六大原則

面向對象六大原則 原文鏈接:https://github.com/simple-android-framework-exchange/android_design_patterns_analysis/blob/master/oop-pri

原创 對象導論,控制流程,操作符

對象導論 一個非面向對象編程的編譯器產生函數調用是前期綁定,,意味着編譯器將產生對一個具體函數名字的調用,運行時將這個調用解析到將要被執行的代碼的絕對地址,而在oop中程序直到運行時才能夠確定代碼的地址,所以當消息發送到一個泛化對象時,需

原创 單例模式

單例模式 單例類只能有一個實例。 單例類必須自己創建自己的唯一實例。 單例類必須給所有其他對象提供這一實例。 示例 public class Singleton { /* The volatile keyword ensure

原创 初始化與清理

# 初始化和清理 這是個涉及安全的兩個問題,許多c程序的錯誤都源於程序員忘記初始化變量,c++中引入了構造器,java也採用了構造器,並額外提供垃圾回收器,對不再使用的內存資源,垃圾回收器自動將其釋放掉. 用構造器確保初始化 構造器的命

原创 一切都是對象

創建對象 對象存儲的位置 寄存器:最快的存儲區,位於處理器內部,但是數量大小有限,寄存器根據需求分配,你無法直接控制. 棧:位於通用RAM,通過堆棧指針可以從處理器那裏獲得直接支持,下移分配,上移釋放.java的對象引用的存放位置 堆:

原创 Android-運行時配置變更

運行時配置變更 有些配置可能會在運行時候發生變化(屏幕方向,鍵盤和語言),發生變化時,android會重啓正在運行的activity(先後調用onPause,onStop,onDestory,onCreate,onStart,onResu

原创 解析json的庫

JSON json(JavaScript Object Notation)是一種輕量級的數據交換格式,用於數據轉換傳輸,通用於php,java,c++,c#,Python等編程語言數據交換. 易於人閱讀和編寫,同時也易於機器解析和生成.

原创 Android Asynctask

簡介 Android的UI工具包不是線程安全工具包,你不能通過工作線程操縱UI,而只能通過UI線程來操作用戶界面,單線程模式必須遵守兩條規則: 不要阻塞UI線程 不要在UI線程之外訪問android的UI工具包 Asynctask可以

原创 Android100天學習小結

完成度:81% (根據Udacity上課程進度)沒有達成目標。 計劃還算合理。沒有考慮到意外的干擾因素,在堅持上前中期還好,後面有點乏力。 需要考慮的問題:學習的方式,在Udacity上跟着視頻學習,不像以前在慕課或者其他的自學視頻一

原创 Android學習記錄-ListView

listview的點擊事件和滑動處理事件 public class MainActivity extends AppCompatActivity implements AbsListView.OnScrollListener,Adapte