Nemuzetese odtrhnout od programovani ani kdyz jste mimo PC? Mate mobil/tablet s Androidem a nejlepe i HW klavesnici. Ja tyto 2, resp. 3 podminky splnuji a proto jsem si do sve Sony Ericsson Xperia Mini Pro nainstaloval aplikaci AIDE (Android IDE), ktera mi splnila sen si programovat i kdyz nemam po ruce PC.
Samozrejme ze na mobilu, zvlaste s 3” obrazovkou to ma jiste omezeni. Paradoxne to ani neni tak ta obrazovka, protoze pismo je dostatecne rozumne nastavene, ze ho vidim perfektne i z dalky a zaroven nezabira moc prostoru na obrazovce.
Celkove se mi na me Xperii vejde na sirku 18 radku kodu, to neni tak spatne, program pracuje pouze v rezimu cele obrazovky takze mene by to bylo pouze kdyby jste si nastavili vetsi pismo a to bude podle me zbytecne, viz ^.
Je to rychlost psani na klavesnici, ale to bude asi pouze muj problem – doufam ze si ten mobil, ktery jsem uz koupil takhle z druhe ruky, neznicim – ted mluvim o klavesnici. Je to totiz velmi prijemna zmena v tom programovani preskakovat mezi desktopovym C# a “Androidovskou” Javou a doufam ze to tak i zustane. Prijemne je to i v tom ze Java je trochu jina nez C# a donuti me jinak premyslet, nejen jet ve zazitych kolejich.
A kdyz to je na mobilu a jeste v tom specifickem Android “jazyku”, tak o to to je jeste lepsi. Na me Xperii jsou kurzorove sipky do vsech smeru, klavesa Shift, klavesa “Alt” ktera prepina co jednotliva klavesa posle za znak na zpracovani a klavesa SYM ktera v jinem programu dovoluje zadat hlavne smajliky ale zde je prekryta a zadava se pomoci ni slozene zavorky ktere nejde zadat nijak jinak na klavesnici. Vsechny ostatni znaky jako jsou zakladni matematicke, nebo zavorky () nebo strednik, tecka, carka se daji zadat normalne z klavesnice coz urychluje praci.
A co ze jsem to vlastne naprogramoval? Neni to nic jednodussiho nez jen 2 tlacitka na ktere se vypise aktualni cas po kliknuti na prave stisknute.
Aplikace v praxi:
Cely zdrojovy kod:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package com.mycompany.myapp; import android.app.*; import android.os.*; import android.view.*; import android.widget.*; import android.content.*; import java.util.Date; import android.util.*; import android.view.ViewGroup.*; public class MainActivity extends Activity implements View.OnClickListener { LinearLayout ll; Context c; Button btn1; Button btn2; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); c = getApplicationContext(); //AttributeSet je abstraktni trida, nelze ji vytvorit nijak //AttributeSet as = new AttributeSet(); //-LinearLayout.LayoutParams take nejde vytvorit nijak protoze nema definovan zadny kontruktor //LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(); btn1 = new Button(c); updateTime(btn1); btn1.setOnClickListener(this); btn2 = new Button(c); updateTime(btn2); btn2.setOnClickListener(this); ll = new LinearLayout(c); ll.addView(btn1, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); ll.addView(btn2, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); setContentView(ll); } public void onClick(View view) { Button btn = (Button)view; updateTime(btn); } void updateTime(Button btn) { btn.setText(new Date().toString()); } } |