为什么我在mySql中插入1/2行时得到2/4行

时间:2015-04-14 21:09:44

标签: java android mysql

我正在尝试将带有一些坐标(lat,long)的文件保存到在线数据库中。我做了如下方法。我从外部存储中读取文件为字符串,然后将其作为latitude arrayListlongitude arrayList分割到最后。然后我向数据库发出一个插入语句。它工作正常,但是例如,如果我在文件中有一个坐标(x,y),我在db(1行(x,y)和2行(x,y))中获得双倍,如果我有2个点我在db中得到4行! - 我试了几个小时才知道我做错了什么。我只是陷入了这个! - 非常感谢任何帮助,谢谢

private void fileToDataBase() {
        File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);

        if (myFile().isEmpty()) {
            boolean delete = (new File(path, fileName)).delete();
            if(delete) {
                return;
            }
        } else {
            String[] latLngReplaced = myFile().replace("\n", ",").split(",");

            List<String> lats = new ArrayList<>(); 
            List<String> lngs = new ArrayList<>(); 

            for (int i = 0; i < latLngReplaced .length; i++) {  
                if (i % 2 == 0) {
                    lats.add(latLngErstatt[i]); 
                } else {
                    lngs.add(latLngErstatt[i]); 
                }
            }
            for (int i = 0, j = 0; i < lats.size() && j < lngs.size(); i++, j++) {

                Coordinate c = new Coordinate (lats.get(i), lngs.get(j));

                String in = "INSERT INTO coordinate(latitude, longitude) VALUES (" + c.getLatitude() + "," + c.getLongitude() + ")";

                List<NameValuePair> nameValuePairs = new ArrayList<>(1);
                nameValuePairs.add(new BasicNameValuePair("test", in));
                new AsyncTaskSendFila(this).execute(new Pair<>(nameValuePairs, httpClient));
            }
        } 

0 个答案:

没有答案