Nie masz konta? Zarejestruj
Zapomniałeś hasła? Przypomnij
![]() ![]() |
Strona 1 z 1 |
[ Posty: 7 ] |
Dołączył(a): 2010-06-18, 23:11
Online: 57d 23h 13m Posty: 1925 Lokalizacja: Polska? Podziękowań: 230 Podziękował: 12 Model: Wave&WaveM ![]() ![]() ![]() |
Napisane: 2012-05-21, 20:45
Link: Autor: wit Źródło: www.badadev.com/bada-sample-project-simple-greeting/ Tłumaczenie na podstawie Google Translatora, więc z góry przepraszam za błędy. W tym poradniku chodzi o coś więcej niż prostą aplikację Witaj Świecie!. Stworzymy prostą aplikację, która będzie nas pytała o imię i nazwisko, a następnie nas powita. Wygląda to mniej więcej tak: ![]() Po zainstalowaniu SDK/IDE i po ponownym uruchomieniu komputera, zaczynamy w pustym obszarze roboczym IDE ![]() Przejdź do File->New->Bada Application Project, co spowoduje otwarcie kreatora. Wpisujemy nazwę projektu i wybramy aplikację bada jako typ projektu. Kreator utworzy nowy projekt. ![]() ![]() Na razie musimy tylko otworzyć pliki *Nazwa_Projektu*.cpp i *Nazwa_Projektu*.h które posiadają definicje i deklaracje dla projektu. Następnie tworzymy formularz dla aplikacji. W oknie zasobów (lewym dolnym rogu na screenie), kliknij prawym przyciskiem Form->Insert Resource. ![]() Stworzy to pustą formę i otworzy edytor GUI. ![]() Tutaj musimy dodać trzy formy kontrolne: pole wprowadzania, przycisk i etykiety. Zaczynamy od pola tekstowego przez kliknięcie na pole edycji w palecie i przeciągając pole na pusty formularz. ![]() Kliknij dwukrotnie pole edycji, a pojawi się karta właściwości. Następnie wybierz przycisk pola edycji i etykiety pod przyciskiem. W ten sam sposób zmienisz id przycisku "HELLO_BUTTON" i identyfikator etykiety "GREETING_LABEL". Poza tym, we właściwościach przycisku możesz wstawić własny tekst, np. "Say Hello!". ![]() Przejdźmy do nagłówka pliku *Nazwa_Projektu*.h. Najpierw zdefiniuj stałe, które następnie używamy do identyfikacji działania przycisku. Link: using namespace Osp::App; using namespace Osp::Base; using namespace Osp::Graphics; using namespace Osp::Io; using namespace Osp::Locales; using namespace Osp::System; using namespace Osp::Text; using namespace Osp::Ui; using namespace Osp::Ui::Controls; static const int BUTTON_ACTION_GREET = 1; Następnie definiujemy kilka zmiennych, tak byśmy mogli je później wykorzystać w naszym kodzie Link: /** * [SimpleGreeting] application must inherit from Application class * which provides basic features necessary to define an application. */ class SimpleGreeting : public Application, public IActionEventListener { private: Frame *pFrame; Form *pForm; Button *pButton; Label *pLabel; EditField *pField; Deklarujemy funkcję koĂącową, by wykonała zaplanowane działanie Link: /** * Called when the battery level changes. */ void OnBatteryLevelChanged(BatteryLevel batteryLevel); /** * Called on Actions */ virtual void OnActionPerformed(const Osp::Ui::Control& source, int actionId); }; #endif Nagłówek mamy gotowy. Możemy przejść do *Nazwa_Projektu*.cpp. Tutaj musimy wiązać zmienne kontroli zadeklarowane wcześniej, w nagłówku, do rzeczywistych obiektów zaprojektowanych w edytorze GUI + obiekt aplikacji w ramce. Link: bool SimpleGreeting::OnAppInitializing(AppRegistry& appRegistry) { // get the frame of the app pFrame = GetAppFrame()->GetFrame(); // bind pForm to the Form we designed in resources pForm = new Form(); pForm->Construct("IDF_FORM1"); // add the form as child to the app's frame and set it as current pFrame->AddControl(*pForm); pFrame->SetCurrentForm(*pForm); // bind name input field pField = (EditField*)pForm->GetControl("NAME_FIELD", true); pField->SetText("Your name in here!"); // bind label pLabel = (Label*)pForm->GetControl("GREETING_LABEL", true); // bind button, set its action id // and the action listener (this app's class itself) pButton = (Button*)pForm->GetControl("HELLO_BUTTON", true); pButton->SetActionId(BUTTON_ACTION_GREET); pButton->AddActionEventListener(*this); return true; } Link: void SimpleGreeting::OnActionPerformed(const Osp::Ui::Control& source, int actionId) { String greeting = "Hello "; switch (actionId) { case BUTTON_ACTION_GREET: // Set the greeting greeting.Append(pField->GetText()); pLabel->SetText(greeting); // redraw app's frame pFrame->Draw(); pFrame->Show(); break; default: break; } } Link: void SimpleGreeting::OnForeground(void) { // draw and show the app's frame pFrame->Draw(); pFrame->Show(); } To wszystko. Teraz starczy zapisać pliki i zbudować projekt (ctrl+b). ![]() Teraz jesteśmy gotowi do przetestowania tej aplikacji w symulatorze bada. Kliknij prawym przyciskiem myszy project->Run As->Bada Simulator Application. Symulator otworzy naszą aplikację. ![]() |
|||
|
Dołączył(a): 2013-09-11, 18:15
Online: 8m Posty: 1 |
Napisane: 2013-09-11, 18:27
Bardzo dobry tutorial. Dzięki, przyda się --------------------------------------------------- Eurologo skrypty php |
||
|
Dołączył(a): 2011-12-30, 13:02
Online: 27d 45m Posty: 675 Lokalizacja: Gdynia Podziękowań: 195 Podziękował: 77 Model: S8530 Firmware: MIUI 6.2 Operator: orange ![]() ![]() |
Napisane: 2013-09-13, 13:04
Nie wiem czy się zdecyduję ale super sprawa i na pewno ktoś z niego skorzysta. A na razie przesyłam Ci podziękowanie za wkład pracy. _________________ Moje małe hobby. Link: |
|||
|
Dołączył(a): 2010-10-05, 17:56
Online: 149d 13m Posty: 4089 Podziękowań: 1303 Podziękował: 895 Model: ,s3,4,5,htc-820,idol Firmware: Najnowsze Operator: Orange ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Napisane: 2013-09-13, 13:27
Na pewno się znajdą chętni na przetestowanie takiego powitania no i pytania pewnie będą czy da się to wcisnąć w soft, żeby było gotowe po zainstalowaniu softa ![]() _________________ W życiu piękne są tylko chwile. ![]()
Spoiler:
Pokaż
![]() |
|||
|
Dołączył(a): 2011-12-28, 14:06
Online: 79d 6h 43m Posty: 5930 Lokalizacja: Sosnowiec Podziękowań: 1439 Podziękował: 556 Model: Lumka 1520 Firmware: W10M RS2 Operator: T-Mobile ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Napisane: 2013-09-13, 17:00
Troszkę późno te podziękowania lecą - w końcu poradnik siedzi na forum prawie półtora roku ![]() A tak poza tym bardzo dobry poradnik dla kogoś kto zaczyna przygodę z programowaniem. |
|||
|
Dołączył(a): 2011-12-30, 13:02
Online: 27d 45m Posty: 675 Lokalizacja: Gdynia Podziękowań: 195 Podziękował: 77 Model: S8530 Firmware: MIUI 6.2 Operator: orange ![]() ![]() |
Napisane: 2013-09-13, 17:08
No tak jest jak na datę się nie zerknie ![]() _________________ Moje małe hobby. Link: |
|||
|
Dołączył(a): 2010-10-05, 17:56
Online: 149d 13m Posty: 4089 Podziękowań: 1303 Podziękował: 895 Model: ,s3,4,5,htc-820,idol Firmware: Najnowsze Operator: Orange ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Napisane: 2013-09-13, 18:46
Jak widać są tacy co nie czytali albo zapomnieli, że czytali a od podziękowań jeszcze nikt nie umarł ![]() _________________ W życiu piękne są tylko chwile. ![]()
Spoiler:
Pokaż
![]() |
|||
|