Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Валерий Губин
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 9
#1

Как сделать доступ к MainActivity из класса android.app.Instrumentation?

09.03.2016, 11:43. Просмотров 363. Ответов 2
Метки нет (Все метки)

как сделать доступ к MainActivity из класса android.app.Instrumentation?

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
58
59
60
61
62
63
64
65
import android.os.AsyncTask;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
final class MainActivity extends AsyncTask<String, Void, JSONArray> {
    final static String MSSQL_DB = "jdbc:jtds:sqlserver://my IP:port:/master";
    final static String MSSQL_LOGIN = "****";
    final static String MSSQL_PASS= "*****";
 
    @Override
    protected JSONArray doInBackground(String... query) {
        JSONArray resultSet = new JSONArray();
        try {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            Connection con = null;
            Statement st = null;
            ResultSet rs = null;
            try {
                con = DriverManager.getConnection(MSSQL_DB, MSSQL_LOGIN, MSSQL_PASS);
                if (con != null) {
                    st = con.createStatement();
                    rs = st.executeQuery(query[0]);
                    if (rs != null) {
                        int columnCount = rs.getMetaData().getColumnCount();
 
                        while (rs.next()) {
                            JSONObject rowObject = new JSONObject();
                            for (int i = 1; i <= columnCount; i++) {
                                rowObject.put(rs.getMetaData().getColumnName(i), (rs.getString(i) != null) ? rs.getString(i) : "");
                            }
                            resultSet.put(rowObject);
                        }
                    }
                }
            } catch (SQLException | JSONException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (rs != null) rs.close();
                    if (st != null) st.close();
                    if (con != null) con.close();
                } catch (SQLException e) {
 
                    //noinspection ThrowFromFinallyBlock
                    throw new RuntimeException(e.getMessage());
                }
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return resultSet;
    }
 
    @Override
    protected void onPostExecute(JSONArray result) {
        // TODO: вернуть результат
    }
}
Добавлено через 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
03-09 11:42:33.760 2120-2120/? I/art: Late-enabling -Xcheck:jni
03-09 11:42:33.912 2120-2120/com.example.ls.conn_sql D/Proxy: setHttpRequestCheckHandler
03-09 11:42:33.928 2120-2120/com.example.ls.conn_sql D/AndroidRuntime: Shutting down VM
03-09 11:42:33.940 2120-2120/com.example.ls.conn_sql E/AndroidRuntime: FATAL EXCEPTION: main
                                                                       Process: com.example.ls.conn_sql, PID: 2120
                                                                       java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.ls.conn_sql/com.example.ls.conn_sql.MainActivity}: java.lang.IllegalAccessException: class com.example.ls.conn_sql.MainActivity is not accessible from class android.app.Instrumentation
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2228)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
                                                                           at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                           at android.os.Looper.loop(Looper.java:135)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5261)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at java.lang.reflect.Method.invoke(Method.java:372)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:939)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:734)
                                                                        Caused by: java.lang.IllegalAccessException: class com.example.ls.conn_sql.MainActivity is not accessible from class android.app.Instrumentation
                                                                           at java.lang.Class.newInstance(Class.java:1557)
                                                                           at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)*
                                                                           at android.app.ActivityThread.access$800(ActivityThread.java:151)*
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)*
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)*
                                                                           at android.os.Looper.loop(Looper.java:135)*
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5261)*
                                                                           at java.lang.reflect.Method.invoke(Native Method)*
                                                                           at java.lang.reflect.Method.invoke(Method.java:372)*
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:939)*
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:734)*
03-09 11:42:36.703 2120-2120/com.example.ls.conn_sql I/Process: Sending signal. PID: 2120 SIG: 9

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2016, 11:43
Ответы с готовыми решениями:

Как сделать программную оболочку для app Android
Есть приложение (моё), нужно сделать имитацию работы пользователя (нажатия по...

Как сделать программну оболочку для app Android?
т.е. как сделать программку что бы она нажимала на кнопочки в работающем...

Доступ к полям MainActivity
Добрый день, что-то не могу сообразить, как получить доступ к полям...

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка:...

Android.support.v4.app.FragmentActivity не работает в Android Studio
объясните пожалуйста,как в андроид студио добавить вышеуказанную...

2
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
09.03.2016, 14:27 #2
Цитата Сообщение от Валерий Губин Посмотреть сообщение
MainActivity extends AsyncTask
А почему MainActivity не наследуется от Activity???
0
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 449
09.03.2016, 16:22 #3
YuraAAA, а так надо, вы не понимаете. Ну и отходя от оффтопа, автор темы, прочтите хотя бы что-то по андроиду.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2016, 16:22

Что означает этот код? (ide android studio, файл MainActivity)
package com.example.user.myapplication; import android.app.Activity; import...

Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist"
Starting: Intent { act=android.intent.action.MAIN cat=...

Изменить переменную из класса MainActivity в классе MainRenderer
Ребята подскажите пожалуйста, у менять есть два файла: MainActivity.java ...


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

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

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