Android 将ArrayList转换为逗号分隔的字符串

Android 将ArrayList转换为逗号分隔的字符串,android,string,comma,Android,String,Comma,我想将ArrayList转换为逗号分隔的字符串,下面是我的代码。我将纬度、经度和日期时间保存在本地数据库中,并分别获取它们 添加到本地数据库: db = new DatabaseHandler(context); // db.open(); /** * CRUD Operations * */ // Insertin

我想将ArrayList转换为逗号分隔的字符串,下面是我的代码。我将纬度、经度和日期时间保存在本地数据库中,并分别获取它们

添加到本地数据库:

    db = new DatabaseHandler(context);
                   // db.open();


                /**
                 * CRUD Operations
                 * */
                // Inserting Contacts
                    Log.d("Insert: ", "Inserting ..");
                    db.addLocation(new Location2(latitude, longitude, city + "," + state, strDate));
                    db.close();
然后分别在这里取:

public List<String> getLattitude(){
        List<String> labels = new ArrayList<String>();

        // Select All Query
        String selectQuery = " SELECT " + LATTITUDE + " FROM "+ TABLE_CONTACTS;

        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                labels.add(cursor.getString(0));
            } while (cursor.moveToNext());
        }

        // closing connection
        cursor.close();
        db.close();

        // returning lables
        return labels;
    }

    public List<String> getLongitude(){
        List<String> labels = new ArrayList<String>();

        // Select All Query
        String selectQuery = " SELECT " + LONGITUDE + " FROM "+ TABLE_CONTACTS;

        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                labels.add(cursor.getString(0));
            } while (cursor.moveToNext());
        }

        // closing connection
        cursor.close();
        db.close();

        // returning lables
        return labels;
    }


    public List<String> getAllDate(){
        List<String> labels = new ArrayList<String>();

        // Select All Query
        String selectQuery = " SELECT " + DATE + " FROM "+ TABLE_CONTACTS;

        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                labels.add(cursor.getString(0));
            } while (cursor.moveToNext());
        }

        // closing connection
        cursor.close();
        db.close();

        // returning lables
        return labels;
    }
我想要像这样的东西:

longiii : 72.605684,72.605684,72.605684
lattitu : 23.1069556,23.1069556,23.1069556
dattttt : 20150810233842,20150810233842,20150810233846

我该怎么做呢?

这两种方法会很有用

 public static String listToString(List<String> list)
 {
     return TextUtils.join(",", list);
 }

 public static List<String> stringToList(String string)
 {
    if(string==null)
        return new ArrayList<String>();
    else
        return new ArrayList<String>(Arrays.asList(TextUtils.split(string, ",")));
 }
公共静态字符串listToString(列表)
{
返回TextUtils.join(“,”列表);
}
公共静态列表stringToList(字符串)
{
if(字符串==null)
返回新的ArrayList();
其他的
返回新的ArrayList(Arrays.asList(TextUtils.split(string,“,”)));
}

首先将
ArrayList
转换为数组:
字符串myNewArr[]=mylist.toArray()

然后,您可以通过一个简单的for循环将它们连接起来:

StringBuilder sb = new StringBuilder();
for (int i = 0; i < myNewArr.length; i++)
    sb.append(myNewArr[i]);
String str = sb.toString();
试试这个

public String getLattitude(){
            String labels = "";

            // Select All Query
            String selectQuery = " SELECT " + LATTITUDE + " FROM "+ TABLE_CONTACTS;

            SQLiteDatabase db = this.getReadableDatabase();
            Cursor cursor = db.rawQuery(selectQuery, null);

            // looping through all rows and adding to list
            if (cursor.getCount()>0) {
               cursor.moveToFirst();
               for(int i=0;i<cursor.getCount();i++){
                 labels+=cursor.getString(0);
                 if(i<(cursor.getCount()-1)){
                   labels+=",";
                 }
                 cursor.moveToNext();
               }
            }

            // closing connection
            cursor.close();
            db.close();

            // returning lables
            return labels;
        }
公共字符串getLattitude(){
字符串标签=”;
//选择所有查询
String selectQuery=“从“+表格”联系人中选择“+latitude+”;
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.rawQuery(selectQuery,null);
//循环遍历所有行并添加到列表
if(cursor.getCount()>0){
cursor.moveToFirst();
对于(int i=0;i
StringBuilder sb = new StringBuilder();
for (int i = 0; i < myNewArr.length; i++)
    sb.append(myNewArr[i]);
String str = sb.toString();
String str = StringUtils.join(myNewArr, ',');
public String getLattitude(){
            String labels = "";

            // Select All Query
            String selectQuery = " SELECT " + LATTITUDE + " FROM "+ TABLE_CONTACTS;

            SQLiteDatabase db = this.getReadableDatabase();
            Cursor cursor = db.rawQuery(selectQuery, null);

            // looping through all rows and adding to list
            if (cursor.getCount()>0) {
               cursor.moveToFirst();
               for(int i=0;i<cursor.getCount();i++){
                 labels+=cursor.getString(0);
                 if(i<(cursor.getCount()-1)){
                   labels+=",";
                 }
                 cursor.moveToNext();
               }
            }

            // closing connection
            cursor.close();
            db.close();

            // returning lables
            return labels;
        }