精华内容
下载资源
问答
  • 安卓系统的远程数据库MySql操作

    千次阅读 2018-01-08 09:04:17
    在日常的开发安卓程序中,很多时候都涉及到大量的数据管理,虽然安卓系统自带的数据库sqlite,但sqlite是轻量级的,有时候满足不了使用的需求,这时候就需要连接远程的数据库进行对数据的管理,下面我们就来学习下...

    开发系统:Android4.4.2
    开发平台:广州微嵌安卓工业平板
    开发工具:eclipse
    开发语言:Java
    使用的数据库:MySql
    在日常的开发安卓程序中,很多时候都涉及到大量的数据管理,虽然安卓系统有自带的数据库sqlite,但sqlite是轻量级的,有时候满足不了使用的需求,这时候就需要连接远程的数据库进行对数据的管理,下面我们就来学习下在安卓上是如何连接远程数据库使用的,本次所使用的远程数据库是MySql,安装在电脑上面,通过网络连接MySql服务器,从而可以远程操作数据库。

    在数据库操作中使用的一个类Connection:连接表示从Java应用程序到数据库的链接
    1、添加数据库的驱动:在安卓上连接远程数据库需要先加载数据库驱动,不同的数据库的加载略有不同,这里以MySql为例,以下的所有操作都是针对MySql的.

    try{
        Class.forName("com.mysql.jdbc.Driver");         
        Toast.makeText(this, "数据库加载成功", Toast.LENGTH_LONG).show();
    }catch(ClassNotFoundException e){
        Toast.makeText(this, "数据库加载失败\n"+e, Toast.LENGTH_LONG).show();
    }

    添加mysql驱动说明:下载mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”,在项目根目录下新建文件夹lib,将mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”拷贝到lib下

    2、连接远程数据库,在连接前先确保远程数据数据库允许其它连接

    try{
        String ip = sqlipedit.getText().toString();
        /*远程服务器的ip跟端口号,使用账号、密码,不同的数据库使用的连接端口、命令都不同
            mysql使用的连接命令:jdbc:mysql//192.168.1.xxx:3306
        */
        Connection con = DriverManager.getConnection("jdbc:mysql:"+"//192.168.1.64:3306",
                            "admin","admin");
        System.out.println("连接成功");         
    }catch(SQLException e){         
        e.printStackTrace();                
        System.out.println("失败");
    }
    

    3、获取数据库服务器中已存在的所有数据库

    使用的命令:show databases
    Statement statement = null;  
    ResultSet result = null; 
     try {  
        //显示数据库命令
        String sql = "show databases";
          statement = (Statement) conn.createStatement();    
          //执行获取数据库的命令   
          result = statement.executeQuery(sql); 
          //获取数据库的数量   
           int size = result.getRow(); 
           //获取数据库的名字
          while(result.next()){
                Log.d("DatabaseName", result.getString(1));  
          }           
      } catch (SQLException e) {  
          e.printStackTrace();  
      } finally {  
          try {  
              if (result != null) {  
                  result.close();              
                  result = null;  
              }  
              if (statement != null) {  
                  statement.close();  
                  statement = null;  
              }  
          } catch (SQLException sqle) {  
          }  
    }           

    4、切换当前连接所使用的数据库:

    try {
        if(!con.isClosed()){
            //方法说明:设置此连接的目录名称,参数就是前面获取到的数据库的名字              
            con.setCatalog((String)databasename);
        }
    } catch (SQLException e) {
        // TODO 自动生成的 catch 块
        e.printStackTrace();
    }

    5、执行sql命令的方法有两种:
    一、Statement.excuteQuery(String sqlcmd):不对数据库中的内容做修改,只用于查询
    二、Statement.excuteUpdate()String sqlcmd)对数据库中的内容做修改,包括增删改等,将该操作封装成一个方法所有的操作可以直接使用

    /*执行mysql的修改命令,包括增、删、改等命令
     *参数:conn:连接数据库的链接,sql:数据库的操作命令
     *返回值:为成功操作的数据个数,如:执行修改数据的命令后,有n条列的数据被成功修改,返回值就是n.
    */
    public  int query_l(Connection conn, String sql) {  
        int row = -1;
        if (conn == null) {  
            return -1;  
        }  
        Statement statement = null;  
        ResultSet result = null;  
        try {  
            statement = (Statement) conn.createStatement();  
            //该方法用于修改数据库内容的。
            row = statement.executeUpdate(sql);                       
        } catch (SQLException e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                if (result != null) {  
                    result.close();  
                    result = null;  
                }  
                if (statement != null) {  
                    statement.close();  
                    statement = null;  
                }  
            } catch (SQLException sqle) {  
            }  
        } 
        return row;
    }  

    6、获取数据库下的所有数据表

    //使用命令:show tables from databasename
    //使用该命令可以获取某一数据库下的所有数据表
    String sql = "show tables from databasename";
    Statement statement = null; 
    ResultSet result = null;
    try {  
        statement =(Statement)con.createStatement();   
         result = statement.executeQuery(sql); 
         while(result.next()){ 
             Log.d("TableName",result.getString(1));                                               
         }
    } catch (SQLException e) {
    }

    7、获取数据表下的所有字段跟数据

    //获取字段跟字段类型,使用命令:select from table
    String sql = "select * from " + tablename;
    String ss = "";
    java.sql.PreparedStatement ps = con.prepareStatement(sql);  
    ResultSet rs = ps.executeQuery();  
    java.sql.ResultSetMetaData meta = rs.getMetaData();  
    //字段数量
    int columeCount = meta.getColumnCount();
    int[] data = new int[columeCount];            
    //获取字段名跟字段类型
    for (int i = 1; i < columeCount + 1; i++) {            
       data[i-1] = rs.findColumn(meta.getColumnName(i));
       Log.d("字段名",meta.getColumnName(i));
       Log.d("字段类型",meta.getColumnType(i));
    } 
    //根据字段名获取该字段的所有数据
    Statement statement = null;
    ResultSet result = null;           
    System.out.println(sql);
    List<String> list = new ArrayList<String>();
    try {                
        statement = (Statement) conn.createStatement();              
        result = statement.executeQuery(sql); 
        if (result != null && result.first()) {  
             while (!result.isAfterLast()) {             
                String str = "";
                //该处的data就是前面的data,一个for循环结束获取到的是一条完整的数据
                for(int i:data){
                    //根据字段名获取相应的数据内容
                    str += result.getString(i)+"\t\t";
                }           
                 result.next();  
             }  
         }  
     } catch (SQLException e) {  
         e.printStackTrace();
     }
    

    8、新建数据库

    使用命令:create database databasename
    String sql = "create database databasename";
    query_l(con,sql);

    9、删除数据库

    使用命令:drop database databasename
    String sql = "drop database databasename";
    query_l(con,sql);

    10、删除数据库中的数据表

    使用命令:drop table tablename
    String sql = "drop table tablename";
    query_l(con,sql);

    11、新建数据表

    使用命令:create table tablename(字段名1 字段类型, 字段名2 字段类型,字段名3...);
    String sql = "create table tablename(name char(20),sex int(4),number int(4))";
    query_l(con,sql);
    //创建成功后该表中有三个字段:name、sex、number,字段类型分别是:char(20)、int(4)、int(4)

    12、清空表中数据

    使用命令:delete from tablename
    String sql = "delete from tablename";
    query_l(con,sql);

    13、向表中插入数据

    使用命令:insert into table value(name1 ,sex1, number1),(name2,sex2,number2),...
    该处插入数据应与数据表中的字段一一对应
    String sql = “insert into tablename value('张三',1,1002),('李四',1,1003),('王五',0,1004)”;
    query_l(con,sql);

    14、删除某一字段

    使用的命令:alter table tablename drop 字段名
    String sql = “alter table tablename drop sex”;
    query_l(con,sql);
    //执行完后该表中就没有sex的字段了

    15、更改字段名跟类型

    使用命令:alter table tablename change 字段名 新字段名 新字段类型
    String sql = "alter table tablename change number age int(4)";
    query_l(con,sql);
    //执行完后该表中number字段就变成了age
    

    16、重命名表

    使用命令:rename table tablename to newtablename
    String  sql = "rename table tablename to newtablename";
    query_l(con,sql);
    //执行完后就可将原表tablename重命名为newtablename

    17、修改数据表中的数据

    使用命令:update tablename set name='aaa' where num=1005
    命令说明:如果数据表中有数据num=1005,就将该列数据中的name修改成aaa
    String sql = "update tablename set name='aaa' where num=1005";
    query_l(con,sql);
    //如果使用的命令是:update tablename set name='aaa',表示将该表中所有列的数据中的name都设成aaa
    

    以上就是在操作远程数据库中所使用的一些基本的常用的命令跟用法了。

    展开全文
  • 摘要:在日常的开发安卓程序中,很多时候都涉及到大量的数据管理,虽然安卓系统自带的数据库sqlite,但sqlite是轻量级的,有时候满足不了使用的需求,这时候就需要连接远程的数据库进行对数据的管理开发系统:...

    摘要:在日常的开发安卓程序中,很多时候都涉及到大量的数据管理,虽然安卓系统有自带的数据库sqlite,但sqlite是轻量级的,有时候满足不了使用的需求,这时候就需要连接远程的数据库进行对数据的管理

    开发系统:Android4.4.2

    开发平台:广州微嵌安卓工业平板

    开发工具:eclipse

    开发语言:Java

    使用的数据库:MySql

    在日常的开发安卓程序中,很多时候都涉及到大量的数据管理,虽然安卓系统有自带的数据库sqlite,但sqlite是轻量级的,有时候满足不了使用的需求,这时候就需要连接远程的数据库进行对数据的管理,下面我们就来学习下在安卓上是如何连接远程数据库使用的,本次所使用的远程数据库是MySql,安装在电脑上面,通过网络连接MySql服务器,从而可以远程操作数据库。

    在数据库操作中使用的一个类Connection:连接表示从Java应用程序到数据库的链接

    1、添加数据库的驱动:在安卓上连接远程数据库需要先加载数据库驱动,不同的数据库的加载略有不同,这里以MySql为例,以下的所有操作都是针对MySql的.try{

    Class.forName("com.mysql.jdbc.Driver");

    Toast.makeText(this, "数据库加载成功", Toast.LENGTH_LONG).show();}catch(ClassNotFoundException e){

    Toast.makeText(this, "数据库加载失败\n"+e, Toast.LENGTH_LONG).show();}

    添加mysql驱动说明:下载mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”,在项目根目录下新建文件夹lib,将mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”拷贝到lib下

    2、连接远程数据库,在连接前先确保远程数据数据库允许其它连接try{

    String ip = sqlipedit.getText().toString();

    /*远程服务器的ip跟端口号,使用账号、密码,不同的数据库使用的连接端口、命令都不同

    mysql使用的连接命令:jdbc:mysql//192.168.1.xxx:3306

    */

    Connection con = DriverManager.getConnection("jdbc:mysql:"+"//192.168.1.64:3306",                        "admin","admin");

    System.out.println("连接成功");         }catch(SQLException e){

    e.printStackTrace();

    System.out.println("失败");}

    3、获取数据库服务器中已存在的所有数据库使用的命令:show databases

    Statement statement = null;

    ResultSet result = null;

    try {

    //显示数据库命令

    String sql = "show databases";

    statement = (Statement) conn.createStatement();

    //执行获取数据库的命令

    result = statement.executeQuery(sql);

    //获取数据库的数量

    int size = result.getRow();

    //获取数据库的名字

    while(result.next()){

    Log.d("DatabaseName", result.getString(1));

    }

    } catch (SQLException e) {

    e.printStackTrace();

    } finally {

    try {

    if (result != null) {

    result.close();

    result = null;

    }

    if (statement != null) {

    statement.close();

    statement = null;

    }

    } catch (SQLException sqle) {

    }

    }

    4、切换当前连接所使用的数据库:try {    if(!con.isClosed()){        //方法说明:设置此连接的目录名称,参数就是前面获取到的数据库的名字

    con.setCatalog((String)databasename);

    }

    } catch (SQLException e) {    // TODO 自动生成的 catch 块

    e.printStackTrace();

    }

    5、执行sql命令的方法有两种:

    一、Statement.excuteQuery(String sqlcmd):不对数据库中的内容做修改,只用于查询

    二、Statement.excuteUpdate()String sqlcmd)对数据库中的内容做修改,包括增删改等,将该操作封装成一个方法所有的操作可以直接使用/*执行mysql的修改命令,包括增、删、改等命令

    *参数:conn:连接数据库的链接,sql:数据库的操作命令

    *返回值:为成功操作的数据个数,如:执行修改数据的命令后,有n条列的数据被成功修改,返回值就是n.

    */public  int query_l(Connection conn, String sql) {

    int row = -1;    if (conn == null) {

    return -1;

    }

    Statement statement = null;

    ResultSet result = null;

    try {

    statement = (Statement) conn.createStatement();

    //该方法用于修改数据库内容的。

    row = statement.executeUpdate(sql);

    } catch (SQLException e) {

    e.printStackTrace();

    } finally {

    try {

    if (result != null) {

    result.close();

    result = null;

    }

    if (statement != null) {

    statement.close();

    statement = null;

    }

    } catch (SQLException sqle) {

    }

    }

    return row;

    }

    6、获取数据库下的所有数据表//使用命令:show tables from databasename//使用该命令可以获取某一数据库下的所有数据表String sql = "show tables from databasename";

    Statement statement = null;

    ResultSet result = null;try {

    statement =(Statement)con.createStatement();

    result = statement.executeQuery(sql);

    while(result.next()){

    Log.d("TableName",result.getString(1));

    }

    } catch (SQLException e) {

    }

    7、获取数据表下的所有字段跟数据//获取字段跟字段类型,使用命令:select from tableString sql = "select * from " + tablename;

    String ss = "";

    java.sql.PreparedStatement ps = con.prepareStatement(sql);

    ResultSet rs = ps.executeQuery();

    java.sql.ResultSetMetaData meta = rs.getMetaData();

    //字段数量int columeCount = meta.getColumnCount();int[] data = new int[columeCount];

    //获取字段名跟字段类型for (int i = 1; i 

    data[i-1] = rs.findColumn(meta.getColumnName(i));

    Log.d("字段名",meta.getColumnName(i));

    Log.d("字段类型",meta.getColumnType(i));

    }

    //根据字段名获取该字段的所有数据Statement statement = null;

    ResultSet result = null;

    System.out.println(sql);

    List list = new ArrayList();try {

    statement = (Statement) conn.createStatement();

    result = statement.executeQuery(sql);

    if (result != null && result.first()) {

    while (!result.isAfterLast()) {

    String str = "";            //该处的data就是前面的data,一个for循环结束获取到的是一条完整的数据

    for(int i:data){                //根据字段名获取相应的数据内容

    str += result.getString(i)+"\t\t";

    }

    result.next();

    }

    }

    } catch (SQLException e) {

    e.printStackTrace();

    }

    8、新建数据库使用命令:create database databasename

    String sql = "create database databasename";query_l(con,sql);

    9、删除数据库使用命令:drop database databasename

    String sql = "drop database databasename";query_l(con,sql);

    10、删除数据库中的数据表使用命令:drop table tablename

    String sql = "drop table tablename";query_l(con,sql);

    11、新建数据表使用命令:create table tablename(字段名1 字段类型, 字段名2 字段类型,字段名3...);String sql = "create table tablename(name char(20),sex int(4),number int(4))";

    query_l(con,sql);

    //创建成功后该表中有三个字段:name、sex、number,字段类型分别是:char(20)、int(4)、int(4)

    12、清空表中数据使用命令:delete from tablename

    String sql = "delete from tablename";query_l(con,sql);

    13、向表中插入数据使用命令:insert into table value(name1 ,sex1, number1),(name2,sex2,number2),...该处插入数据应与数据表中的字段一一对应

    String sql = “insert into tablename value('张三',1,1002),('李四',1,1003),('王五',0,1004)”;

    query_l(con,sql);

    14、删除某一字段使用的命令:alter table tablename drop 字段名

    String sql = “alter table tablename drop sex”;query_l(con,sql);

    //执行完后该表中就没有sex的字段了

    15、更改字段名跟类型使用命令:alter table tablename change 字段名 新字段名 新字段类型

    String sql = "alter table tablename change number age int(4)";query_l(con,sql);

    //执行完后该表中number字段就变成了age

    16、重命名表使用命令:rename table tablename to newtablename

    String  sql = "rename table tablename to newtablename";query_l(con,sql);

    //执行完后就可将原表tablename重命名为newtablename

    17、修改数据表中的数据使用命令:update tablename set name='aaa' where num=1005命令说明:如果数据表中有数据num=1005,就将该列数据中的name修改成aaa

    String sql = "update tablename set name='aaa' where num=1005";query_l(con,sql);

    //如果使用的命令是:update tablename set name='aaa',表示将该表中所有列的数据中的name都设成aaa

    展开全文
  • 安卓系统远程数据库MySql的操作2018年08月28日 09:39:30来源:Android工业平板电脑数据库...Java运用的数据库:MySql在日常的开发安卓顺序中,很多时分都触及到少量的数据管理,虽然安卓零碎有自带的数据库sqlite,但...

    安卓系统远程数据库MySql的操作

    2018年08月28日 09:39:30来源:Android工业平板电脑数据库操作作者:Android工业平板电脑数据库操作关键词:工控机

    开发零碎:Android4.4.2

    开发平台:广州微嵌安卓工业平板

    开发工具:eclipse

    开发言语:Java

    运用的数据库:MySql

    在日常的开发安卓顺序中,很多时分都触及到少量的数据管理,虽然安卓零碎有自带的数据库sqlite,但sqlite是轻量级的,有时分满足不了运用的需求,这时分就需求衔接近程的数据库停止对数据的管理,上面我们就来学习下在安卓上是如何衔接近程数据库运用的,本次所运用的近程数据库是MySql,装置在电脑下面,经过网络衔接MySql效劳器,从而可以近程操作数据库。

    在数据库操作中运用的一个类Connection:衔接表示从Java使用顺序到数据库的链接

    1、添加数据库的驱动:在安卓上衔接近程数据库需求先加载数据库驱动,不同的数据库的加载略有不同,这里以MySql爲例,以下的一切操作都是针对MySql的.try{    Class.forName("com.mysql.jdbc.Driver");             Toast.makeText(this, "数据库加载成功", Toast.LENGTH_LONG).show();}catch(ClassNotFoundException e){    Toast.makeText(this, "数据库加载失败\n"+e, Toast.LENGTH_LONG).show();}

    添加mysql驱动阐明:下载mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”,在项目根目录下新建文件夹lib,将mysql的驱动文件”mysql-connector-java-5.0.8-bin.jar”拷贝到lib下

    2、衔接近程数据库,在衔接前先确保近程数据数据库允许其它衔接try{    String ip = sqlipedit.getText().toString();    /*近程效劳器的ip跟端口号,运用账号、密码,不同的数据库运用的衔接端口、命令都不同        mysql运用的衔接命令:jdbc:mysql//192.168.1.xxx:3306    */    Connection con = DriverManager.getConnection("jdbc:mysql:"+"//192.168.1.64:3306",                        "admin","admin");    System.out.println("衔接成功");         }catch(SQLException e){             e.printStackTrace();                    System.out.println("失败");}

    3、获取数据库效劳器中已存在的一切数据库运用的命令:show databasesStatement statement = null;  ResultSet result = null;  try {      //显示数据库命令    String sql = "show databases";      statement = (Statement) conn.createStatement();          //执行获取数据库的命令         result = statement.executeQuery(sql);       //获取数据库的数量          int size = result.getRow();        //获取数据库的名字      while(result.next()){            Log.d("DatabaseName", result.getString(1));        }             } catch (SQLException e) {        e.printStackTrace();    } finally {        try {            if (result != null) {                result.close();                            result = null;            }            if (statement != null) {                statement.close();                statement = null;            }        } catch (SQLException sqle) {        }  }

    4、切换以后衔接所运用的数据库:try {    if(!con.isClosed()){        //办法阐明:设置此衔接的目录称号,参数就是后面获取到的数据库的名字                      con.setCatalog((String)databasename);    }} catch (SQLException e) {    // TODO 自动生成的 catch 块    e.printStackTrace();}

    5、执行sql命令的办法有两种:

    一、Statement.excuteQuery(String sqlcmd):不对数据库中的内容做修正,只用于查询

    二、Statement.excuteUpdate()String sqlcmd)对数据库中的内容做修正,包括增删改等,将该操作封装成一个办法一切的操作可以间接运用/*执行mysql的修正命令,包括增、删、改等命令 *参数:conn:衔接数据库的链接,sql:数据库的操作命令 *前往值:爲成功操作的数据个数,如:执行修正数据的命令后,有n条列的数据被成功修正,前往值就是n.*/public  int query_l(Connection conn, String sql) {      int row = -1;    if (conn == null) {          return -1;      }      Statement statement = null;      ResultSet result = null;      try {          statement = (Statement) conn.createStatement();          //该办法用于修正数据库内容的。        row = statement.executeUpdate(sql);                           } catch (SQLException e) {          e.printStackTrace();      } finally {          try {              if (result != null) {                  result.close();                  result = null;              }              if (statement != null) {                  statement.close();                  statement = null;              }          } catch (SQLException sqle) {          }      }     return row;}

    6、获取数据库下的一切数据表//运用命令:show tables from databasename//运用该命令可以获取某一数据库下的一切数据表String sql = "show tables from databasename";Statement statement = null; ResultSet result = null;try {      statement =(Statement)con.createStatement();        result = statement.executeQuery(sql);      while(result.next()){          Log.d("TableName",result.getString(1));                                                    }} catch (SQLException e) {}

    7、获取数据表下的一切字段跟数据//获取字段跟字段类型,运用命令:select from tableString sql = "select * from " + tablename;String ss = "";java.sql.PreparedStatement ps = con.prepareStatement(sql);  ResultSet rs = ps.executeQuery();  java.sql.ResultSetMetaData meta = rs.getMetaData();  //字段数量int columeCount = meta.getColumnCount();int[] data = new int[columeCount];            //获取字段名跟字段类型for (int i = 1; i < columeCount + 1; i++) { data[i-1] = rs.findColumn(meta.getColumnName(i)); Log.d("字段名",meta.getColumnName(i)); Log.d("字段类型",meta.getColumnType(i)); } //依据字段名获取该字段的一切数据Statement statement = null; ResultSet result = null; System.out.println(sql); List list = new ArrayList();try { statement = (Statement) conn.createStatement(); result = statement.executeQuery(sql); if (result != null && result.first()) { while (!result.isAfterLast()) { String str = ""; //该处的data就是后面的data,一个for循环完毕获取到的是一条完好的数据 for(int i:data){ //依据字段名获取相应的数据内容 str += result.getString(i)+"\t\t"; } result.next(); } } } catch (SQLException e) { e.printStackTrace(); }

    8、新建数据库运用命令:create database databasenameString sql = "create database databasename";query_l(con,sql);

    9、删除数据库运用命令:drop database databasenameString sql = "drop database databasename";query_l(con,sql);

    10、删除数据库中的数据表运用命令:drop table tablenameString sql = "drop table tablename";query_l(con,sql);

    11、新建数据表运用命令:create table tablename(字段名1 字段类型, 字段名2 字段类型,字段名3...);String sql = "create table tablename(name char(20),sex int(4),number int(4))";query_l(con,sql);//创立成功后该表中有三个字段:name、sex、number,字段类型辨别是:char(20)、int(4)、int(4)

    12、清空表中数据运用命令:delete from tablenameString sql = "delete from tablename";query_l(con,sql);

    13、向表中拔出数据运用命令:insert into table value(name1 ,sex1, number1),(name2,sex2,number2),...该处拔出数据应与数据表中的字段逐个对应String sql = “insert into tablename value('张三',1,1002),('李四',1,1003),('王五',0,1004)”;query_l(con,sql);

    14、删除某一字段运用的命令:alter table tablename drop 字段名String sql = “alter table tablename drop sex”;query_l(con,sql);//执行完后该表中就没有sex的字段了

    15、更改字段名跟类型运用命令:alter table tablename change 字段名 新字段名 新字段类型String sql = "alter table tablename change number age int(4)";query_l(con,sql);//执行完后该表中number字段就变为了age

    16、重命名表运用命令:rename table tablename to newtablenameString  sql = "rename table tablename to newtablename";query_l(con,sql);//执行完后就可将原表tablename重命名爲newtablename

    17、修正数据表中的数据运用命令:update tablename set name='aaa' where num=1005命令阐明:假如数据表中无数据num=1005,就将该列数据中的name修正成aaaString sql = "update tablename set name='aaa' where num=1005";query_l(con,sql);//假如运用的命令是:update tablename set name='aaa',表示将该表中一切列的数据中的nam

    展开全文
  • 安卓系统自带数据库,名为SQLite。这篇文章我们用一个Demo来讲解安卓操作数据库的例子。By the way,安卓创建的数据库文件存放在/data/data//database 下,后缀名一般为xxx.db看到数据库文件,我们一般使用一款名为...

    安卓系统自带数据库,名为SQLite。这篇文章我们用一个Demo来讲解安卓操作数据库的例子。

    By the way,

    安卓创建的数据库文件存放在/data/data//database 下,后缀名一般为xxx.db

    看到数据库文件,我们一般使用一款名为 SQLite Expert 的可视化工具来查看。

    下面我们通过一个简单的例子来,创建一个数据,数据库里面创建一个表格。

    注意,虽然我们在安卓开发中有包装好的api可以使用,但是sql语句我们最好还是掌握比较好。

    先看图吧。

    如图所示,下面是用 SQLite Expert打开后的界面,运行app后,点击按钮就会创建一个名为people的数据库,数据库下有一个Girl的表。(如果没有创建表,数据下面也有一个表,那个是系统自动生成的表,但我们不用理会。)

    c8409684eb5aa859b561fb60e9903c85.png

    f995eb45546f134092d7ab19b95354c3.png

    然后看代码

    布局文件 activity_main.xml

    java文件

    MainActivity.java

    packagecom.example.db;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;public class MainActivity extendsActivity {privatemySQLite myDatebaseHelper;

    @Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    myDatebaseHelper= new mySQLite(this, "people.db", null, 1);

    }public voidCreate_Datebase(View v){/** 如果数据库没有被创建,就创建并获取一个可写(其实也可以读)的数据库 如果数据库被创建,就直接获取一个可写(其实也可以读)的数据库

    * 路径data/data/database/people.db*/myDatebaseHelper.getWritableDatabase();

    }

    }

    mySQLite.java

    packagecom.example.db;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteDatabase.CursorFactory;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.widget.Toast;//创建SQLLite需要继承SQLiteOpenHelper类抽象类

    public class mySQLite extendsSQLiteOpenHelper{public static final String CREATE_GIRL = "create table Gril(_id integer primary key autoincrement,Name char(20),Age integer,Phone char(20))";privateContext mContext;/** 构造方法参数说明

    * 第一个:传入上下文对象

    * 第二个:要创建的数据库名字

    * 第三个:油标工厂,传入油标对象,其实就是一个指针的功能。和ResultSet功能差不多,这个参数一般传入null

    * 第四个:数据库版本号,用于升级的时候调用。版本号必须大于1

    * 构造方法四个参数传入其实是给父类调用的。

    **/

    publicmySQLite(Context context, String name, CursorFactory factory,intversion) {super(context, name, factory, version);//TODO Auto-generated constructor stub

    mContext =context;

    }//数据库被创建的时候会调用这个方法

    @Overridepublic voidonCreate(SQLiteDatabase db) {//TODO Auto-generated method stub

    /*db.execSQL(CREATE_BOOK);

    Toast.makeText(mContext,"Create Successded",0).show();*/db.execSQL(CREATE_GIRL);

    Toast.makeText(mContext,"Create Successded",0).show();

    }//数据库升级的时候调用

    @Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion) {//TODO Auto-generated method stub

    }

    }

    展开全文
  • 安卓系统自带数据库,名为SQLite。这篇文章我们用一个Demo来讲解安卓操作数据库的例子。 By the way, 安卓创建的数据库文件存放在/data/data/<包名>/database 下,后缀名一般为xxx.db 看到数据库文件,...
  • 本人的毕业设计 android的单机版选课系统。用安卓自带的SQLite的数据库。 可以给初学者做参考
  • 安卓系统自带SQLite数据库,SDK中对SQLite操作由SQLiteDatabase完成,涉及到类有如下几个: 1、SQLiteDatabase:代表数据库本身,支持对数据标准SQL操作 2、Cursor:用来实现对查询结果集随机读写 下面代码...
  • 用eclipse写成的安卓人员管理系统代码,完成增删改查四个模块的设计,并进行了屏幕适配,用的是android自带的数据库,新手可以尝试进行学习。
  • 其中对数据库进行增删改查有两种方式,一种是sql语句的方法,一种是使用系统自带的辅助方式,这两种方式达到的效果的相同的,因个人的喜好进行选择。 整体思路:首先创建一个继承SQLiteOpenHelper的DbOpenHelpe
  • 安卓系统自带SQLite数据库,SDK中对SQLite操作由SQLiteDatabase完成,涉及到类有如下几个: 1、SQLiteDatabase:代表数据库本身,支持对数据标准SQL操作 2、Cursor:用来实现对查询结果集随机读写 下面代码...
  • Android系统中主要提供了三种方式用于简单的实现数据持久化...文件存储(手机自带的内存)、SharedPreferences存储以及数据库存储 当然还可以用sd卡存储 读入写出 下面是疯狂java讲义中的关于IO流的一些补充,回忆一下
  • 1、安卓自带数据库,SQLite数据库,这个数据库操作简单,占用内存小,是Android系统已经携带的数据库。 2、安卓数据库的使用步骤: 1、首先需要新建一个类继承SQLiteOpenHelper(数据库打开帮助器),这个接口有2...
  • 2019-3-12 标题安卓背词客开发日记 今天要实现的功能是用户可以...首先使用系统自带的文件浏览器找到文件的目录,我们只需得到路径就行了。 参考这篇帖子 。https://blog.csdn.net/dezhihuang/article/details/532...
  • 一、安卓系统架构(四层架构)1.Linux内核层:为安卓设备各种硬件提供底层驱动显示驱动、音频驱动、照相机驱动、蓝牙驱动、WIFI驱动、电源管理2.系统运行库层C/C++库提供提醒支持,SQLite库提供数据库支持,...
  • 在以前的写法是调用系统自带的摄像的功能,但是效果不佳。 后来打算自己写一个录制视频的方法,成功了,并保存在本地路径。 然而在提取缩略图的时候遇到了一系列的问题。 某大神告诉我可以从数据库中读出来。但是...
  • Android系统架构 1、Linux内核层 Android系统基于Linux内核的,这一层为Android设备的... 这一层主要提供了构建应用程序可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者可以通过这些...
  • system/app 系统自带的应用程序,无法删除。root后可以删除,注意可能造成系统崩溃,不过有的垃圾捆绑软件只能这么删除了 data/app 用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录。 data/data 存放...
  • 安卓计步器

    2018-06-15 11:55:23
    分析ios系统自带健康软件中计步器,数据显示为: 1.步行+跑步距离 2.步数 3.已爬楼层 其中每项显示均包含日、周、月、年数据柱形图显示和对应时长平均值显示,并能显示所有数据具体时间和数值。 代码...
  • 在adb shell中直接使用sqlite3命令操作数据库 一般,手机在开发阶段都是会将sqlite3模块打入镜像。例如在安卓5.1中,路径为/system/xbin/sqlite3。(但对于普通手机,不一定能自带此...示例:更改系统设置数据库
  • 安卓之获取通讯录类

    2014-05-23 20:17:02
    /**  * 获取所有联系人信息  * @param context上下文  * @return  */ public static List getContactInfos...//由于数据库是私有的别的应用不能直接访问,需要通过系统自带的内容提供者解析器获取 Content
  • 直接运行:http://您域名/install,(如果您已经安装,请跳过本步.),系统默认自带演示数据,不安装也可以进行调试,只是进不了后台。 注:将源码install目录下install_lock.txt去掉,文件名后缀为php.bak将....
  • 程序含完整运行的app代码,数据库使用的是as自带的sqlite数据库,含有查词,翻译,学习等功能模块。其中视频以及资源使用url链接爬取获得的,并保存在云服务器中,通过百度api接口实现了句子段落的翻译功能。 该APP...
  • 黑马安卓52期视频教程

    热门讨论 2015-06-24 22:15:48
    10 使用ViewPager中自带的pagerTabStrip 切换 11 抽取BaseActivity 12 Fragment的切换 13 Fragment工厂 14 LogUtils 15 显示界面的架子 16 4种界面&五种状态 17 根据状态切换界面 18 复用frameLayout bug的解决 19 ...
  • 通过本章学习利用contentProvider来读取本地手机联系人以及本地SQLite存储。...系统也有一些自带的contentProvider供我们共享。contentResolver访问别人的私有数据库。Anroid中联系人相关操作思考问题: 1、联系人数
  • 前段时间练手做了个简单的食堂管理系统,...目前还只能本地使用,数据库也是安卓自带的SQL数据库,并没有实现联网功能,数据库也没有放在服务器上,日后有空再完善。 软件使用Android Studio编写,使用的开源包有L...
  • MediaStore是安卓系统自带的多媒体系统数据库,他在每次开机时刷新一次,可以通过Cursor这个类对数据库进行访问与修改,修改之后需用广播强制刷新。 使用Cursor必须通过Context获得ContentResolver的对象实例。 ...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

安卓系统自带的数据库