Модераторы: javastic, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Абра кабара после RMS, Преобразование в String не корректное.. 
V
    Опции темы
_LEM_
Дата 11.7.2007, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



Итак вот описание функции которая возвращает строку помещённую в RMS
Код

public String loadSetting ()
    {
        String stAuthReturn = new String();
       try
        {
            rs = RecordStore.openRecordStore("AUTH",true);
        }
        catch(Exception e) {
            System.out.println("Error open record store");
        }
       try {
       stAuthReturn = rs.getRecord(1).toString();
       }
       catch (Exception e)
       {
           System.out.println("RS not found");
       }
        
        try
        {
            rs.closeRecordStore();
        }
        catch (Exception e)
        {
            System.out.println("Error close rs");
        } 
     return stAuthReturn;
    }

Ну и возможно будет интересен метод добавления данных:
Код

 public void saveSetting ()
    {
        try
        {
            rs = RecordStore.openRecordStore("AUTH",true);
        }
        catch(Exception e) {
            System.out.println("Error open record store");
        }
        String stAuth = new String();
        stAuth = tbLogin.getString()+"|-|"+tbPass.getString();
        byte bSave[] = new byte[stAuth.getBytes().length];
        bSave = stAuth.getBytes();
       try
       {
           rs.addRecord(bSave,0,bSave.length);
       }
        catch (Exception e)
        {
            System.out.println("Error save auth");
        }
        try
        {
            rs.closeRecordStore();
        }
        catch (Exception e)
        {
            System.out.println("Error close rs");
        }
    }

Не могу понять в чём причина.
Вроде всё правильно.
PM MAIL   Вверх
javastic
Дата 11.7.2007, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



Ты пишешь по русски и у тебя после считывания кракозябы? Тогда делай так:
так пишем:
Код

recStore = RecordStore.openRecordStore("Address", true );
int recordID = 0;
ByteArrayOutputStream bytstream = new ByteArrayOutputStream();
DataOutputStream writer = new DataOutputStream(bytstream);
        writer.writeUTF("Leo");
        writer.writeUTF("Fernandes");
        writer.writeUTF("1500 Dec Road,UC,CA 94545");
        writer.writeUTF("5107776666");
        writer.flush();
         
        byte[] rec = bytstream.toByteArray();   
        recordID = recStore.addRecord(rec,0,rec.length);
        writer.flush();
        bytstream.reset();
        
        //Second Record
       
        writer.writeUTF("Raj");
        writer.writeUTF("Malhotra");
        writer.writeUTF("1501 Dec Road,UC,CA 94545");
        writer.writeUTF("5107775454");
        writer.flush();
         
        rec = bytstream.toByteArray();   
        recordID = recStore.addRecord(rec,0,rec.length);
        System.out.println("recordID"+recordID);
        writer.close();
        bytstream.close();


так читаем:
Код


ByteArrayInputStream stream;
           DataInputStream reader;
           recStore = RecordStore.openRecordStore("Address", true );
           String fname;
        
           for (int i = 1; i < = recStore.getNumRecords()
                                 || records.size() > 0; i++) {
          byte[] rec = new byte[recStore.getRecordSize(i)];
          rec = recStore.getRecord(i);
          stream = new ByteArrayInputStream(rec);
             reader = new DataInputStream(stream);
             fname = reader.readUTF();
            
             if(fname.equals(data)){
                 
                records.addElement(fname);
             records.addElement(reader.readUTF());
             records.addElement(reader.readUTF());
             records.addElement(reader.readUTF());    
             }
    

Взято с 
http://www.ibm.com/developerworks/ru/edu/w...a/section4.html

вобщем всё надо делать через writeUTF и readUTF
 smile 


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
_LEM_
Дата 11.7.2007, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



В том то и дело, что пишу на латинском..
В один текстбокс вводиться логин (TextField.ANY)
В другой пароль (TextField.PASSWORD)
оба со значением "test" соедененны разделителем "|-|"
но когда вытаскиваю разделителя нет, тока абра кадабра..
Может из за TextField..

вот что именно возвращает ф-ия loadSetting()
[B@d590dbc

Прилагаю весь класс.

Это сообщение отредактировал(а) _LEM_ - 11.7.2007, 12:17

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  wChat.txt 6,95 Kb
PM MAIL   Вверх
Antropoid
Дата 12.7.2007, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 13
Всего: 16



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

P.S. И еще....прочти это для своего же блага (ну и для нашего тоже  smile )
P.P.S И ни какое это [B@d590dbc не Абра кабара, а хэш-код объекта.


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
_LEM_
Дата 12.7.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



Цитата

У тебя в коде миллион ошибок, - разберись с логикой работы программы, а уже потом разберемся с RMS.

Да ладно всего несколько =)
связанные с неопытностью. RTF'ом конечно проще отписаться , но может укажешь хоть на некоторые ошибки?
потому что читая албанский я врят ли пойму что же не так.. ;-)
--
-
PS.: всё кроме этого сохранения работает.

Это сообщение отредактировал(а) _LEM_ - 12.7.2007, 23:58
PM MAIL   Вверх
W0LF
Дата 13.7.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Код

/**
 * RMS manager
 * @version 1.1
 */

public class RMSManager {
    private Hashtable index;
    private RecordStore rs;
    private String storageName;

    public RMSManager(String storageName, boolean createIfNecessary) throws RecordStoreException {
        this.storageName = storageName;
        rs = RecordStore.openRecordStore(storageName, createIfNecessary);
        if (rs.getNextRecordID() == 1) {
            index = new Hashtable();
            byte[] data = packIndex(false);
            rs.addRecord(data, 0, data.length);
        } else {
            byte[] data = rs.getRecord(1);
            unpackIndex(data);
            data = packIndex(true);
            rs.setRecord(1, data, 0, data.length);
        }
    }

    private byte[] packRecord(String name, byte[] data) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {
            DataOutputStream dos = new DataOutputStream(baos);
            dos.writeUTF(name);
            dos.writeInt(data.length);
            dos.write(data, 0, data.length);
            dos.close();
        } catch (IOException ioe) {
            Logger.logError(getClass().getName(),
                    "packRecord(): IOException while access ByteArrayStream");
            throw new RuntimeException("RmsManager: IOException while access ByteArrayStream");
        }
        return baos.toByteArray();
    }

    private byte[] unpackRecord(byte[] data) {
        ByteArrayInputStream bais = new ByteArrayInputStream(data);
        DataInputStream dis = new DataInputStream(bais);
        byte[] ndata;

        try {
            String name = dis.readUTF();
            int datasize = dis.readInt();
            ndata = new byte[datasize];
            dis.readFully(ndata);
            dis.close();
        } catch (IOException ioe) {
            Logger.logError(getClass().getName(),
                    "unpackRecord: IOException while access ByteArrayStream");
            throw new RuntimeException("RmsManager: IOException while access ByteArrayStream");
        }
        return ndata;
    }

    private byte[] packIndex(boolean status) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {
            DataOutputStream dos = new DataOutputStream(baos);
            dos.writeUTF("$index");
            dos.writeInt(0);
            dos.writeBoolean(status);
            Enumeration e = index.keys();
            while (e.hasMoreElements()) {
                String key = (String) e.nextElement();
                Integer value = (Integer) index.get(key);
                dos.writeUTF(key);
                dos.writeInt(value.intValue());
            }
            dos.close();
        } catch (IOException ioe) {
            Logger.logError(getClass().getName(),
                    "packIndex: IOException while access ByteArrayStream");
            throw new RuntimeException("RmsManager: IOException while access ByteArrayStream");
        }
        return baos.toByteArray();
    }

    private void unpackIndex(byte[] data) throws RecordStoreException {
        ByteArrayInputStream bais = new ByteArrayInputStream(data);
        DataInputStream dis = new DataInputStream(bais);
        try {
            String name = dis.readUTF();
            if (!name.equals("$index")) {
                Logger.logError(getClass().getName(),
                    "unpackIndex: index record damaged");
                throw new RecordStoreException("RmsManager: index record damaged");
            }
            int datasize = dis.readInt();
            if (datasize != 0) {
                Logger.logError(getClass().getName(),
                    "unpackIndex: index record damaged");
                throw new RecordStoreException("RmsManager: index record damaged");
            }
            boolean status = dis.readBoolean();
            if (!status) {
                System.out.println("RmsManager was not properly dismounted. Rebuilding index");
                rebuildIndex();
            } else {
                // load stored index
                index = new Hashtable();
                try {
                    while (true) {
                        String key = dis.readUTF();
                        int value = dis.readInt();
                        index.put(key, new Integer(value));
                    }
                } catch (EOFException eof) {
                }
            }
            dis.close();
        } catch (IOException ioe) {
            throw new RuntimeException("RmsManager: IOException while access ByteArrayStream");
        }
    }

    private void rebuildIndex() throws RecordStoreException {
        index = new Hashtable();
        RecordEnumeration re = rs.enumerateRecords(null, null, false);
        while (re.hasNextElement()) {
            int id = re.nextRecordId();
            byte[] data = rs.getRecord(id);
            try {
                ByteArrayInputStream bais = new ByteArrayInputStream(data);
                DataInputStream dis = new DataInputStream(bais);
                String name = dis.readUTF();
                if (name.charAt(0) != '$') {
                    index.put(name, new Integer(id));
                }
                dis.close();
            } catch (IOException ioe) {
                throw new RecordStoreException("RmsManager: invalid storage format");
            }
        }
    }

    /**
     * Sets the data in the given record to that passed in. After this method returns,
     * a call to readNamedRecord(String name)  will return an array of numBytes size containing the
     * data supplied here.
     * This must be atomic operation. if exception is thrown the storage <i>must</i> remain in previous state
     *
     * @param name record name
     * @param data record data
     * @throws RecordStoreException     if internal exception occurs
     * @throws RecordStoreFullException if the operation cannot be completed because
     *                                  the storage has no more free space
     */
    public void writeNamedRecord(String name, byte[] data) throws RecordStoreException,
            RecordStoreFullException {
        data = packRecord(name, data);
        Integer id = (Integer) index.get(name);
        if (id == null) {
            int iid = rs.addRecord(data, 0, data.length);
            index.put(name, new Integer(iid));
        } else {
            rs.setRecord(id.intValue(), data, 0, data.length);
        }
    }

    /**
     * Delete given record.
     * This must be atomic operation. if exception is thrown the storage <i>must</i> remain in previous state
     * @param name   record name
     * @throws RecordStoreException if internal exception occurs
     *  the storage has no more free space
     */
    public void deleteNamedRecord(String name) throws RecordStoreException {
        Integer id = (Integer) index.get(name);
        if(id!=null){
        index.remove(name);
        rs.deleteRecord(id.intValue());
        }

    }

    /**
     * Returns a copy of the data stored in the given record.
     * @param name   record name
     * @throws RecordStoreException if internal exception occurs
     *  the storage has no more free space or if there are no record with this name
     */
    public byte[] readNamedRecord(String name) throws RecordStoreException {
        Integer id = (Integer) index.get(name);
        if (id == null) {
            throw new InvalidRecordIDException("RmsManager: record not found");
        }
        return unpackRecord(rs.getRecord(id.intValue()));
    }

    /**
     * Determine if the record with given name present in storage.
     * @param name   record name
     */
    public boolean hasNamedRecord(String name) {
        return index.get(name) != null;
    }

    /**
     * This method is called when the MIDlet requests to have the storage closed.
     * @throws RecordStoreException if internal exception occurs
     */
    public void flush() throws RecordStoreException {
        try {
            byte[]data = packIndex(true);
            rs.setRecord(1, data, 0, data.length);
        } finally {
            rs.closeRecordStore();
        }
        rs = RecordStore.openRecordStore(storageName, false);
    }

    public void close() throws RecordStoreException {
        try {
            byte[]data = packIndex(true);
            rs.setRecord(1, data, 0, data.length);
        } finally {
            rs.closeRecordStore();
        }
    }
}


Пользуемся так - 
Код

        private static RMSManager openRmsManager() {
          RMSManager rmsManager = null;
          try {
            rmsManager = new RMSManager("myRms", true);
          } catch (RecordStoreException rse) {
            ...
        }
          return rmsManager;
      }

    /**
     * saving login data
     *
     * @param login
     * @param pass
     */
    public static void saveLoginData(String login, String pass,
                                     String network, String networkId) {
        RMSManager rmsManager = openRmsManager();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(baos);
        try {
            dos.writeUTF(login);
            dos.writeUTF(pass);
            dos.writeUTF(network);
            dos.writeUTF(networkId);
        } catch (IOException ioe) {
            ...
            return;
        } finally {
            try {
                dos.close();
                baos.close();
            } catch (IOException ioe2) {
                ...
            }
        }
        try {
            rmsManager.writeNamedRecord(Constants.RMS_RECORD_ACCOUNT, baos.toByteArray());
            rmsManager.close();
        } catch (RecordStoreException rse) {
            ...
            try {
                rmsManager.close();
            } catch (RecordStoreException rse2) {
                ...
            }
        }

    }

public static void deleteLoginData() {
        RMSManager rmsManager = openRmsManager();
        try {
            rmsManager.deleteNamedRecord(Constants.RMS_RECORD_ACCOUNT);
            rmsManager.close();
        } catch (RecordStoreException rse) {
            ...
            try {
                rmsManager.close();
            } catch (RecordStoreException rse2) {
                ...
            }
        }
    } 

public static boolean hasLoginData() {
        RMSManager rmsManager = openRmsManager();
        boolean b = rmsManager.hasNamedRecord(Constants.RMS_RECORD_ACCOUNT);
        try {
            rmsManager.close();
        } catch (RecordStoreException rse) {
            ...
        }
        return b;
    }
/**
     * @return login data
     */
    public static String[] loadLoginData() {
        RMSManager rmsManager = openRmsManager();
        String []account = {"", "", "", ""};
        if (rmsManager.hasNamedRecord(Constants.RMS_RECORD_ACCOUNT)) {
            byte[] accInfo;
            try {
                accInfo = rmsManager.readNamedRecord(Constants.RMS_RECORD_ACCOUNT);
            } catch (RecordStoreException rse) {
                ...
                try {
                    rmsManager.deleteNamedRecord(Constants.RMS_RECORD_ACCOUNT);
                } catch (RecordStoreException rse2) {
                    ...
                }
                return null;
            }
            ByteArrayInputStream bais = new ByteArrayInputStream(accInfo);
            DataInputStream dis = new DataInputStream(bais);
            try {
                account[0] = dis.readUTF();
                account[1] = dis.readUTF();
                account[2] = dis.readUTF();
                account[3] = dis.readUTF();

            } catch (IOException ioe) {
                ...
            } finally {
                try {
                    dis.close();
                    bais.close();
                } catch (IOException ioe2) {
                    ...
                }
            }
        } else {
            account = null;
        }
        try {
            rmsManager.close();
        } catch (RecordStoreException rse) {
            ...
        }
        return account;
    }




--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
_LEM_
Дата 13.7.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



почему на этом форуме всегда так smile
прошу указать на ошибки , дают свой вариант кода..
PM MAIL   Вверх
W0LF
Дата 13.7.2007, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Анализируй код и учись smile
первая ошибка - 
Код

try {
       stAuthReturn = rs.getRecord(1).toString();
}
catch (Exception e)
{
           System.out.println("RS not found");
}

Зачем юзать Exception, когда есть RecordStoreNotFoundException?
Это неправильно, ибо на самом деле может быть три исключения, а ты пишешь что RS not found
Цитата

Код

    RecordStoreException - if a record store-related exception occurred.
    RecordStoreNotFoundException - if the record store could not be found.
    RecordStoreFullException - if the operation cannot be completed because the record store is full.


Извини, времени очень мало.. работой нагрузили...
Сделай просто следуещее - 
Код

String stAuth = "test" + "|-|" + "test";
byte [] bSave = null;
bSave = stAuth.getBytes();
System.out.println("String = "+bSave.toString());
System.out.println("String = "+new String(bSave));

Вот, RMS тут ваааще не при чем.

Добавлено через 6 минут и 57 секунд
Цитата(_LEM_ @  13.7.2007,  14:38 Найти цитируемый пост)
прошу указать на ошибки , дают свой вариант кода.. 

На самом деле нужно еще и читать внимательно что пишут smile :
Цитата

java.lang.Object
 String  toString()
          Returns a string representation of the object.

Как тебе и говорил
Цитата(Antropoid @  12.7.2007,  23:42 Найти цитируемый пост)
P.P.S И ни какое это [B@d590dbc не Абра кабара, а хэш-код объекта. 



Это сообщение отредактировал(а) W0LF - 13.7.2007, 15:46


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
_LEM_
Дата 13.7.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



Цитата(W0LF @  13.7.2007,  15:44 Найти цитируемый пост)
Анализируй код и учись 
первая ошибка - 
    
try {    
       stAuthReturn = rs.getRecord(1).toString();    
}    
catch (Exception e)    
{    
           System.out.println("RS not found");    
}    

Зачем юзать Exception, когда есть RecordStoreNotFoundException?
Это неправильно, ибо на самом деле может быть три исключения, а ты пишешь что RS not found

Ну это же не ошибка smile
По сути это нужно для отладки..
Rs not found - не описание ошибки , а просто указывает мне где именно она происходит.

Про обьект понял, но не знал почему так получаеться.
Я думал .toString(); переводит в строку..
PM MAIL   Вверх
_LEM_
Дата 13.7.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



Вообщем остановился на том 
что .getBytes() и возвращает эту абру - кадабру. До этого со строкой всё ок.
Код

byte bSave[] = null;
        bSave = stAuth.getBytes();

И так:
Код
byte bSave[] = new byte[stAuth.getBytes().lenght];
        bSave = stAuth.getBytes();

тоже самое..
Почему так? .. буквы латинские..

Это сообщение отредактировал(а) _LEM_ - 13.7.2007, 18:37
PM MAIL   Вверх
W0LF
Дата 14.7.2007, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Цитата(_LEM_ @  13.7.2007,  18:33 Найти цитируемый пост)
Вообщем остановился на том 
что .getBytes() и возвращает эту абру - кадабру.

Хреново ты остановился!!!
НЕ надо под bSave выделять память.
Код

bSave = stAuth.getBytes();



Код

String stAuth = "test" + "|-|" + "test";
byte [] bSave = null;
bSave = stAuth.getBytes();
System.out.println("String = "+bSave.toString());
System.out.println("String = "+new String(bSave));

Ты этот код запустил???
если ты вместо своей строки 
Код

stAuthReturn = rs.getRecord(1).toString();

сделаешь
Код

stAuthReturn = new String(rs.getRecord(1));

то у тебя будет все хорошо.. 
Выше я описывал что такое toString() и Antropoid тож тебе писал


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
_LEM_
Дата 14.7.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



Цитата(W0LF @  14.7.2007,  00:37 Найти цитируемый пост)
Хреново ты остановился!!!
НЕ надо под bSave выделять память.

пробовал без выделения писал же ^ smile
С stAuthReturn = new String(rs.getRecord(1)); действительно всё гуд , огромное спасибо!!

Прост запутанный язык, здесь с toString всё ок
login = userdata.elementAt(0).toString();
password = userdata.elementAt(1).toString();
в рекордСтори он возвращает хеш код..
PM MAIL   Вверх
W0LF
Дата 14.7.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


alexander lonsky
***


Профиль
Группа: Участник
Сообщений: 1164
Регистрация: 9.2.2006
Где: Ukraine.Dnepropet rovsk

Репутация: 19
Всего: 20



Цитата(_LEM_ @  14.7.2007,  13:56 Найти цитируемый пост)
login = userdata.elementAt(0).toString();
password = userdata.elementAt(1).toString();

делай так - 
login = (String)userdata.elementAt(0);
password = (String)userdata.elementAt(1);


--------------------
iOS developer
PM MAIL WWW Skype GTalk   Вверх
_LEM_
Дата 14.7.2007, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 14.3.2007

Репутация: нет
Всего: нет



Да вроде и так работает, а с getRecord тоже (String) прокатит?
Код
stAuthReturn = (String)rs.getRecord(1);


PM MAIL   Вверх
Antropoid
Дата 15.7.2007, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 13
Всего: 16



Цитата(_LEM_ @  12.7.2007,  23:54 Найти цитируемый пост)
RTF'ом конечно проще отписаться , но может укажешь хоть на некоторые ошибки?

так сравниваются ссылки на объекты
Код

     if (auth != "")

строки сравниваются так:
Код

if (!auth.equals("")) {


RMS удаляется так:
Код

public void clearSetting () {
try {
    RecordStore.deleteRecordStore("AUTH");
} catch (Exception e) {
    System.out.println("Error clear auth::" + e);
}
}

а ты ее сначала открываешь, потом удаляешь, а она не удаляется, т.к. открыта.

А вот твоя основная ошибка
Код

       stAuthReturn = rs.getRecord(1).toString();

ты считываешь байты, которые превращаются в строку так
Код

stAuthReturn = new String(rs.getRecord(1));



--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.1012 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.