標籤:android mysql github 資料庫伺服器 資料庫
Github地址:https://github.com/enbandari/aMysqlClient
引子
本著愛扯淡的一貫作風,先講一下為什麼要做個這。。
話說,從某狗實習回來之後,守著實驗室的大offer實在不是咱的作風,所以就跟小夥伴們開始搞一款應用。這款應用的伺服器和資料庫這一攤子事兒自然習慣性的被交代給了洒家。閑話不表。卻說某一夜洒家正酣睡,約摸二更時分,被用戶端開發妹子一通電話喚醒,道明原委,原來Mysql資料可能出現異常,需要洒家查明真相。洒家自是百般不情願,但還是連滾帶爬,翻身下地,戳開小本,一探究竟。。
洒家自忖,若是手機可以瞭解此事,何須如此周折。。。
1、搜
何必重複造輪子?於是Google一番,不料竟無一app可令android手機操作Mysql。神傷啊。。
2、想
這可如何是好?
思忖良久,如何類比cmd搞一個mysql命令列?開socket連3306?自行解析協議?吾非藍翔出身,恐難以勝任呀。也是天命所歸,此時洒家正翻騰伺服器代碼,一眼瞄上了Spring jdbc。若使jdbc串連mysql,便可省去一番協議之事,真乃得來全不費工夫也。
3、做
3.1 android不能直接用Spring核心
洒家既然決定用Spring jdbc搞定此時,定然琢磨android端如何用得起伺服器架構。實驗幾番,不想Spring核心因為Java庫檔案與android衝突而不能使用。煩惱煩惱。既然如此,也省的費事,想想Spring jdbc不過也是jdbc的一層封裝,只用Spring jdbc應該無妨吧?試之,果然。
3.2 保持命令上下文
洒家也是醉了。直接利用Spring jdbc企圖做一命令列。也不是不可,最初未使用串連池,使得每次發送的命令都使用不同的串連。因而你想use test(test乃一庫也!),然後select * from t(t乃test庫中表也!),對方答曰:哦抱歉,沒有t這表。
這。。
上個DBCP如何?果然問題得以解決,原因嘛,就是串連沒有釋放罷了。
3.3 jdbc url必須指定資料庫名稱
洒家真的不開心了……洒家如何知道您那資料庫伺服器有撒子庫嘛。想來想去,只好預設為jdbc url配置庫名為information_schema了,客官如有特殊需求,還請自便呐!
4、 看
洒家知道,無圖無真相。頁面沒有那麼有美感。別挑哈。
4.1 簡易模式
服務列表,客官可以在此編輯自己的伺服器資訊。洒家把這些資訊存到了客官手機的sqlite當中了,洒家才不想要你的密碼呢。
客官,如果您只是來圍觀的,勸您就選簡易模式吧。
資料那一頁可是能夠拖動的哈!上下左右,毫無壓力!
4.2、命令列模式
命令列模式就是客官熟悉的模式了!在此,為了方便客官輸入命令,洒家提供了以下便捷的方式!
4.2.1 顯示記錄
按‘mysql‘ 即可呼出歷程清單~~
4.2.2 長按‘mysql>‘即可呼出常用命令
4.2.3 還有關鍵字輸入快捷區
4.2.4 輸入命令時的關鍵字提示
5、後記
其實程式的主體功能是洒家在回家的那次火車上搞出來的,火車上真無聊。。
千萬不要開啟混淆,因為混淆會導致串連失敗。為啥?洒家最近面試太多,累,不想管。。
Mysql用戶端Android版的開源產品