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

Чтение данных БД - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText http://www.cyberforum.ru/android-dev/thread1296172.html
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?
Android Как привязать item к определенной Activity? Здравствуйте!Имеется список категорий (items) в ListView.Как по нажатию на item под названием Cat1 открывалась ActivityCat1 и так далее? @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Category category_data = new Category { new... http://www.cyberforum.ru/android-dev/thread1296044.html
Получить первую букву из слова (переменная String) Android
есть переменная String "word". Как получить первую букву w? Добавлено через 7 минут вот это ошибку выбивает charAt(int index) - символ в указанной позиции;
Android Вывод на экран списка USB-устройств
Пишу программу на самом устройстве Android "AIDE". Хочу чтобы прога показывала устройства USB, но пока застрял на этапе поиска устройств. deviceList.size - показывает "0" device.getProductId() +"-"+device.getVendorId() - "Ошибка" Вродебы всё смотрел по мануалу. Фаил Activitypackage com.mycompany.myapp; import android.app.*; import android.content.*; import android.hardware.usb.*;
Android Нужно зафиксировать альбомное расположение http://www.cyberforum.ru/android-dev/thread1295756.html
Создаю layout, на котором все элементы располагаются в альбомном положении. Как запретить поворот, что-бы при любом положении телефона, данный layout сохранял альбомное расположение элементов?
Android Каждую букву слова записать в перемененную Например есть много переменных. (b1, b2, b3, b4 и тд). Еще одна s "slovo". Надо что бы получилось b1=s, b2=l, b3=o и тд. подробнее

Показать сообщение отдельно
KorPaEv
54 / 30 / 4
Регистрация: 08.07.2011
Сообщений: 187
12.11.2014, 07:07  [ТС]     Чтение данных БД
YuraAAA, в том то и дело что я уже доковырялся сам и использую его, но у меня после запуска приложения, все обсыпается вот тут...говорит приложение завершено с ошибкой и ничего не пишет в дебаге..
может я что то тут делаю неправильно после метода Connect()????

вот код AsyncTask
Кликните здесь для просмотра всего текста

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
private class ConnectMySql extends AsyncTask<Void, Void, List<String>> {
 
        @Override
        protected List<String> doInBackground(Void... urls)
        {
            list = new ArrayList<String>();
            try
            {
                Class.forName("com.mysql.jdbc.Driver");
                Connection con = DriverManager.getConnection(url, user, pass);
                String result = "Database connection success\n";
                Statement st = con.createStatement();
                String query = "SELECT * FROM ap_users";
                //query = query +"'" +variable+"'";
                ResultSet rs = st.executeQuery(query);
 
                while (rs.next()) {  //retrieve data
                    String data = rs.getString("username");
                    list.add(data);
                }
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return list;
        }
        public void onPostExecute(List<String> result)
        {
            adapter.addAll(result);
            adapter.notifyDataSetChanged();
        }
    }


а вот OnCreate()
Кликните здесь для просмотра всего текста
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
public class SwitcherActivity extends Activity
{
    ListView lv;
    ArrayAdapter<String> adapter;
    List<String> list;
    
    private static final String url = "jdbc:mysql://gfghgfhfghfgh";
    private static final String user = "ghjhj";
    private static final String pass = "ghjgh";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        lv = (ListView) findViewById(R.id.listView);
 
        Connect();
        adapter = new ArrayAdapter<String>(this, R.layout.main, list);
        lv.setAdapter(adapter);
    }
 
    public void Connect() {
        ConnectMySql task = new ConnectMySql();
        task.execute();
    }


Добавлено через 12 минут
YuraAAA, кстати как раз эта строка не отрабатывает

Java
1
 //lv.setAdapter(adapter);
как только до нее доходит на выполнение то на экране устройства появляется - В пирложении произошла ошибка и все..

Добавлено через 5 минут
YuraAAA, и кстати заметил еще такую штуку в отладчике, ставлю точку останова тут

Java
1
adapter = new ArrayAdapter<String>(this, R.layout.main, list);
и у меня при проверке list там 0 объектов внутри, он пустой, мне кажется что проблема как раз в том, что лист не передается в адаптер.
в методе PostExec я не знаю, может там что то, как это проверить? и почему именно тут адаптер содержит пустой лист, когда метод Connect отработал и по идеи лист уже не пустой??

Добавлено через 6 минут
YuraAAA, Поставил точку останова именно внутри onPostExec и отладчик туда вообще не заходит...
Вопрос - нужно ли его вызывать принудительно в методе Connect()?
Как вариант

Java
1
2
3
4
5
6
    public void Connect()
    {
        ConnectMySql task = new ConnectMySql();
        task.execute();
        task.onPostExecute(list);
    }
Добавлено через 18 часов 59 минут
В общем помогите разобраться!
Докапался вот до чего и возникло еще больше вопросов.

1 - Почему, если в OnCreate() у меня написан вызов метода Connect() и после него я уже начинаю определять адаптер и заполнение ListView то метод вообще не отрабатывает?? я поставил точку останова внутри AsyncTask и отладчик туда вообще не заходит если написано вот так

Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
 @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        lv = (ListView) findViewById(R.id.listView);
 
//Вот тут сразу пытается перейти на  adapter = .... минуя  Connect(); ПОЧЕМУ??
        Connect();
        adapter = new ArrayAdapter<String>(this, R.layout.main, list);
        lv.setAdapter(adapter);
    }


2 - Почему если закоментарить эти строки выше у меня отладчик попадает в Connect() и отрабатывает doInBackground, но при этом вообще никак не заходит в onPostExecute()???? Как передать в этот метод мой заполненный лист и потом передать в адаптер его в OnCreate()???

Java
1
2
 //adapter = new ArrayAdapter<String>(this, R.layout.main, list);
 //lv.setAdapter(adapter);
 
Текущее время: 13:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru