Android資料庫:通過JDBC直接存取MySql

來源:互聯網
上載者:User

標籤:android訪問mysql   資料庫   

    關於通過JDBC訪問本地MySql資料庫的一篇文章http://blog.csdn.net/leelit/article/details/41044187,昨天學完JDBC訪問本機資料庫後就想,怎樣可以遠端存取資料庫,真正使其成為一個伺服器。後面又聯想起自己之間做的一個單機版外賣訂餐App,如果可以使其通過資料庫來維護,那才是一款真正有意義的App。後面又搜了一下遠端存取資料庫的方法很快就找到了答案:http://www.cnblogs.com/xd502djj/archive/2011/04/01/2001826.html,接下來就是Android用戶端了。

    一開始直接使用第一篇文章的方法,直接在Button裡面就用JDBC的方法訪問資料庫,直接不行,因為沒有添加網路許可權!添加了網路許可權後依然不可以,聯想起最近學的電腦網路知識,很多情況下我們所在的都是地區網,而外網是無法直接存取地區網的,所以就簡單地通過電腦發射WiFi然後手機連上讓其處於同一網段,不過依然不行。後來,我想起Android在主線程是不可以進行網路訪問的,所以直接給其套個線程,然後就OK了。(後來用2.3的手機測試不加線程是OK的,貌似主線程不能訪問網路是高版本的事兒,當然如果加了線程全都可以,所以都加線程就好了)

要遠端存取本機資料庫的四個點:

1、設定資料庫可遠端存取

2、添加網路許可權

3、線上程中訪問資料庫

4、手機連上電腦發射出來的WiFi使其處於同一網段

關鍵代碼:這裡不作注釋了,直接參見第一篇文章

button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubnew Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubJdbcUtils ju = new JdbcUtils();String sql1 = "select * from userinfo";try {List<Map<String, Object>> list = ju.query(sql1,null);System.out.println(list);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}).start();}});
操作結果:

1、一開始資料庫userinfo表的資料


2、Android端查詢


3、直接在navicat資料庫管理工具刪除一條記錄


4、重新查詢




    一開始別人說這種方法是不可以的,必須通過一個WebServer來作中轉,通過搭建一個伺服器,在伺服器上訪問MySql,例如可以用PHP+MySql做伺服器端,PHP將MySql中的資料處理成Json,然後Android通過http協議訪問伺服器得到Json資料。當然直接用JDBC來訪問是不好的,因為別人一反編譯,資料庫的帳號密碼不全出來了,這樣是不安全的,不過作為學習還是可以滴。

Android資料庫:通過JDBC直接存取MySql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.