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

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

Войти
Регистрация
Восстановить пароль
 
Валерий Губин
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 9
#1

Как вынести подключение к БД в отдельный поток? - Программирование Android

04.03.2016, 10:25. Просмотров 235. Ответов 2
Метки нет (Все метки)

Как вынести подключение бд в отдельный поток???Вот код программы:
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
48
49
50
51
52
53
54
55
56
57
import android.os.Bundle;
import android.view.View;
import android.app.Activity;
import android.widget.Button;
import android.widget.TextView;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class MainActivity extends Activity {
 
    TextView textView;
    Button button;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        textView = (TextView) findViewById(R.id.textView);
        button = (Button) findViewById(R.id.button);
 
        button.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View v) {
 
                try {
                    Connection conn = null;
                    String url = "jdbc:jtds:sqlserver://localhost:.../databaseName=master";
                    String name = "...";
                    String password = "...";
 
                    try {
                        Class.forName("net.sourceforge.jtds.jdbc.Driver");
                    } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                    }
 
                    try {
                        conn = DriverManager.getConnection(url, name, password);
                        textView.setText("я подключился");
                    } catch (SQLException e) {
                        e.printStackTrace();
                        textView.setText("какой-то косяк");
                    }
 
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
 
        });
    }
}
Добавлено через 1 минуту
Вот что она выдает на выходе:
Кликните здесь для просмотра всего текста
03-04 08:59:28.556 28929-28929/com.example.ls.connection_ms_sql W/System.err: android.os.NetworkOnMainThreadException
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.net.InetAddress.getByName(InetAddress.java:305)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.net.InetSocketAddress.<init>(InetSocketAddress.java:105)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.net.InetSocketAddress.<init>(InetSocketAddress.java:90)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:279)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:251)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:331)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:179)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:213)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at com.example.ls.connection_ms_sql.MainActivity$1.onClick(MainActivity.java:43)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.view.View.performClick(View.java:4770)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.view.View$PerformClick.run(View.java:19801)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.os.Looper.loop(Looper.java:135)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5261)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.lang.reflect.Method.invoke(Native Method)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:939)
03-04 08:59:28.568 28929-28929/com.example.ls.connection_ms_sql W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:734)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2016, 10:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вынести подключение к БД в отдельный поток? (Программирование Android):

Вынести загрузку и парсинг в отдельный поток - Программирование Android
Ребята,привет. Есть приложение,калькулятор и есть активность валюта,где конвертация валюты происходит,так вот оно берет с сайта...

Вынести метод в отдельный класс - Программирование Android
У меня есть вот такой метод, все данные типа String и два типа double public void ParseQueryMap() { userLocation = new...

UiThread, как вынести процесс из главного потока? - Программирование Android
Я - новичок в Android. Нужно в этом куске кода реализовать многопоточность. Очистить главный поток от операций, связанных с соединением с...

Как вынести скачивание файлов в отдельный поток? - C++ Qt
Всем привет. При старте приложения мне нужно скачать некоторый объем информации из интернета. Делаю это в конструкторе главного окна через...

Как вынести работу с SerialPort в отдельный поток? - Visual Basic .NET
Подскажите как правильно работать с потоками? Работаю с Serial Com Port, снимаю с него текстовые данные, как цикл выкинуть в отдельный...

Вынести процедуру в отдельный поток - Delphi
Доброго дня. Есть процедура, в процессе её работы происходит step прогрессбара, разумеется такие вещи необходимо выносить в отдельный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 843
04.03.2016, 10:47 #2
Валерий Губин,
-вбиваем в поисковик "asynctask";
-изучаем информацию по первым ссылкам;
-переписываем свой код.
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,799
Завершенные тесты: 1
04.03.2016, 16:13 #3
Вася, я тебе отписал в соседней теме, ты хоть бы зашел туда, отписался о прогрессе
и код на форум помещай в теги, 21-й век на дворе
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2016, 16:13
Привет! Вот еще темы с ответами:

.NET 4.x Вынести соединение с БД в отдельный поток - C#
Здравствуйте, уважаемые знатоки. Проблема у меня в следующем, есть программа для работы с БД mySQL, хотелось бы вынести фукцию подключения...

Вынести работу с интернетом в отдельный поток - C++ Builder
Хотел перенести работу с интернетом в программе в отдельный поток, но что то не могу сообразить. есть функция допустим Get(url) ...

Вынести часть работы приложения в отдельный поток - C#
Друзья, вот столкнулся с такой проблемой. У меня нормальный процессор, все программы быстро работают. Написал недавно программу, которая на...

Нужно вынести скачивание файла в отдельный поток (Что бы программа не провисала во время скачивания) - C#
public void DownloadFile() { FtpWebRequest requestFileDownload =...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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