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