motofan logo
Motorola Ситилинк
2 страниц V  1 2 >        
> 

Free Classes, Предлагаю здесь выкладывать Классы и др.

Lenota
сообщение 21.8.2006, 7:26


Интересующийся
**

Группа: Пользователи
Сообщений: 61
Регистрация: 11.8.2006
Из: Могилев, РБ
Пользователь №: 94 683
Модель телефона: Motorola em30
Прошивка: Perfect for EM30

Рейтинг: 15



Предлагаю здесь выкладывать для свободного доступа и копирования рукописные классы/куски кода
которые понадобятся для кого либо
Если вы жадный то можете не выкладывать
Желательно также делать описание что это делает
Код

public class Metods {
   
   /** Creates a new instance of Metods */
   public Metods() {
   }
   
      public static byte[] convertUTFStringToByteArray(String s) {
     if (s ==null) return null;
    char[] ch = s.toCharArray();
    byte[] b = new byte[ch.length*2];
    for (int i=0;i<ch.length;i++){
     byte[] r = convertCharToByteArray(ch[i]);
     b[i*2] = r[0];
     b[i*2+1] = r[1];
    }
    return b;
   }
   
   private static byte[] convertCharToByteArray(char ch){
    byte[] b = new byte[2];
    b[0] = (byte)((ch>>8)&0xff);
    b[1] = (byte)((ch)&0xff);
    return b;
   }
   
   private static char convertByteArrayToChar(byte[]  b,int off){
    char ch;
    int ch1 = (int)b[off]<<8;
    int ch2 = (int)b[off+1];
    ch = (char)(ch1|ch2);
    return ch;
   }
   
    public static String convertByteArrayToUTFString(byte[] b) {
    char[] ch = new char[b.length/2];
    for (int i=0;i<ch.length;i++){
     ch[i] = convertByteArrayToChar(b,i*2);
    }
    return String.valueOf(ch);
   }

}


byte[] Metods.convertUTFStringToByteArray(String s)
String Metods.convertByteArrayToUTFString(byte[] B )

функции для преобразования UTF строк в байтовый массив и обратно (без потерь)

Еще Вращает картинку на 90 градусов по часовой стрелке (MIDP 2.0)
Код

     public static Image rotateImage(Image img){
     if (img==null){
         return null;
     }
     Image data = img;
     int h = data.getHeight();
        int w = data.getWidth();
        int a[] = new int[h*w];
        data.getRGB(a,0,w,0,0,w,h);
        int[] b = new int[h*w];
        for (int i=0;i<a.length;i++){
         int k =   h*(i%w)+(h-1) -i/w;
         b[k] = a[i];
        }
        data = Image.createRGBImage(b,h,w,true);
     return data;
     
     }
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Valleo
сообщение 21.8.2006, 11:21


Гуру
******

Группа: Почетные МотоФаны
Сообщений: 728
Регистрация: 21.10.2005
Из: Находка
Пользователь №: 55 219
Модель телефона: Z3
Прошивка: 0DR

Рейтинг: 692.5



Очень хорошее начинание.
Давно бы уже придумали такую темку, Lenota лови +++ =)
Тема закреплена.
Флуд будет жестоко удаляться.
Никаких вопросов - просто постим исходники классов.

Я хочу предложить вам другой способ разворачивания картинки. Незнаю, возможно он более трудоёмкий исходя из свободной памяти, но работает нормально.
И так вот он:
Код

    public Image MV_RotareImage(Image IM_ToRotare, int Transform){
 Image TempImg = Image.createImage(IM_ToRotare.getWidth(),IM_ToRotare.getHeight());
 Graphics gGraphics = TempImg.getGraphics();
 Sprite sSprite = new Sprite(IM_ToRotare);  
 sSprite.paint(gGraphics);
 IM_ToRotare = Image.createImage(TempImg,0,0,IM_ToRotare.getWidth(),IM_ToRotare.getHeight(),Transform);
 TempImg = null;    
 gGraphics = null;
 sSprite = null;
 return IM_ToRotare;
    }


Использует библиотеки:
javax.microedition.lcdui.Image;
javax.microedition.lcdui.Graphics;
javax.microedition.lcdui.game.Sprite;

Transform - это одно из этих значений:
Sprite.TRANS_ROT90
Sprite.TRANS_ROT180
Sprite.TRANS_ROT270
Sprite.TRANS_ROT360

Так же если вы посмотрите в класс Sprite то увидите, что Transform может принимать значения эффекта отражения и т.п.

Ну и еще один метод копирования файла кусками:
Код

    public static void copyFile(String MV_sFileFrom, String MV_sFileTo, int MV_iStreamLength){
       if(MV_sFileFrom.equals(MV_sFileTo)) return;
       
       FileConnection MV_FMM_ConnectionIn = null;
       FileConnection MV_FMM_ConnectionOut = null;
       DataInputStream MV_FMM_DIS = null;
       DataOutputStream MV_FMM_DOS = null;
       
       try{  
     MV_FMM_ConnectionIn = (FileConnection)Connector.open("file://" + MV_sFileFrom, 1);
     MV_FMM_DIS = MV_FMM_ConnectionIn.openDataInputStream();    
     
     MV_FMM_ConnectionOut = (FileConnection)Connector.open("file://" + MV_sFileTo, 3);
     if(MV_FMM_ConnectionOut.exists()) MV_FMM_ConnectionOut.delete();
     MV_FMM_ConnectionOut.create();      
     MV_FMM_DOS = MV_FMM_ConnectionOut.openDataOutputStream();
 }    
       catch(Exception MV_Exception){return;}    
 
 byte MV_FMM_Bytes[] = null;
 int MV_FMM_BytesReaded = 0;
 int MV_FMM_TotalBytesReaded = 0;
 
 do{
        try{  
         MV_FMM_Bytes = new byte[MV_iStreamLength];
         MV_FMM_BytesReaded = MV_FMM_DIS.read(MV_FMM_Bytes,0,MV_iStreamLength);      
   
   if(MV_FMM_BytesReaded > 0){
       if(MV_FMM_BytesReaded < MV_iStreamLength){
     
     MV_FMM_DIS.close();
     MV_FMM_DIS = MV_FMM_ConnectionIn.openDataInputStream();    
     MV_FMM_DIS.skip(MV_FMM_TotalBytesReaded);
     
     MV_FMM_Bytes = null;
     MV_FMM_Bytes = new byte[MV_FMM_BytesReaded];
           
           MV_FMM_BytesReaded = MV_FMM_DIS.read(MV_FMM_Bytes,0,MV_FMM_BytesReaded);      
     if(MV_FMM_BytesReaded > 0) MV_FMM_DOS.write(MV_FMM_Bytes, 0, MV_FMM_Bytes.length);
       }
       else MV_FMM_DOS.write(MV_FMM_Bytes, 0, MV_FMM_Bytes.length);
       MV_FMM_TotalBytesReaded += MV_FMM_BytesReaded;
   }

         MV_FMM_Bytes = null;
        }
        catch(Exception MV_Exception){return;}    
 }
 while(MV_FMM_BytesReaded > 0);
 
       try{  
     MV_FMM_DIS.close();    
     MV_FMM_DIS = null;        
     MV_FMM_ConnectionIn.close();
     MV_FMM_ConnectionIn = null;
     
     MV_FMM_DOS.close();
     MV_FMM_DOS = null;
     MV_FMM_ConnectionOut.close();
     MV_FMM_ConnectionOut = null;
 }    
       catch(Exception MV_Exception){return;}  
    }


Выдрано из проекта MediaViewer, но я не жадный =)

Использует библиотеки:
java.io.*;
javax.microedition.io.Connector;
javax.microedition.io.file.FileConnection;

MV_sFileFrom - путь к файлу откуда копируем
MV_sFileTo - путь к файлу куда копируем
MV_iStreamLength - размер "куска" в байтах

Я не претендую на уникальность и на универсальность, но эта функция меня не подводила ниразу ;)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Lenota
сообщение 4.9.2006, 13:38


Интересующийся
**

Группа: Пользователи
Сообщений: 61
Регистрация: 11.8.2006
Из: Могилев, РБ
Пользователь №: 94 683
Модель телефона: Motorola em30
Прошивка: Perfect for EM30

Рейтинг: 15



Выкладываю JavaDOCы
Прикрепленный файл JSR_075.RAR   ( 169.11 килобайт ) Кол-во скачиваний: 47

Прикрепленный файл JSR_082.RAR   ( 106.63 килобайт ) Кол-во скачиваний: 590

Прикрепленный файл JSR_118.RAR   ( 539.95 килобайт ) Кол-во скачиваний: 532

Прикрепленный файл JSR_120.RAR   ( 59.6 килобайт ) Кол-во скачиваний: 477

Прикрепленный файл JSR_135.RAR   ( 169.19 килобайт ) Кол-во скачиваний: 586

Прикрепленный файл JSR_139.RAR   ( 479.29 килобайт ) Кол-во скачиваний: 518

Прикрепленный файл JSR_172.RAR   ( 188.99 килобайт ) Кол-во скачиваний: 505

Выдрано с Benqa

Остатки JavaDOC
Прикрепленный файл JSR_184.RAR   ( 183.45 килобайт ) Кол-во скачиваний: 511

Прикрепленный файл JSR_177.RAR   ( 596.28 килобайт ) Кол-во скачиваний: 493

Прикрепленный файл JSR_179.RAR   ( 106.6 килобайт ) Кол-во скачиваний: 482

Прикрепленный файл JSR_238.RAR   ( 54.78 килобайт ) Кол-во скачиваний: 500
Прикрепленный файл JSR_075.RAR   ( 169.11 килобайт ) Кол-во скачиваний: 47
Прикрепленный файл JSR_082.RAR   ( 106.63 килобайт ) Кол-во скачиваний: 590
Прикрепленный файл JSR_118.RAR   ( 539.95 килобайт ) Кол-во скачиваний: 532
Прикрепленный файл JSR_120.RAR   ( 59.6 килобайт ) Кол-во скачиваний: 477
Прикрепленный файл JSR_135.RAR   ( 169.19 килобайт ) Кол-во скачиваний: 586
Прикрепленный файл JSR_139.RAR   ( 479.29 килобайт ) Кол-во скачиваний: 518
Прикрепленный файл JSR_172.RAR   ( 188.99 килобайт ) Кол-во скачиваний: 505
Прикрепленный файл JSR_238.RAR   ( 54.78 килобайт ) Кол-во скачиваний: 500
Прикрепленный файл JSR_184.RAR   ( 183.45 килобайт ) Кол-во скачиваний: 511
Прикрепленный файл JSR_177.RAR   ( 596.28 килобайт ) Кол-во скачиваний: 493
Прикрепленный файл JSR_179.RAR   ( 106.6 килобайт ) Кол-во скачиваний: 482
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Lenota
сообщение 13.9.2006, 9:03


Интересующийся
**

Группа: Пользователи
Сообщений: 61
Регистрация: 11.8.2006
Из: Могилев, РБ
Пользователь №: 94 683
Модель телефона: Motorola em30
Прошивка: Perfect for EM30

Рейтинг: 15



Код который возвращает CRC16 для строки
Код

static public int crc16(String s) {
       int crc = 0xFFFF;
       for (int x = 0; x < s.length(); x++) {
           crc = crc ^ s.getBytes()[x];
           for (int y = 0; y < 8; y++) {
               if ((crc & 0x0001) == 0x0001) {
                   crc = ((crc >> 1) ^ 0xA001);
               } else { crc = crc >> 1; }
           }
       }
       return crc;
   }
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
casus
сообщение 6.10.2006, 4:49


Новичок
*

Группа: Пользователи
Сообщений: 24
Регистрация: 11.2.2006
Пользователь №: 69 928
Модель телефона: v980
Прошивка: R26_U_83.28.38.04.01P

Рейтинг: 0



Никакого флуда -

Классы для доступа к ФС для E1000/V980 от DG-SC, за что ему ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО
Прикрепленный файл op.rar   ( 3.53 килобайт ) Кол-во скачиваний: 371
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
elegorod
сообщение 15.12.2006, 14:08


Новичок
*

Группа: Пользователи
Сообщений: 5
Регистрация: 15.12.2006
Из: Украина
Пользователь №: 111 515
Модель телефона: Motorola E398
Прошивка: Mpx398 Deluxe

Рейтинг: 0



А зачем вообще класс Methods?
Цитата
функции для преобразования UTF строк в байтовый массив и обратно (без потерь)


Так для этого используются стандартные функции
Код
new String(bytes, "UTF_8");
s.getBytes("UTF_8");
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 14.12.2007, 10:37


ЯваМотоКодер
********

Группа: Почетные МотоФаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



пример приложения файловый эксплорер с передачей файлов по БТ. полный исходный код. можно юзать и как готовое приложение файлошвырятель по БТ smile.gif

Сообщение отредактировал grafmoto - 14.12.2007, 10:37
Прикрепленный файл explorer.rar   ( 26.86 килобайт ) Кол-во скачиваний: 400
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 7.1.2008, 10:13


ЯваМотоКодер
********

Группа: Почетные МотоФаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Цитата(4X-Oxygen @ 5.1.2008, 20:59)

У меня не прокатило
*


потому что надо:
new String(bytes, "UTF-8");
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
LamerMan
сообщение 27.6.2010, 10:41


Новичок
*

Группа: Пользователи
Сообщений: 8
Регистрация: 7.3.2008
Пользователь №: 165 829
Модель телефона: k320i
Прошивка: 123123

Рейтинг: 5



Библиотека позволяющая работать с rms как с файловой системой http://code.google.com/p/rmsfs/
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DarK AngeL
сообщение 6.7.2010, 13:46


Ветеран
*****

Группа: Пользователи
Сообщений: 352
Регистрация: 2.2.2008
Из: Уфа
Пользователь №: 162 097
Модель телефона: Nokia E71 & N97 mini

Рейтинг: 155



Цитата(elegorod @ 15.12.2006, 20:08) *

А зачем вообще класс Methods?
Так для этого используются стандартные функции
Код
new String(bytes, "UTF_8");
s.getBytes("UTF_8");


А на Nokia Е71, например, не работает.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Free Classes, Предлагаю здесь выкладывать Классы и др. · Разработка Java приложений. Developing Java-midlets · Forum
 

Motorola Ситилинк
2 страниц V  1 2 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 23.9.2019, 5:21

Форум живёт: