Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Critically
10 / 10 / 0
Регистрация: 14.03.2011
Сообщений: 351
#1

Создать запрос используя данные из массива - Программирование Android

15.12.2012, 20:02. Просмотров 698. Ответов 15
Метки нет (Все метки)

Добрый день, как можно создать запрос программно ? Имеется arraylist c n-ым количеством данных.... Нужно программно создать xml вида:

<data>
<group></group>
<group></group>
...........
<group></group>
</data>

Вот как программно создать, элементы <group></group> со значениями из массива ?

Добавлено через 5 часов 59 минут
Неужели никто не может помочь ? Совет хоть дайте или логику расскажите....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 20:02     Создать запрос используя данные из массива
Посмотрите здесь:
Android Можно ли, используя C2DM, передавать данные с телефона на комп и обратно?
Android Возможно отправить get запрос без сторонних библиотек используя лишь чистый Android Studio?
Android Как передавать данные в предыдущее activity, используя кнопку назад в action bar?
Android Как создать сканер используя Zxing?
Android Как передать в функцию название массива в который будут грузиться данные из файла?
Как извлечь данные из сервера Parse, чтобы эти данные были видны всем? Android
Как сделать запрос sql, используя данные из массива? PHP БД
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.12.2012, 20:33     Создать запрос используя данные из массива #2
"<group>" + a + "</group>"
Critically
10 / 10 / 0
Регистрация: 14.03.2011
Сообщений: 351
16.12.2012, 19:24  [ТС]     Создать запрос используя данные из массива #3
Это то понятно, но как создавать теги... ??? Пока есть элементы массива ?? Может цикл какой надо ???

Добавлено через 7 часов 53 минуты
Вопрос все еще актуален...
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.12.2012, 19:27     Создать запрос используя данные из массива #4
вопрос не понятен.
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 19:28     Создать запрос используя данные из массива #5
Цитата Сообщение от Critically Посмотреть сообщение
но как создавать теги
Ваш вопрос актуален, но сам вопрос не понятен. Что значит как создавать теги? Пишите их или храните в массиве данных.
Critically
10 / 10 / 0
Регистрация: 14.03.2011
Сообщений: 351
16.12.2012, 19:35  [ТС]     Создать запрос используя данные из массива #6
Сейчас попробую расписать подробнее...

Добавлено через 6 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
                    String str = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
                                 "<data>" +
                                 "<login>"+login+"</login>" +
                                 "<password>"+password+"</password>" +
                                 "</data>";
               HttpParams httpParameters = new BasicHttpParams();
               int timeoutConnection = 3000;
               HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
               int timeoutSocket = 3000;
               HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
               HttpClient httpclient = new DefaultHttpClient(httpParameters);
               HttpPost httppost = new HttpPost("http://********/android/index.php");
Вот такой код, как вы видите xml-ка стандартная... У меня задача такая: Эту xml я отправляю и мне приходят данные, я их пихаю в arraylist и передаю на другую activity, в другой activity кнопка... И вот когда я нажимаю на эту кнопку, у меня должна формироваться xml-ка... из полученных данных, вида:
Java
1
2
3
4
5
6
7
8
   "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
                                 "<data>" +
                                 "<group>"+a[i]+"</group>" +
                                 "<group>"+a[i+1]+"</group>" +
                                     "<group>"+a[i+2]+"</group>" +
                                       .............
                                     "<group>"+a[i+n]+"</group>" +
                                 "</data>";
Количество данных которые я получаю у меня всегда разное поэтому я не могу задать в xml-ке количество тегов
Java
1
<group></group>
Вот и вопрос, как программно создавать xml-ку основываясь на полученных данных...
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 19:42     Создать запрос используя данные из массива #7
Ну у вас же есть ArrayList пробегитесь по нему, например по циклу и сформируйте свою xml...что то я не вижу проблемы...извините
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.12.2012, 19:44     Создать запрос используя данные из массива #8
Critically, не знаете как цикл написать?
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 19:46     Создать запрос используя данные из массива #9
for(int i=0; i<размер ArrayList; i++){}
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.12.2012, 19:48     Создать запрос используя данные из массива #10
или
for(int i : list){}
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 19:50     Создать запрос используя данные из массива #11
Цитата Сообщение от V0v1k Посмотреть сообщение
или
for(int i : list){}

Не по теме:

да так красивее...не смог вспомнить как это записывается, а недавно читал

Critically
10 / 10 / 0
Регистрация: 14.03.2011
Сообщений: 351
16.12.2012, 19:56  [ТС]     Создать запрос используя данные из массива #12
Ну допустим идем по циклу, нашли первый элемент и как это в xml вид то за писать ? Мне же нужно xml-ку в String строку пихать потом... как это делается ?

for(int i : myArray){
String st = "<group>....<group>"
}

А шапку xml-ки как в String записать сразу наверное ?
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 20:01     Создать запрос используя данные из массива #13
ну либо используйте StringBuilder либо просто
String str = "";
str = "<tag>"+"\n<tag>"; \n - перевод строки и каретки

Мне нравится StringBuilder

Шапку и окончание запишите в переменные, потом приплюсуете, или действительно с самого начала, что бы не плодить переменные
Critically
10 / 10 / 0
Регистрация: 14.03.2011
Сообщений: 351
16.12.2012, 22:10  [ТС]     Создать запрос используя данные из массива #14
Спасибо, почитаю про StringBuilder

Добавлено через 2 часа 1 минуту
Вот набросал код ))
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public class SendSms extends Activity 
{  ListView lvMain;
   ArrayList<String> catsarray;
   ArrayList<String> dogsarray;
   ArrayList<String> checked;    <--- массив с данными полученными
   String str;                           <--- строка куда должна писаться xml-ка
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sendsms);
        Bundle b=this.getIntent().getExtras();
        catsarray=b.getStringArrayList("key1");
        dogsarray=b.getStringArrayList("key2");
        String sessionid=b.getString("session");
        lvMain = (ListView) findViewById(android.R.id.list);
        lvMain.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        str="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + "<data>";   <--- написал шапку для xml-ки
        Log.d("Массив",str);
        // создаем адаптер
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            R.layout.my_list, android.R.id.text1, catsarray);
        // присваиваем адаптер списку
        lvMain.setAdapter(adapter);
    }
    
    public void Send(View v){
        lvMain.post(new Runnable(){
        @Override
        public void run() {
            SparseBooleanArray sbArray = lvMain.getCheckedItemPositions();
            for (int i = 0; i < sbArray.size(); i++) {
              int key = sbArray.keyAt(i);
              if (sbArray.get(key))   //Если элемент выбран
              {   
                        checked.add(dogsarray.get(key));   <----заполняю массив полученными данными
              }
             }
                 for(int z=0; z<checked.size(); z++){                 <--Как вы говорили делаю в цикле присваивание в строку
                 str="<group>"+checked.get(z)+"</group>";                       
                }
            str="</data>";  <-- дописываю конец xml-ки
            Log.d("Массив",str);  <-- Вывожу на экран
           }
        });        
    }   
}
Ну и вопрос, строка то перетирается постоянно, и в конце на экране я вижу только </data> ))) Как правильно прибавлять к строке?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.12.2012, 22:14     Создать запрос используя данные из массива #15
str += str2;
прочтите книжку по основам Java.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 22:56     Создать запрос используя данные из массива
Еще ссылки по теме:
Запрос на выбор Максимума, используя данные 2 таблиц SQL Server
Используя sql-запрос и php, получить данные из базы *.dbf PHP
Python Создать http запрос используя socket
Используя числа из массива n, составляется цикл, где данные массива n после некоторых рассчетов записываются в другой массив MathCAD
C++ Builder БД MS Access Используя SQL-запрос создать таблицу, имя которой будет содержать пробел

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Critically
10 / 10 / 0
Регистрация: 14.03.2011
Сообщений: 351
16.12.2012, 22:56  [ТС]     Создать запрос используя данные из массива #16
Да уже разобрался, но все равно спасибо..
Yandex
Объявления
16.12.2012, 22:56     Создать запрос используя данные из массива
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru