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

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

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

Как сделать доступ к MainActivity из класса android.app.Instrumentation? - Программирование Android

09.03.2016, 11:43. Просмотров 283. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать доступ к MainActivity из класса android.app.Instrumentation? (Программирование Android):

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

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

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

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

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

Ошибка "Activity class {com.Android.System/com.Android.System.MainActivity} does not exist" - Программирование Android
Starting: Intent { act=android.intent.action.MAIN cat= cmp=com.android.system/.MainActivity } Error type 3 Error: Activity class...

2
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
09.03.2016, 14:27 #2
Цитата Сообщение от Валерий Губин Посмотреть сообщение
MainActivity extends AsyncTask
А почему MainActivity не наследуется от Activity???
0
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 439
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) - Программирование Android
package com.example.user.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import...

Как открыть проект в Android Studio, состоящий из одного модуля app - Программирование Android
Здравствуйте. Часто сталкиваюсь с примерами кода, в которых выложен только модуль app &quot;без всего&quot;, например такой. Как из него создать...

Обращение к textView из другого класса (не MainActivity) в AndroidStudio - Программирование Android
Добрый вечер, у меня такой вопрос. В MainActivity можно обращаться к объектам, а если в другом классе требуется, допустим, найти объект...

Изменить переменную из класса MainActivity в классе MainRenderer - Программирование Android
Ребята подскажите пожалуйста, у менять есть два файла: MainActivity.java import android.opengl.GLSurfaceView; import...


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

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

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