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

Could not find class 'javax.naming.directory.InitialDirContext' - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Ошибка: "Cannot launch AVD in emulator" http://www.cyberforum.ru/android-dev/thread1498222.html
Здравствуйте, выскакивает вот такая ошибка в Devices >>> _______________________________________________________________ Cannot launch AVD in emulator. Output: emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!...
Android Подключение joystick к android Добрый день! Есть цель написать программу подключения джойстика (кнопочный типа как у PS или xbox) usb через otg к андройд устройству. Подскажите с чего начать, есть ли подводные камни? http://www.cyberforum.ru/android-dev/thread1498073.html
Android Как красиво разместить на экране 16 кнопок (4x4)?
мне надо разместить на экране 16 кнопок(4х4 размещение, кнопки квадратные, одинакового размера, с рисунками). подскажите новичку, как лучше это реализовать, а то тупо выставлять в Андроид студии на екранчик елементы- уже задолбался. Скачет и нужный размер с положением выставить нереально. 3на 3 спокойно выставляет, а вот с 4 на 4 не в какую не хочет красиво размещать.
Кто является parent-ом layout? Android
android:layout_width="fill_parent" кого он заполняет?
Android Не удаляется таблица в SQLite http://www.cyberforum.ru/android-dev/thread1497910.html
Первоначально в приложении существует бд с пустой таблицей. Эта база копируется из assets. По ходу выполнения приложения таблица заполняется определенными данными. По выбору пользователя он может очистить эту таблицу. Эту операцию делаю так: db.execSQL("DROP TABLE IF EXISTS "+HISTORY_TABLE;); db.execSQL("CREATE TABLE " + HISTORY_TABLE + " (" + HISTORY_ID + " INTEGER PRIMARY KEY...
Android Тормозит простая анимация в Android приложении Добрый вечер, написал простое приложение в котором имеется 7 кнопок, сделал простую XML анимацию для каждой кнопки что бы при появлении они выезжали. (<translate) Тестировал приложение на HTC ONE S анимация работала плавно и без нареканий, но только стоило открыть приложение на Highscreen Spider так вся анимация стала очень сильно глючить, и одни подергивания, словно GTA 5 запустил, а ведь он... подробнее

Показать сообщение отдельно
zoleg
14 / 14 / 1
Регистрация: 10.01.2012
Сообщений: 105
14.07.2015, 16:39     Could not find class 'javax.naming.directory.InitialDirContext'
Чувствую пятым чудом, что при попытке освоения Java «на живой» практике, не там и не так пытаюсь запустить коннект клиента к жаберу. ООП вводит мозг в конгнитивный диссонанс. с устоявшимися привычками.

Помогите нубу запустить smack на регистрацию.

Что не так и как с этим бороться?
Код компилится, запускается, в работе дает :
Could not find class 'javax.naming.directory.InitialDirContext', referenced from method org.jivesoftware.smack.util.dns.javax.JavaxResolver.<clinit>
VFY: unable to resolve new-instance 7392 (Ljavax/naming/directory/InitialDirContext in Lorg/jivesoftware/smack/util/dns/javax/JavaxResolver;
VFY: replacing opcode 0x22 at 0x000c
Кажется все перерыл ответов очень мало и все мутные.
Что то иностранецы на импортных форумах написал один, мол это потому что процесс идет в ядре smask, второй что это вызывается в другом окружении, но толком не объясняют как с этим бороться, заканчивают на констатацией факта.
Что и на чем: Ubuntu, java 8, Android Studio 1.2.2, Smack 4.0.1

Что я делаю:

1. Из Активити вызываю startActivityForResult
2 получаю в onActivityResult логин, пароль, сервер Все проходит
3. Дергаю setJabberConfig в котором устанавливаю полученные данные как значение глобальных переменных.
4. Из setJabberConfig запускаю ранабл класс в котором нарисован коннект юзающий данные глобальных значений.

Коннект не проходит. Чувствую что наверно нужно дергать с другого конца. Ну типа из листнера какого или сервиса? Но как правильно это сделать не знаю.

Итак, предоставляю быдлокод начиная с шага 3.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    super.onActivityResult(requestCode, resultCode, data);
 
    if (requestCode == TetGlobalData.JAB_LOGIN_ACTIVITY) {
        if (resultCode == RESULT_FIRST_USER) {
            /////////////////Эксперементы////////////////////
            android.util.Log.d("TetMainActivity", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!!  jabserver "  + data.getStringExtra("jabserver")+ " jabuser " + data.getStringExtra("jabuser") + " jabpassword "+data.getStringExtra("jabpassword") +" jabdisp "+data.getStringExtra("jabdisp")+"");
            //////////////////////////////////////////////////
            setJabberConfig tryjabberdlogin = new setJabberConfig(resultCode,data);
           //if (!tryjabberdlogin)
        }
        if (resultCode == RESULT_OK){
        }
        if (resultCode == RESULT_CANCELED) {
            //Write your code if there's no result
            //String jserver = data.getStringExtra("jabserver");
        }
        startService(new Intent(this, ProcessingService.class));
    }
}
Тут ставлю якобы «глобальные переменные».

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
public class setJabberConfig {
 
    //private static final Object JPORT = 5222;
    private String outcoming_message;
    private int RequestCode;
 
    private String jserver;
    private String juser;
    private String jpassw;
    private String jdisp;
    startFirstJaberLoging start;
    public setJabberConfig() {
    }
 
 
    public setJabberConfig(int resultCode, Intent data){
        synchronized (this) {
            RequestCode = resultCode;
            outcoming_message = null;
        }
        if ( resultCode == TetGlobalData.RESULT_FIRST_USER) {
            jserver = data.getStringExtra("jabserver");
            juser = data.getStringExtra("jabuser");
            jpassw = data.getStringExtra("jabpassword");
            jdisp = data.getStringExtra("jabdisp");
        } else {
            //SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getString());
        }
        TetGlobalData.JBS = jserver;
        TetGlobalData.JBU = juser;
        TetGlobalData.JBP = jpassw;
        TetGlobalData.JBC = jdisp;
        /////////////////Эксперементы////////////////////
        android.util.Log.d("setJabberConfig", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!!  jabserver "  +TetGlobalData.JBS+ " jabuser " + TetGlobalData.JBU + " jabpassword "+TetGlobalData.JBP +" jabdisp "+TetGlobalData.JBC+"");
        //////////////////////////////////////////////////
        start = new startFirstJaberLoging();
        start.run();
 
    }
Ну и наконец сам коннект.
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
66
67
68
69
70
71
72
73
74
75
public class startFirstJaberLoging implements Runnable{
 
    AbstractXMPPConnection jConnection;
 
    public void startFirstJaberLoging(){
        new AndroidSmackInitializer().initialize();
        run();
    }
 
 
    public void login(String JABBERSERVER, int JABBERPORT, String JABBERDUSER, String JABBERDPASSWD)
            throws XMPPException {
        XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();
        config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
        config.setUsernameAndPassword(JABBERDUSER + "@" + JABBERSERVER, JABBERDPASSWD);
        config.setServiceName(JABBERSERVER);
        //config.setHost(JABBERSERVER);
        config.setPort(JABBERPORT);
        config.setDebuggerEnabled(true);
        // config.setSocketFactory(SSLSocketFactory.getDefault());
        config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
        config.build();
        AbstractXMPPConnection jConnection = new XMPPTCPConnection(config.build());
        /////////////////Эксперементы////////////////////
        android.util.Log.d("startFirstJaberLoging", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!! Befor.connect " + JABBERSERVER + " jaberport " + JABBERPORT + " ");
        //////////////////////////////////////////////////
 
        try
 
        {
 
            jConnection.connect();
            /////////////////Эксперементы////////////////////
            android.util.Log.d("startFirstJaberLoging", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!!  after mConnection.connect " + JABBERSERVER + " jaberport " + JABBERPORT + " ");
            //////////////////////////////////////////////////
            if (!jConnection.isConnected()) {
                //If not connected
                /////////////////Эксперементы////////////////////
                android.util.Log.d("startFirstJaberLoging", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!! If not connected jabserver " + JABBERSERVER + " jaberport " + JABBERPORT + " ");
                //////////////////////////////////////////////////
            }
            /////////////////Эксперементы////////////////////
            android.util.Log.d("startFirstJaberLoging", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!! If connected OK but befor login jabserver " + JABBERSERVER + " jaberport " + JABBERPORT + " jabuser " + JABBERDUSER + " jabpassword " + JABBERPORT + " ");
            //////////////////////////////////////////////////
            jConnection.login();
            /////////////////Эксперементы////////////////////
            android.util.Log.d("startFirstJaberLoging", "!!!!!!!!!!!!!!!!! DEBUG DELETE AFTER ALL!!! If login OK jabserver " + JABBERSERVER + " jaberport " + JABBERPORT + " jabuser " + JABBERDUSER + " jabpassword " + JABBERPORT + "  ");
            //////////////////////////////////////////////////
        } catch (SmackException | IOException |
                XMPPException e
                )
 
        {
            System.out.println("Exception at SmackCcsClient.init()");
            e.printStackTrace();
        }
    }
 
    public void run() {
        try {
            android.util.Log.d("startFirstJaberLoging","jabber thread try to login");
            login(TetGlobalData.JBS, TetGlobalData.JPORT, TetGlobalData.JBU, TetGlobalData.JBP);
 
//            Thread jabberListenerThread=new Thread(new JabberListenerThread(connection));
//            jabberListenerThread.start();
//            Thread jabberSenderThread=new Thread(new JabberSenderThread(connection));
//            jabberSenderThread.start();
            //Data.tryLogin();
        } catch (XMPPException e) {
            e.printStackTrace();
//          this.stopSelf();
        }
    }
 
}
Добавлено через 23 часа 16 минут
Наконец загнав в депенсес всякую хрень от smack, клещами вытянул более или менее понятную инфу
Warningependency xpp3:xpp3:1.1.4c is ignored for debug as it may be conflicting with the internal version provided by Android.
trouble processing "javax/xml/namespace/QName.class":Ill-advised or mistaken usage of a core class (java.* or javax.*) when not building a core library. This is often due to inadvertently including a core library file in your application's project, when using an IDE (such as Eclipse). If you are sure you're not intentionally defining a core class, then this is the most likely explanation of what's going on.
Теперь просьба на пальцах объяснить кто такой jarjar и чем его запивают.

Ну, в смысле что ему и как скармливать.

Добавлено через 40 минут
Вот сижу и думаю, а не проще вообще грохнуть лишний QName.class ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru