android 除了sqlite还能使用什么数据库

如题所述

android除了sqlite数据库,还是可以使用mysql数据库,使用步骤如下:

1. 关闭mysql服务器的防火墙。

2. 加入MySQL的jdbc包,添加到libs文件夹内。

3.ADT和SDK为16及16以下,17以上的不能访问。

4.手机和mysq服务器l互相ping通。

5.添加网络权限  ï¼š <uses-permission Android:name="android.permission.INTERNET" />

6.在Thread中连接访问mysql,防止ANR。

7.设置mysql允许远程连接。

代码如下:

package com.mayi.mysql_test; 
  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
  
import com.mysql.jdbc.Connection;  
import com.mysql.jdbc.Statement;  
  
import android.os.Bundle;  
import android.app.Activity;  
import android.util.Log;  
import android.view.View;  
import android.view.View.OnClickListener;  
  
public class MainActivity extends Activity {  
  
    private static final String TAG = "MainActivity";  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        findViewById(R.id.select).setOnClickListener(new OnClickListener() {  
              
            @Override  
            public void onClick(View v) {  
                select();  
            }  
        });  
    }  
    public void select(){  
        try{  
               //调用Class.forName()方法加载驱动程序  
            Class.forName("org.gjt.mm.mysql.Driver");  
            System.out.println("成功加载MySQL驱动!");  
            String url="jdbc:mysql://192.168.1.113:3306/test";    //JDBC的URL      
            Connection conn;  
            conn = (Connection) DriverManager.getConnection(url,"mayi","123456");  
            Statement stmt = (Statement) conn.createStatement(); //创建Statement对象  
            System.out.println("成功连接到数据库!");  
            String sql = "select * from person";    //要执行的SQL  
            ResultSet rs = stmt.executeQuery(sql);//创建数据对象  
                System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄");  
                while (rs.next()){  
                    System.out.print(rs.getInt(1) + "\t");  
                    System.out.print(rs.getString(2) + "\t");  
                    System.out.print(rs.getString(3) + "\t");  
                    System.out.print(rs.getString(4) + "\t");  
                    System.out.println();  
                }  
                rs.close();  
                stmt.close();  
                conn.close();  
            }catch(Exception e)  
            {  
                Log.e(TAG, e.getMessage());  
                e.printStackTrace();  
            }  
    }  
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-02
你可以使用sync gateway,也可以用携带couchbase lite。支持多种语言,Java PHP, Boost Cpp

你还有一个方案就是把所有DAL交给后端,后端开放一个Rest API,你存取都是JSON就好啦。本回答被网友采纳
第2个回答  2016-05-07
安卓使用KSOAP调用web service 间接地使用任何数据库。