Andriod的数据库建立成功,可进行增删改查,实现了数据库的创建,添加数据,删除全部数据的一系列操作。
完成了地铁查询系统的App实现
思路:
由于sqlite数据库我实现不了实例化,就通过建立表,插入数据来实现,调用这个方法是通过管理员来实现,来通过调用方法挨个加入,后调用方法进行操作

public void AddShortline(SQLiteDatabase sqLiteDatabase) {
        ContentValues values = new ContentValues();
        values.put("id",1);
        values.put("name","福泽");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",2);
        values.put("name","园博园");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",3);
        values.put("name","商务中心");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",4);
        values.put("name","会展中心");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",5);
        values.put("name","东庄");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",6);
        values.put("name","西庄");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",7);
        values.put("name","洨河大道");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",8);
        values.put("name","南村");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",9);
        values.put("name","石家庄东站");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",10);
        values.put("name","火炬广场");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",11);
        values.put("name","留村");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",12);
        values.put("name","白佛");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",13);
        values.put("name","朝晖桥");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",14);
        values.put("name","谈固");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",15);
        values.put("name","北宋");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",16);
        values.put("name","体育场");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",17);
        values.put("name","博物馆");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",18);
        values.put("name","北国商城");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",19);
        values.put("name","平安大街");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",20);
        values.put("name","解放广场");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",21);
        values.put("name","新百广场");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",22);
        values.put("name","烈士陵园");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",23);
        values.put("name","和平医院");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",24);
        values.put("name","长城桥");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",25);
        values.put("name","时光街");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",26);
        values.put("name","西王");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",27);
        values.put("name","柳辛庄");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",28);
        values.put("name","庄窠·铁道大学");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",29);
        values.put("name","义堂");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",30);
        values.put("name","建和桥");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",31);
        values.put("name","长安公园");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",32);
        values.put("name","裕华路");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",33);
        values.put("name","槐中路");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",34);
        values.put("name","欧韵公园");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",35);
        values.put("name","元村");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",36);
        values.put("name","石家庄站");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",37);
        values.put("name","塔坛");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",38);
        values.put("name","仓丰路留村");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",39);
        values.put("name","西三庄");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",40);
        values.put("name","高柱");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",41);
        values.put("name","柏林庄");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",42);
        values.put("name","市庄");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",43);
        values.put("name","市二中");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",44);
        values.put("name","东里");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",45);
        values.put("name","槐安桥");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",46);
        values.put("name","西三教");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",47);
        values.put("name","汇通路");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",48);
        values.put("name","孙村");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",49);
        values.put("name","塔冢");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",50);
        values.put("name","东王");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",51);
        values.put("name","南王");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",52);
        values.put("name","位同");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",53);
        values.put("name","东二环南路");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",54);
        values.put("name","西仰院");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",55);
        values.put("name","中仰陵");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",56);
        values.put("name","南豆");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",57);
        values.put("name","太行南大街");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",58);
        values.put("name","乐乡");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",59);
        values.put("name","南位");
        sqLiteDatabase.insert("ShortLine",null,values);
        values.put("id",60);
        values.put("name","嘉华路");
        sqLiteDatabase.insert("ShortLine",null,values);
        //sqLiteDatabase.close();
    }
    public void Addsubway(SQLiteDatabase sqLiteDatabase) {
        ContentValues values = new ContentValues();
        values.put("id",1);
        values.put("line_id",1);
        values.put("line_num",1);
        values.put("stop_name","福泽");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",2);
        values.put("line_id",1);
        values.put("line_num",2);
        values.put("stop_name","园博园");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",3);
        values.put("line_id",1);
        values.put("line_num",3);
        values.put("stop_name","商务中心");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",4);
        values.put("line_id",1);
        values.put("line_num",4);
        values.put("stop_name","会展中心");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",5);
        values.put("line_id",1);
        values.put("line_num",5);
        values.put("stop_name","东庄");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",6);
        values.put("line_id",1);
        values.put("line_num",6);
        values.put("stop_name","西庄");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",7);
        values.put("line_id",1);
        values.put("line_num",7);
        values.put("stop_name","洨河大道");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",8);
        values.put("line_id",1);
        values.put("line_num",8);
        values.put("stop_name","南村");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",9);
        values.put("line_id",1);
        values.put("line_num",9);
        values.put("stop_name","石家庄东站");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",10);
        values.put("line_id",1);
        values.put("line_num",10);
        values.put("stop_name","火炬广场");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",11);
        values.put("line_id",1);
        values.put("line_num",11);
        values.put("stop_name","留村");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",12);
        values.put("line_id",1);
        values.put("line_num",12);
        values.put("stop_name","白佛");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",13);
        values.put("line_id",1);
        values.put("line_num",13);
        values.put("stop_name","朝晖桥");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",14);
        values.put("line_id",1);
        values.put("line_num",14);
        values.put("stop_name","谈固");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",15);
        values.put("line_id",1);
        values.put("line_num",15);
        values.put("stop_name","北宋");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",16);
        values.put("line_id",1);
        values.put("line_num",16);
        values.put("stop_name","体育场");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",17);
        values.put("line_id",1);
        values.put("line_num",17);
        values.put("stop_name","博物馆");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",18);
        values.put("line_id",1);
        values.put("line_num",18);
        values.put("stop_name","北国商城");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",19);
        values.put("line_id",1);
        values.put("line_num",19);
        values.put("stop_name","平安大街");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",20);
        values.put("line_id",1);
        values.put("line_num",20);
        values.put("stop_name","解放广场");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",21);
        values.put("line_id",1);
        values.put("line_num",21);
        values.put("stop_name","新百广场");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",22);
        values.put("line_id",1);
        values.put("line_num",22);
        values.put("stop_name","烈士陵园");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",23);
        values.put("line_id",1);
        values.put("line_num",23);
        values.put("stop_name","和平医院");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",24);
        values.put("line_id",1);
        values.put("line_num",24);
        values.put("stop_name","长城桥");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",25);
        values.put("line_id",1);
        values.put("line_num",25);
        values.put("stop_name","时光街");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",26);
        values.put("line_id",1);
        values.put("line_num",26);
        values.put("stop_name","西王");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",27);
        values.put("line_id",2);
        values.put("line_num",1);
        values.put("stop_name","柳辛庄");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",28);
        values.put("line_id",2);
        values.put("line_num",2);
        values.put("stop_name","庄窠·铁道大学");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",29);
        values.put("line_id",2);
        values.put("line_num",3);
        values.put("stop_name","义堂");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",30);
        values.put("line_id",2);
        values.put("line_num",4);
        values.put("stop_name","建和桥");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",31);
        values.put("line_id",2);
        values.put("line_num",5);
        values.put("stop_name","长安公园");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",32);
        values.put("line_id",2);
        values.put("line_num",6);
        values.put("stop_name","北国商城");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",33);
        values.put("line_id",2);
        values.put("line_num",7);
        values.put("stop_name","裕华路");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",34);
        values.put("line_id",2);
        values.put("line_num",8);
        values.put("stop_name","槐中路");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",35);
        values.put("line_id",2);
        values.put("line_num",9);
        values.put("stop_name","欧韵公园");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",36);
        values.put("line_id",2);
        values.put("line_num",10);
        values.put("stop_name","元村");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",37);
        values.put("line_id",2);
        values.put("line_num",11);
        values.put("stop_name","石家庄站");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",38);
        values.put("line_id",2);
        values.put("line_num",12);
        values.put("stop_name","塔坛");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",39);
        values.put("line_id",2);
        values.put("line_num",13);
        values.put("stop_name","仓丰路留村");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",40);
        values.put("line_id",3);
        values.put("line_num",1);
        values.put("stop_name","西三庄");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",41);
        values.put("line_id",3);
        values.put("line_num",2);
        values.put("stop_name","高柱");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",42);
        values.put("line_id",3);
        values.put("line_num",3);
        values.put("stop_name","柏林庄");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",43);
        values.put("line_id",3);
        values.put("line_num",4);
        values.put("stop_name","市庄");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",44);
        values.put("line_id",3);
        values.put("line_num",5);
        values.put("stop_name","市二中");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",45);
        values.put("line_id",3);
        values.put("line_num",6);
        values.put("stop_name","新百广场");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",46);
        values.put("line_id",3);
        values.put("line_num",7);
        values.put("stop_name","东里");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",47);
        values.put("line_id",3);
        values.put("line_num",8);
        values.put("stop_name","槐安桥");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",48);
        values.put("line_id",3);
        values.put("line_num",9);
        values.put("stop_name","西三教");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",49);
        values.put("line_id",3);
        values.put("line_num",10);
        values.put("stop_name","石家庄站");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",50);
        values.put("line_id",3);
        values.put("line_num",11);
        values.put("stop_name","汇通路");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",51);
        values.put("line_id",3);
        values.put("line_num",12);
        values.put("stop_name","孙村");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",52);
        values.put("line_id",3);
        values.put("line_num",13);
        values.put("stop_name","塔冢");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",53);
        values.put("line_id",3);
        values.put("line_num",14);
        values.put("stop_name","东王");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",54);
        values.put("line_id",3);
        values.put("line_num",15);
        values.put("stop_name","南王");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",55);
        values.put("line_id",3);
        values.put("line_num",16);
        values.put("stop_name","位同");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",56);
        values.put("line_id",3);
        values.put("line_num",17);
        values.put("stop_name","东二环南路");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",57);
        values.put("line_id",3);
        values.put("line_num",18);
        values.put("stop_name","西仰院");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",58);
        values.put("line_id",3);
        values.put("line_num",19);
        values.put("stop_name","中仰陵");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",59);
        values.put("line_id",3);
        values.put("line_num",20);
        values.put("stop_name","南豆");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",60);
        values.put("line_id",3);
        values.put("line_num",21);
        values.put("stop_name","太行南大街");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",61);
        values.put("line_id",3);
        values.put("line_num",22);
        values.put("stop_name","乐享");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",62);
        values.put("line_id",2);
        values.put("line_num",14);
        values.put("stop_name","南位");
        sqLiteDatabase.insert("Subway",null,values);
        values.put("id",63);
        values.put("line_id",2);
        values.put("line_num",15);
        values.put("stop_name","嘉华路");
        sqLiteDatabase.insert("Subway",null,values);
        //sqLiteDatabase.close();
    }
    public void Addline(SQLiteDatabase sqLiteDatabase) {
        ContentValues values = new ContentValues();
        values.put("line1",1);
        values.put("line2",2);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",2);
        values.put("line2",3);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",3);
        values.put("line2",4);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",4);
        values.put("line2",5);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",5);
        values.put("line2",6);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",6);
        values.put("line2",7);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",7);
        values.put("line2",8);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",8);
        values.put("line2",9);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",9);
        values.put("line2",10);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",10);
        values.put("line2",11);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",11);
        values.put("line2",12);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",12);
        values.put("line2",13);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",13);
        values.put("line2",14);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",14);
        values.put("line2",15);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",15);
        values.put("line2",16);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",16);
        values.put("line2",17);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",17);
        values.put("line2",18);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",18);
        values.put("line2",19);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",18);
        values.put("line2",31);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",18);
        values.put("line2",32);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",19);
        values.put("line2",20);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",20);
        values.put("line2",21);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",21);
        values.put("line2",22);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",21);
        values.put("line2",43);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",21);
        values.put("line2",44);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",22);
        values.put("line2",23);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",23);
        values.put("line2",24);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",24);
        values.put("line2",25);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",25);
        values.put("line2",26);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",27);
        values.put("line2",28);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",28);
        values.put("line2",29);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",29);
        values.put("line2",30);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",30);
        values.put("line2",31);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",32);
        values.put("line2",33);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",33);
        values.put("line2",34);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",34);
        values.put("line2",35);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",35);
        values.put("line2",36);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",36);
        values.put("line2",37);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",36);
        values.put("line2",46);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",36);
        values.put("line2",47);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",37);
        values.put("line2",38);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",38);
        values.put("line2",59);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",59);
        values.put("line2",60);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",39);
        values.put("line2",40);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",40);
        values.put("line2",41);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",41);
        values.put("line2",42);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",42);
        values.put("line2",43);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",44);
        values.put("line2",45);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",45);
        values.put("line2",46);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",47);
        values.put("line2",48);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",48);
        values.put("line2",49);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",49);
        values.put("line2",50);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",50);
        values.put("line2",51);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",52);
        values.put("line2",53);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",53);
        values.put("line2",54);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",54);
        values.put("line2",55);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",56);
        values.put("line2",57);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",57);
        values.put("line2",58);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",51);
        values.put("line2",52);
        sqLiteDatabase.insert("line",null,values);
        values.put("line1",55);
        values.put("line2",56);
        sqLiteDatabase.insert("line",null,values);
        //sqLiteDatabase.close();
    }
}
功能:
加入数据后:
线路查询:
public List<Subway> LineQuery(SQLiteDatabase sqLiteDatabase, int line) {
    System.out.println("line = " + line);
    Cursor cursor = sqLiteDatabase.query("Subway",null,"line_id = ?",new String[]{String.valueOf(line)},null,null,null);
    List<Subway> list = new ArrayList<Subway>();
    while (cursor.moveToNext())
    {
        int id =cursor.getInt(0);
        int line_id =cursor.getInt(1);
        int line_num =cursor.getInt(2);
        String stop_name = cursor.getString(3);
        list.add(new Subway(id,line_id,line_num,stop_name));
    }
    cursor.close();
    //sqLiteDatabase.close();
    return list;
}
站点查询:
public List<Subway> StationQuery(SQLiteDatabase sqLiteDatabase, String name) {
    Cursor cursor = sqLiteDatabase.query("Subway",null,"stop_name = ?",new String[]{name},null,null,null);
    List<Subway> list = new ArrayList<Subway>();
    while (cursor.moveToNext())
    {
        int id =cursor.getInt(0);
        int line_id = cursor.getInt(1);
        int line_num = cursor.getInt(2);
        String stop_name = cursor.getString(3);
        list.add(new Subway(id,line_id,line_num,stop_name));
    }
    cursor.close();
    //sqLiteDatabase.close();
    return list;
}
最短路径:
利用迪杰斯特拉进行修改:
public class ShortistQuery extends AppCompatActivity {
   EditText Begin_EditText,End_EditText;
   Button BEquery_Button;
   TextView BEquery_TextView;
   //==========================================
   private static String Endstop = "";
    private int[][] matrix ;
    private String[] vertexes;
   private SQLiteDatabase sqLiteDatabase;
    private static List<Line> lines = new ArrayList<Line>();
    private static String Line = "";
    private int MAX_WEIGHT = Integer.MAX_VALUE;
    private static List<ShortLine> shortLines = new ArrayList<ShortLine>();
    private void createGraph2(int index)
    {
        matrix = new int[index][index];
        for (int i = 0; i < index; i++) {
            for (int j = 0; j < index; j++) {
                matrix[i][j] = Integer.MAX_VALUE;
            }
        }
        vertexes = new String[index];
        System.out.println("lines = " + lines);
        for (Line line : lines) {
//            System.out.println("line.getLine1() = " + ((line.getLine1() - 1)));
//            System.out.println("line.getLine2() = " + ((line.getLine2() - 1)));
            matrix[line.getLine1() - 1][line.getLine2() - 1] = 1;
            matrix[line.getLine2() - 1][line.getLine1() - 1] = 1;
        }
        System.out.println("shortLines = " + shortLines);
        int count = 0;
        for (ShortLine shortLine : shortLines) {
            vertexes[count++] = shortLine.getName();
           // System.out.println(shortLine.getName());
        }
    }
    public void dijkstra(int vs)
    {
        vs = vs - 1;
        // flag[i]=true表示"顶点vs"到"顶点i"的最短路径已成功获取
        boolean[] flag = new boolean[vertexes.length];
        // U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离),与 flag配合使用,flag[i] == true 表示U中i顶点已被移除
        int[] U = new int[vertexes.length];
        // 前驱顶点数组,即,prev[i]的值是"顶点vs"到"顶点i"的最短路径所经历的全部顶点中,位于"顶点i"之前的那个顶点。
        int[] prev = new int[vertexes.length];
        // S的作用是记录已求出最短路径的顶点
        String[] S = new String[vertexes.length];
        // 步骤一:初始时,S中只有起点vs;U中是除vs之外的顶点,并且U中顶点的路径是"起点vs到该顶点的路径"。
        for (int i = 0; i < vertexes.length; i++) {
            flag[i] = false; // 顶点i的最短路径还没获取到。
            U[i] = matrix[vs][i]; // 顶点i与顶点vs的初始距离为"顶点vs"到"顶点i"的权。也就是邻接矩阵vs行的数据。
            prev[i] = 0; //顶点i的前驱顶点为0
        }
        // 将vs从U中“移除”(U与flag配合使用)
        flag[vs] = true;
        U[vs] = 0;
        // 将vs顶点加入S
        S[0] = vertexes[vs];
        // 步骤一结束
        //步骤四:重复步骤二三,直到遍历完所有顶点。
        // 遍历vertexes.length-1次;每次找出一个顶点的最短路径。
        int k = 0;
        for (int i = 1; i < vertexes.length; i++)
        {
            // 步骤二:从U中找出路径最短的顶点,并将其加入到S中(如果vs顶点到x顶点还有更短的路径的话,那么
            // 必然会有一个y顶点到vs顶点的路径比前者更短且没有加入S中
            // 所以,U中路径最短顶点的路径就是该顶点的最短路径)
            // 即,在未获取最短路径的顶点中,找到离vs最近的顶点(k)。
            int min = MAX_WEIGHT;
            for (int j = 0; j < vertexes.length; j++)
            {
                if (flag[j] == false && U[j] < min)
                {
                    min = U[j];
                    k = j;
                }
            }
            //将k放入S中
            S[i] = vertexes[k];
            //步骤二结束
            //步骤三:更新U中的顶点和顶点对应的路径
            //标记"顶点k"为已经获取到最短路径(更新U中的顶点,即将k顶点对应的flag标记为true)
            flag[k] = true;
            //修正当前最短路径和前驱顶点(更新U中剩余顶点对应的路径)
            //即,当已经"顶点k的最短路径"之后,更新"未获取最短路径的顶点的最短路径和前驱顶点"。
            for (int j = 0; j < vertexes.length; j++)
            {
                //以k顶点所在位置连线其他顶点,判断其他顶点经过最短路径顶点k到达vs顶点是否小于目前的最短路径,是,更新入U,不是,不做处理
                int tmp = (matrix[k][j] == MAX_WEIGHT ? MAX_WEIGHT : (min + matrix[k][j]));
                if (flag[j] == false && (tmp < U[j]))
                {
                    U[j] = tmp;
                    //更新 j顶点的最短路径前驱顶点为k
                    prev[j] = k;
                }
            }
            //步骤三结束
        }
        //步骤四结束
        // 打印dijkstra最短路径的结果
        System.out.println("起始顶点:" + vertexes[vs]);
        for (int i = 0; i < vertexes.length; i++)
        {
            //System.out.println(Endstop);
            if (vertexes[i].equals(Endstop)) {
                Line += vertexes[vs] + "->";
                //System.out.print("最短路径(" + vertexes[vs] + "," + vertexes[i] + "):" + U[i] + "  ");
                List<String> path = new ArrayList<>();
                int j = i;
                while (true) {
                    path.add(vertexes[j]);
                    if (j == 0)
                        break;
                    j = prev[j];
                }
                for (int x = path.size() - 2; x >= 0; x--) {
                    if (x == 0) {
                        Line += path.get(x);
                        //System.out.println(path.get(x));
                    } else {
                        Line += path.get(x);
                        Line += "->";
                        // System.out.print(path.get(x) + "->");
                    }
                }
            }
        }
    }
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shortist_query);
        Begin_EditText = findViewById(R.id.Begin_EditText);
        End_EditText = findViewById(R.id.End_EditText);
        BEquery_Button = findViewById(R.id.BEquery_Button);
        BEquery_TextView = findViewById(R.id.BEquery_TextView);
        BEquery_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String begin = Begin_EditText.getText().toString();
                String end = End_EditText.getText().toString();
                System.out.println("begin = " + begin );
                System.out.println("end = " + end);
                Subwaydatabase subwaydatabase = new Subwaydatabase(ShortistQuery.this);
                sqLiteDatabase = subwaydatabase.getReadableDatabase();
                sqLiteDatabase = subwaydatabase.getWritableDatabase();
                int id = subwaydatabase.NametoId(sqLiteDatabase,begin);
                lines = subwaydatabase.find(sqLiteDatabase);
               // System.out.println("lines = " + lines);
                shortLines = subwaydatabase.getAll(sqLiteDatabase);
                System.out.println("id = " + id );
                ShortistQuery dij  = new ShortistQuery();
                Endstop = end;
                System.out.println("Endstop = "+Endstop);
                dij.createGraph2(60);
                dij.dijkstra(id);
                System.out.println(Line);
                BEquery_TextView.setText(Line);
                Line ="";
            }
        });
    }
实现页面:
![]()
![]()
![]()
 
                    
                 



 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号