venerdì 8 febbraio 2013

Query su db in cloud con mysql-connector in Android

E' possibile utilizzare il pacchetto mysql-connector-java-5.1.13-bin.jar per eseguire query su un db in internet.
Basta integrare il jar nel progetto Android e scrivere alcune righe di codice come l'esempio qui sotto.

public ArrayList<Map<String,String>> queryExample(){
Connection con=null;   
ArrayList<Map<String,String>> listDb = new ArrayList<Map<String,String>>();
String name="";
String score="";
  
try{   
 Class.forName("com.mysql.jdbc.Driver").newInstance();   
                
}catch(Exception e){       
}  
  
try{   
            con=DriverManager.getConnection(DB_URL,DB_ID,DB_PSW);  
            Statement st=con.createStatement();   
            String sql ="SELECT name_p, score_p FROM schema.table";
            st.executeQuery(sql);  
            ResultSet rs=st.getResultSet();   
            int i=0;
            while (rs.next ()){  
             Map<String,String> dataDb = new HashMap<String,String>();
             ++i;
             name = rs.getString("name_p");
             score = String.valueOf((int)rs.getInt("score_p"));
             if(name==null) name="";
             if(score==null) score="";
             
             dataDb.put(POSITION, ""+i);
             dataDb.put(ONLINE_NAME, name);
             dataDb.put(ONLINE_SCORE, score);
       listDb.add(dataDb);
            }       
            
            rs=null;
            
        }catch(Exception e){       
        }finally{
         try {
          if(con!=null)
           con.close();
   } catch (SQLException e) {

   }
}
        
return listDb;
}