Difference in designing BlackBerry application for Non touch Screen and touch screen -
i have developed blackberry application , running on simulator(9800) want should work non touch device. problem when tested on non touch simulator ie. 9780 2 component missing
please me out. below code login screen.
public class jloginscreen extends myframepageforlogin { public myhttpconnectionclass myhttp=new myhttpconnectionclass(); myparser mypar=new myparser(); private labelfield lblalreadymember,lblnotamember;//cotegories exixtence private labelfield lbllogin,lblpassword,rmtemp1,rmtemp2,rmtemp3,rmtemp4; private customroundbordertextboxfield rblogin; private customroundborderpasswordfield rbpassword; private labelfield linkforgetpwd; private custombuttonfield cbflogin,cbfregisternow; checkboxfield checkremeberme; checkboxfield cbfield; int mcheckboxescount = 5; public static string membername,person_fname,person_lname,address, contactperson,mail,phone,mobile,membertitle,memberid; private gridfieldmanager gfmlogin; private gridfieldmanager gfmtxt; private gridfieldmanager hfmforgetlogin; font fontlistfield; myconnectionclass my_con=new myconnectionclass(); myfont myfont=new myfont(); private int isval=0; public jloginscreen() { lblalreadymember=new labelfield("already member ?") { public void paint(graphics g) { //g.setcolor(0x585858); super.paint(g); } }; lblalreadymember.setfont(myfont.headfont); lblalreadymember.setmargin(10,0,0, 10); //login lbllogin=new labelfield("login",non_focusable) { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; lbllogin.setfont(myfont.boldfont); lbllogin.setmargin(0,0,0,10); lblpassword=new labelfield("password") { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; lblpassword.setfont(myfont.boldfont); linkforgetpwd=new labelfield("forget password?") { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; linkforgetpwd.setpadding(0,0, 0,5); linkforgetpwd.setfont(myfont.contentdata); rblogin=new customroundbordertextboxfield(200,25,3); rblogin.setfont(myfont.contentdata); rbpassword=new customroundborderpasswordfield(200,25,3); rbpassword.setfont(myfont.loginpassword); //rbpassword.setpadding(5,0, 0,2); rmtemp1=new labelfield("") { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; rmtemp2=new labelfield("") { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; rmtemp3=new labelfield("") { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; rmtemp4=new labelfield("") { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; checkremeberme = new checkboxfield("remember me", false) { public void paint(graphics g) { g.setcolor(0x585858); super.paint(g); } }; checkremeberme.setpadding(0,0, 0,10); checkremeberme.setfont(myfont.contentdata); //custombuttonfield login cbflogin=new custombuttonfield(" login ", color.black); cbflogin.setpadding(0,0, 0, 200); cbflogin.setfont(myfont.contentdata); cbflogin.setchangelistener(new fieldchangelistener() { public void fieldchanged(field field, int context) { try { string url="http://www.jewelvicinity.com/pushmobile.aspx?cmdtype=login&email="+rblogin.gettext()+"&pwd="+rbpassword.gettext()+""; string response =myhttpconnectionclass.getpage(url); string isactive =mypar.getwigibarcodeinfo(response,"<memberactive>","</memberactive>",14); membername =mypar.getwigibarcodeinfo(response,"<membername>","</membername>",12); person_fname =mypar.getwigibarcodeinfo(response,"<memberpersonfname>","</memberpersonfname>",19); person_lname =mypar.getwigibarcodeinfo(response,"<memberpersonlname>","</memberpersonlname>",19); membertitle=mypar.getwigibarcodeinfo(response,"<membertitle>","</membertitle>",13); memberid=mypar.getwigibarcodeinfo(response,"<memberid>","</memberid>",10); address =mypar.getwigibarcodeinfo(response,"<memberadd1>","</memberadd1>",12); phone =mypar.getwigibarcodeinfo(response,"<memberphone1>","</memberphone1>",14); mobile =mypar.getwigibarcodeinfo(response,"<membermobile>","</membermobile>",14); mail =mypar.getwigibarcodeinfo(response,"<memberemail>","</memberemail>",13); //boolean isactive=boolean.isactive; //dialog.alert(""+response); //dialog.alert(""+memberid); if(isval==0) { if(isactive.equalsignorecase("true")) { uiapplication.getuiapplication().pushscreen(new jsearchdiamondpage()); rblogin.settext(""); rbpassword.settext(""); setting.setmemberid(memberid); } else { dialog.alert("enter correct user name , password"); rblogin.settext(""); rbpassword.settext(""); rblogin.setfocus(); } } } catch(exception ex) { dialog.alert(""+ex); } } }); hfmforgetlogin =new gridfieldmanager(3,2,1|gridfieldmanager.non_focusable); hfmforgetlogin.setpadding(0, 0, 0, 0); hfmforgetlogin.setcolumnproperty(0, gridfieldmanager.fixed_size, 160); hfmforgetlogin.setcolumnproperty(1, gridfieldmanager.fixed_size, 220); hfmforgetlogin.add(rmtemp1); hfmforgetlogin.add(rmtemp2); hfmforgetlogin.add(checkremeberme,field.non_focusable); hfmforgetlogin.add(linkforgetpwd); hfmforgetlogin.add(rmtemp3); hfmforgetlogin.add(rmtemp4); //hfmforgetlogin.add(cbflogin); //grid field manager gfmlogin=new gridfieldmanager(2,1,1|gridfieldmanager.non_focusable); gfmlogin.setrowproperty(0,gridfieldmanager.fixed_size,30); gfmlogin.setrowproperty(1,gridfieldmanager.fixed_size,10); gfmlogin.setpadding(10,0, 0, 10); gfmlogin.setfont(myfont.contentdata); //gfmlogin.nextfocus(2,1); gfmlogin.add(lbllogin,gridfieldmanager.field_left); gfmlogin.add(lblpassword); gfmtxt=new gridfieldmanager(2,1,1|gridfieldmanager.focusable); gfmtxt.setpadding(10,0, 0, 10); gfmtxt.setfont(myfont.contentdata); //gfmtxt.setfocus(67,97,); gfmtxt.nextfocus(0,0); gfmtxt.add(rblogin,focusable); gfmtxt.add(rbpassword,focusable); horizontalfieldmanager hfm=new horizontalfieldmanager(); hfm.setpadding(0,0,0,0); hfm.add(gfmlogin); hfm.add(gfmtxt); myframepageforlogin.contentarea.add(lblalreadymember); myframepageforlogin.contentarea.add(hfm); myframepageforlogin.contentarea.add(hfmforgetlogin); myframepageforlogin.contentarea.add(cbflogin); /********************************************************/ //adding line image bitmapfield lineimg = new bitmapfield(bitmap.getbitmapresource("line.png"), bitmapfield.left); lineimg.setpadding(20, 30, 10, 10); myframepageforlogin.contentarea.add(lineimg); /**************end of adding line***********************/ lblnotamember=new labelfield("not member ?") { public void paint(graphics g) { //g.setcolor(0x585858); super.paint(g); } }; //lblnotamember.setpadding(display.getheight()/2+100,0,0,10); lblnotamember.setfont(myfont.headfont); lblnotamember.setpadding(10,10,10,10); myframepageforlogin.contentarea.add(lblnotamember);//end /******adding register button**************/ /* buttonfield bf=new buttonfield("hello"); contentarea.add(bf);*/ cbfregisternow=new custombuttonfield(" register now", color.cyan); cbfregisternow.setpadding(5,10,10,200); cbfregisternow.setfont(myfont.contentdata); cbfregisternow.setchangelistener(new fieldchangelistener() { public void fieldchanged(field field, int context) { //dialog.alert("mobile:"+umobile+",created on:"+ucreated_on+",active:"+uactive+",paid"+umember_paid+",appr"+umember_appr); uiapplication.getuiapplication().pushscreen(new jnewregistrationpage()); //uiapplication.getuiapplication().pushscreen(new jvendordetailspage(name1,person,address,phone,mobile,mail)); } }); myframepageforlogin.contentarea.add(cbfregisternow); rblogin.setfocus(); //setfocus(); } protected boolean onsaveprompt() { return true; } } in above code 2 components not displayed on non touch screen
- rblogin
- rbpassword
this custom text fields.
the componenets rblogin , rbpassword see custom made (ref : classname - customroundbordertextboxfield )
the following cause problems facing :
the class customroundbordertextboxfield extending might not available in os 5.0 (9780 comes 2 os versions 5.0 , 6.0 depending on model)
the fields might misplaced due screen sizes remember 9800 360x480 , 9780 small size
one might forgot add screen :)
if problem doesnt solved still, leave comment
thanks dheeraj jami
Comments
Post a Comment