无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Android連接MySQL數(shù)據(jù)庫的方法以及可能會遇到的一些問題

2021-06-04 00:30 作者:繪木木丶  | 我要投稿

由于在畢業(yè)設(shè)計(jì)中需要用到Android訪問MySQL數(shù)據(jù)庫,便有了以下這篇文章。

Android連接數(shù)據(jù)庫一般有兩種方法:

(1)通過服務(wù)器連接,利用服務(wù)器對數(shù)據(jù)庫進(jìn)行增刪改查等操作,這是最常用的方式。學(xué)有余力的小伙伴可以去查閱《Android和PHP開發(fā)最佳實(shí)踐》這本書,它以一個完整的微博應(yīng)用項(xiàng)目實(shí)例為主線,由淺入深地講解了Android客戶端開發(fā)和PHP服務(wù)端開發(fā)的思路和技巧。介于本人是一個Tomcat和PHP都不會的廢物,因此放棄了這種方式,采取了另一種方式;

咳咳,以上都是過去式啦,最新文章可以到置頂評論去看吶。另外,代碼也在Gitee上開源了,同樣到評論區(qū)領(lǐng)取哦。

(2)在Android內(nèi)部直接訪問MySQL數(shù)據(jù)庫。這種方式非常耗手機(jī)內(nèi)存,而且容易被反編譯造成安全隱患,所以在實(shí)際項(xiàng)目中不推薦使用。本文將介紹直接訪問的方法以及一些可能會遇到的問題。

一、準(zhǔn)備

想要在Android工程中實(shí)現(xiàn)直接連接MySQL的話需要先導(dǎo)入jar包。在main文件夾下新建一個名為libs的文件夾,將jar包添加到里面。jar包在百度網(wǎng)盤中分享了,有需要的小伙伴可以私聊up獲取。

添加好之后右擊,選擇Add As Library…

之后在build.gradle文件中會出現(xiàn):

這就說明依賴已經(jīng)導(dǎo)入成功了。

一定要記得在權(quán)限列表AndroidMainfest.xml中添加請求訪問網(wǎng)絡(luò)的權(quán)限

接下來就可以開心的訪問數(shù)據(jù)庫了

定義DbUtil類來進(jìn)行數(shù)據(jù)庫的訪問

簡單的寫一個布局用來進(jìn)行數(shù)據(jù)庫訪問的測試

跟之前java開發(fā)一樣,在活動中寫一個方法來進(jìn)行數(shù)據(jù)庫的訪問

這是錯的?。?!

運(yùn)行程序,在EditText中輸入數(shù)據(jù)庫中的設(shè)置好的賬號和密碼,點(diǎn)擊登錄

數(shù)據(jù)庫中的信息

然后,果不其然的。。。失敗了。。。

報(bào)了一個錯"com.mysqljdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server."大概意思是數(shù)據(jù)庫連接驅(qū)動版本太低,要我提高M(jìn)ySQL數(shù)據(jù)庫連接驅(qū)動的版本。

但是據(jù)了解Android直接訪問數(shù)據(jù)庫最高只能使用MySQL 5.+版本,換成MySQL 8.+后會出現(xiàn)更奇怪的錯誤。

想了好久,終于意識到訪問數(shù)據(jù)庫是一個耗時(shí)操作,直接放在主線程中跑肯定會出問題。

于是便有了一下版本,將數(shù)據(jù)庫訪問放到一個子線程中,使用handler通知主線程更新UI

運(yùn)行程序,在EditText中輸入數(shù)據(jù)庫中的設(shè)置好的賬號和密碼,點(diǎn)擊登錄

訪問成功,ヾ(??▽?)ノ撒花

上面字DbUtil類中講到電腦和手機(jī)必須連接相同的網(wǎng)絡(luò),這樣才能進(jìn)行數(shù)據(jù)庫的訪問。但是很明顯這種方法非常不方便。

在這里up推薦一個叫NATAPP的內(nèi)網(wǎng)穿透工具(不是廣告),NATAPP是連接內(nèi)外網(wǎng)的橋梁,客戶端連接NATAPP后,便可在本地運(yùn)行的服務(wù)器與公網(wǎng)之間建立起一個安全的隧道。在進(jìn)行Android開發(fā)時(shí),可以使手機(jī)APP直接與PC電腦通信,做到實(shí)時(shí)本地開發(fā)調(diào)試。

獲取一個隧道,一般免費(fèi)的就行,如果嫌麻煩可以整一個付費(fèi)的。選擇TCP協(xié)議,本地端口映射到MySQL的3306。

在下載好的natapp文件夾中新建config.ini文件,內(nèi)容配置如下圖

config.ini文件

authtoken改成自己的就行,然后運(yùn)行natapp.exe。

將原本的ip地址和端口換成natapp分配的網(wǎng)址和自己設(shè)置的端口,運(yùn)行程序,就可以在任何網(wǎng)絡(luò)下進(jìn)行數(shù)據(jù)庫的訪問了。

Android連接MySQL數(shù)據(jù)庫的方法以及可能會遇到的一些問題的評論 (共 條)

分享到微博請遵守國家法律
阳朔县| 平利县| 阿合奇县| 班戈县| 泽普县| 云阳县| 吴桥县| 沂源县| 鄂托克前旗| 班戈县| 三明市| 宜良县| 新泰市| 五指山市| 武乡县| 淄博市| 景德镇市| 上饶市| 大理市| 上杭县| 绍兴市| 塔城市| 乐昌市| 柳林县| 田东县| 安阳市| 雷山县| 雅江县| 南陵县| 子洲县| 昌黎县| 平湖市| 隆回县| 衡阳县| 木兰县| 仪征市| 武平县| 绥化市| 新巴尔虎右旗| 米易县| 连平县|