Archyvas

Įrašo tag'ai: ‘java’

Howto. Send SMS with JavaME

Gruodis 28th, 2009 Ernestas Kardzys 4 komentarai

Here is our second program with JavaME. As I promised this program sends SMS messages by using your mobile phone && JavaME.

The program looks like that:

The application looks like that

To send the SMS you need to select Menu->Send (ok, it was probably very difficult to guess that :D ).

The code looks like that:

/*
 * File SMSSender.java – the GUI for our application
 */

package info.ernestas.smssender;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;

/**
 * @author Ernestas
 */

public class SMSSender extends MIDlet implements CommandListener {
    //
    private Display display;
    private Form mainForm;

    private Command cmdExit;
    private Command cmdAbout;
    private Command cmdBack;
    private Command cmdSendSMS;

    private TextField tfSMSMessage;
    private TextField tfPhoneNumber;

    //

    public void startApp() {
        display = Display.getDisplay(this);

        cmdExit = new Command("Exit", Command.EXIT, 1);
        cmdSendSMS = new Command("Send", Command.SCREEN, 2);
        cmdBack = new Command("Back", Command.BACK, 1);
        cmdAbout = new Command("About", Command.SCREEN, 3);

        tfPhoneNumber = new TextField("Phone number:", "", 20, TextField.PHONENUMBER);
        tfSMSMessage = new TextField("SMS message:", "", 320, TextField.ANY);

        mainForm = new Form("SMS Sender v.0.1");
        mainForm.addCommand(cmdExit);
        mainForm.addCommand(cmdSendSMS);
        mainForm.addCommand(cmdAbout);
        mainForm.append(tfPhoneNumber);
        mainForm.append(tfSMSMessage);
        mainForm.setCommandListener(this);

        display.setCurrent(mainForm);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
        if (c == cmdExit) {
            destroyApp(true);
            notifyDestroyed();
        }
        else if (c == cmdBack) {
            display.setCurrent(mainForm);
        }
        else if (c == cmdSendSMS) {
            String phoneNumber = tfPhoneNumber.getString().trim();
            String smsMessage = tfSMSMessage.getString().trim();
            if (phoneNumber.length() > 0 && smsMessage.length() > 0) {
                SMSClient client = new SMSClient();
                client.sendSMS(phoneNumber, smsMessage);

                tfPhoneNumber.setString("");
                tfSMSMessage.setString("");
            }
        }
        else if (c == cmdAbout) {
            Alert about = new Alert("About…", "Created by Ernestas Kardzys, ", null, AlertType.INFO);
            about.setTimeout(Alert.FOREVER);
            about.setCommandListener(this);
            about.addCommand(cmdBack);

            display.setCurrent(about);
        }
    }
}
// ————————————————-
/*
 * File SMSClient.java – the class for Sending SMSes
 */

package info.ernestas.smssender;

import javax.microedition.io.Connector;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.MessageListener;
import javax.wireless.messaging.TextMessage;

/**
 *
 * @author Ernestas Kardzys
 */

public class SMSClient implements Runnable, MessageListener {
    private String phoneNumber;
    private String message;

    public void sendSMS(String phoneNumber, String message) {
        this.phoneNumber = phoneNumber;
        this.message = message;
        new Thread(this).start();
    }

    public void run() {
        try {
            String address = "sms://" + this.phoneNumber;
            MessageConnection smsConnection = (MessageConnection) Connector.open(address);

            TextMessage smsMessage = (TextMessage)smsConnection.newMessage(MessageConnection.TEXT_MESSAGE);
            smsMessage.setPayloadText(this.message);
            smsConnection.send(smsMessage);

            smsConnection.close();
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void notifyIncomingMessage(MessageConnection mc) {
        synchronized (this) {
            notify();
        }
    }

}

The program can be found here: http://www.ernestas.info/projects/java/javame/smssender/smssender.zip
Don’t forget: you’re using it at our own risk ;)

Kategorijos:JavaME, Programavimas Raktažodžiai:, , ,

Sony Ericsson SDK && Eclipse && JAVA

Lapkritis 25th, 2009 Ernestas Kardzys Nėra komentarų

I tried to install Sony Ericsson SDK with my Eclipse IDE.

I found awesome tutorial how to do that: http://randomconsultant.blogspot.com/2008/07/creating-j2me-app-with-eclipseme-and.html

Įrašų įterpimas į surikiuotą masyvą

Spalis 21st, 2008 Ernestas Kardzys 4 komentarai

private static void insertEntryIntoArray(int insertationIndex, int entry, int [] array) {
for (int i = array.length – 1; i > insertationIndex; i–)
array[i] = array[i - 1];

array[insertationIndex] = entry;
}

// Kodas….

int [] array = new int[5];
int numberToInsert = 7;
int entriesFilled = 3;
array[0] = 1;
array[1] = 5;
array[2] = 10;

for (int i = 0; i < entriesFilled; i++)
if (array[i] > numberToInsert) {
insertEntryIntoArray(i, numberToInsert, array);
entriesFilled++;
break;
}

Gal kam pravers :)

Gnome Sort

Gruodis 5th, 2007 Ernestas Kardzys 2 komentarai

Wikipedia’oje radau Gnome Sort algoritimą, kuris turėjo tik Python’o kalba parašytą metodą. Tad pridėjau aš ant JAVA tą patį metoduką.

void gnomeSort(int array[]) {
int n = 0;
int temp = 0;
while (n < array.length – 1) {
if (array[n] > array[n + 1]) {
   temp = array[n];
   array[n] = array[n + 1];
   array[n + 1] = temp;
   if (n > 0)
      n–;
   else
      n++;
}
else
    n++;
}

Plačiau apie šį rikiavimo metodą: http://en.wikipedia.org/wiki/Gnome_sort

Kategorijos:Programavimas Raktažodžiai:, , , , , ,

Apie JNLP failus

Lapkritis 25th, 2007 Ernestas Kardzys 2 komentarai

Jeigu Jums kada nors nepasileis JNLP failai (jie paleidžia JAVA programas, esančias internete), pabandykite padaryti taip. Parsisiųskite JNLP failą į savo kompiuterį ir, jei turite javaws programėlę (einu su Java SDK arba Java Runtime Environment – nesu tikras), galėsite programą paleisti:

javaws jusu_jnlp_failas.jnlp

Ekonominės apžvalgos

Atsitiktinai pasiknaisiojęs po Alfa.lt atradau įdomų skyrelį – rinkos analizes. Tad, jei domitės ekonomika, kokiu nors jos sektoriumi ar šiaip neturite ką skaityti – paskaitykite štai čia.

Tik nepamirškite įjungti visokius JavaScript ir pan. – “Adblock Plus” įjungta rodo, kad ten nieko siųstis negalima. Tad teks leisti visokius svetainės “priedus”.

http://www.alfa.lt/bankai_analize?authorTypeId=-1

Kategorijos:Finansai Raktažodžiai:, , , , , ,

Pirmoji Java programa aka Hello World

Kai mokomasi naujos (programavimo) kalbos, visada pirmoji programa būna “Hello World” – teksto išvedimas į ekraną.

Keista, bet maniškė pirmoji Java programa buvo nedidelis serveriukas. Jis nieko naudingo nedaro, bet išbandyti Java kalbos galimybes buvo smagu. Prisijungę galite išbandyti echo, ping ir panašias programėles :) Tiksliau, mano parašytus jų ekivalentus :) Galbūt bus įdomu :)

Viską programavau su Eclipse. Bandyta ant OpenSUSE Linux 10.2 OSS (branduolys – 2.6.18.2-34).

Sveiki atvykę į Java pasaulį ;)

Programą galite parsisiųsti iš http://www.ernestas.info/projects/java/javaserver.zip 

Kategorijos:Projektai Raktažodžiai:, ,