SQLite не сохраняеться в БД

161
16 ноября 2018, 08:10

столкнулся с проблемой. Данный код выполняется в сервисе, происходит подключение к сокет серверу, если к нам приходит сообщение, оно должно дешифроваться и сохраниться в БД, сообщения приходят но не сохраняются.

  @Override
        public void onMessage(WebSocket webSocket, String text) {
            SharedPreferences prefs = getSharedPreferences("key", MODE_PRIVATE);
            idme = prefs.getString(SAVED_PUB_KEY, "");
            pKey = prefs.getString(SAVED_PRI_KEY, "");
            // webSocket.send(myName);
            if (text.contains("hello" + idme.replaceAll("\\s+", ""))) {
                webSocket.send(idme.replaceAll("\\s+", "") + "imonline");
            }
            if (text.contains("chat")){
                //парсим джисон
                JSONObject jsonObject = null;
                try {
                    jsonObject = new JSONObject(text);
                    JSONArray jsonArray = jsonObject.getJSONArray("chat");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject productObject = jsonArray.getJSONObject(i);
                        k = productObject.getString("to");
                        kk = productObject.getString("me");
                        kkk = productObject.getString("data");
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

if (k.contains(idme.replaceAll("\\s+", ""))){
    try {
        main(null);
    } catch (LoginException e) {
        e.printStackTrace();
    } catch (NoSuchPaddingException e) {
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (InvalidKeyException e) {
        e.printStackTrace();
    } catch (BadPaddingException e) {
        e.printStackTrace();
    } catch (IllegalBlockSizeException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (InvalidKeySpecException e) {
        e.printStackTrace();
    }
}

          }

        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            // база данных подключение
            dbHelper = new DataBase(Fon.this);
            db = dbHelper.getWritableDatabase();
            cv = new ContentValues();
            client = new OkHttpClient();
            request = new Request.Builder().url("ws://178.165.18.248:8081").build();
            Fon.Echo listener = new Fon.Echo();
            ws1 = client.newWebSocket(request, listener);

            return START_STICKY;
        }
        }
        private void main(String[] args) throws LoginException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, UnsupportedEncodingException, InvalidKeySpecException {
            byte[] decodedPrivateKey = Base64.decode(pKey, 0);
            PKCS8EncodedKeySpec X509privbKey = new PKCS8EncodedKeySpec(decodedPrivateKey);
            privKey = KeyFactory.getInstance("RSA").generatePrivate(X509privbKey);
            byte [] decodedMess = Base64.decode(kkk, 0);
            Cipher decript2 = Cipher.getInstance("RSA");
            decript2.init(Cipher.DECRYPT_MODE, privKey);
            byte[] decriptedBytes2 = decript2.doFinal(decodedMess);
            ss = new String(decriptedBytes2, "UTF-8");
    // ss - дешифрованное сообщение, здесь мы сохраняем всю информацию
            cv.put("idme",kk);
            cv.put("idyou",k);
            cv.put("data",ss);
            db.insert("mess",null,cv);
        }

Пробовал создавать пустое приложение в котором выполнялось бы только сохранение строки, данный код работал. Подскажите, в чем может быть проблема?

READ ALSO
Как добавить несколько URL prepared

Как добавить несколько URL prepared

Коллеги, пытаюсь добавить еще одну ссылку на радио с инета, сейчас есть кнопка которая воспроизводит аудио-поток, хочу добавить еще одну кнопку...

139
Как при получении задания печати на принтер издавать звук?

Как при получении задания печати на принтер издавать звук?

Из производственной необходимости возникла идея написать программу, которая издавала бы звук в том случае, если на общий в организации принтер...

134
Как можно оптимизировать эту часть кода?Java,socket

Как можно оптимизировать эту часть кода?Java,socket

Я принимаю изображение и рисую его в окне но с каждым нарисованным изображением памяти жрёт всё больше и большеПри долгой работе вообще отказывает...

148
Flex позиционирование блоков

Flex позиционирование блоков

Народ как с помощью flex расположить блоки помечены красними рамками в таком порядке как на картинке?

163