智能家居整体程序说明.docx
- 文档编号:30309871
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:61
- 大小:828.91KB
智能家居整体程序说明.docx
《智能家居整体程序说明.docx》由会员分享,可在线阅读,更多相关《智能家居整体程序说明.docx(61页珍藏版)》请在冰豆网上搜索。
智能家居整体程序说明
6.1、项目实施
6.4.1、引导界面
6.4.1、引导界面
运行程序时的过渡界面,程序的界面布局如下图所示:
程序界面布局代码如下:
xmlversion="1.0"encoding="utf-8"?
>
android=" android: layout_width="fill_parent" android: layout_height="fill_parent" android: layout_gravity="center_vertical" android: background="@drawable/splash_bg" android: orientation="vertical" android: paddingBottom="7.0dip" android: paddingLeft="7.0dip" android: paddingRight="7.0dip" android: paddingTop="7.0dip"> 程序代码如下: /** *过渡页面 **/ publicclassSplashActivityextendsBaseActivity{ privateHandlermHandler=newHandler(); protectedfinalintSPLASH_TIME=500; publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); //setFullScreen(); Viewview=View.inflate(this,R.layout.activity_splash,null); setContentView(view); Animationanimation=AnimationUtils.loadAnimation(this,R.anim.alpha); animation.setAnimationListener(newAnimationListener(){ @Override publicvoidonAnimationStart(Animationarg0){} @Override publicvoidonAnimationRepeat(Animationarg0){} @Override publicvoidonAnimationEnd(Animationarg0){ mHandler.postDelayed(newRunnable(){ @Override publicvoidrun(){ goMain(); } },SPLASH_TIME); } }); view.startAnimation(animation); } protectedvoidonResume(){ super.onResume(); } privatevoidgoMain(){ MainApplication.getInstance().addActivity(this); startActivity(newIntent(this,LoginActivity.class)); }; @SuppressWarnings("unused") privatevoidsetFullScreen(){ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); } @SuppressWarnings("unused") privatevoidquitFullScreen(){ finalWindowManager.LayoutParamsattrs=getWindow().getAttributes(); attrs.flags&=(~WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setAttributes(attrs); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); } } 6.4.2、登录界面 实现帐号和密码输入文本框、实现登录按键功能、实现密码记录功能和自动登录功能. 页面布局如下图所示: 当用户输入帐号和密码,点击登录按键时,系统读取账号和密码文本框信息,并把账号和密码信息经网络传输给智能网关,与智能网关中的数据库中的账号和密码数据信息进行比对,如果账号和密码同时存在于智能网关中的数据库中,则允许用户登录系统。 如果账号或密码不正确,则根据返回的标记码的不同,提示“账号不存在”或“密码不正确”。 当用户选中“保存密码”时,系统会把“账号和密码”保存在系统相关的配置文件中,当下次再登录系统时,则不需要再次输入“账号和密码”。 如果用户只选中“自动登录”时,则系统会保存“账号”和“密码”,下次自动登录系统。 程序的界面布局代码如下: xmlversion="1.0"encoding="utf-8"? > android=" android: layout_width="fill_parent" android: layout_height="fill_parent" android: background="@drawable/login_bg"> android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_alignParentTop="true" android: layout_centerHorizontal="true" android: layout_marginTop="100dp" android: orientation="vertical" android: background="@null"> android: layout_width="fill_parent" android: layout_height="fill_parent" android: orientation="vertical" android: paddingLeft="30dp" android: paddingRight="30dp"> android: id="@+id/imageView1" android: layout_width="match_parent" android: layout_height="wrap_content" android: src="@drawable/login_log" android: contentDescription="@string/app_name"/> android: layout_width="fill_parent" android: layout_height="fill_parent" android: orientation="vertical" android: paddingLeft="30dp" android: paddingRight="30dp" android: layout_marginTop="30dp"> android: id="@+id/rl_request_inteval" android: layout_width="match_parent" android: layout_height="wrap_content" android: background="@drawable/selector_corner_round_top" android: orientation="vertical" android: paddingBottom="10dp" android: paddingLeft="25dp" android: paddingTop="10dp"> android: id="@+id/edt_userName" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_alignParentRight="true" android: layout_alignParentTop="true" android: layout_toRightOf="@+id/tv_request_inteval_lable" android: inputType="textPersonName" android: background="@null" android: text="@string/username" android: hint="@string/username"/> android: id="@+id/tv_request_inteval_lable" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_alignBaseline="@+id/edt_userName" android: layout_alignBottom="@+id/edt_userName" android: layout_alignParentLeft="true" android: text="@string/username_lable" android: textColor="@color/gray"/> android: id="@+id/rl_flashlight_set" android: layout_width="match_parent" android: layout_height="wrap_content" android: background="@drawable/selector_corner_round_bottom" android: orientation="vertical" android: paddingBottom="10dp" android: paddingLeft="25dp" android: paddingTop="10dp"> android: id="@+id/edt_password" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_alignParentRight="true" android: layout_alignParentTop="true" android: layout_toRightOf="@+id/tv_flashlight_set_lable" android: inputType="textPassword" android: background="@null" android: ems="10" android: text="@string/password" android: hint="@string/password"/> android: id="@+id/tv_flashlight_set_lable" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_alignBaseline="@+id/edt_password" android: layout_alignBottom="@+id/edt_password" android: layout_alignParentLeft="true" android: text="@string/password_lable" android: textColor="@color/gray"/> android: layout_width="fill_parent" android: layout_height="fill_parent" android: orientation="vertical" android: paddingLeft="30dp" android: paddingRight="30dp" android: layout_marginTop="10dp"> android: layout_width="fill_parent" android: layout_height="fill_parent" android: orientation="horizontal" android: paddingLeft="30dp" android: paddingRight="30dp" android: layout_marginTop="10dp"> android: id="@+id/tv_demo" android: layout_width="wrap_content" android: layout_height="wrap_content" android: checked="true" android: text="@string/demo" android: textColor="#FFFFFF" android: textSize="13sp"/> android: id="@+id/tv_config" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_alignParentRight="true" android: layout_alignParentTop="true" android: text="@string/config" android: textColor="#FFFFFF" android: textSize="13sp"/> 程序代码如下: /** *用户登录 **/ publicclassLoginActivityextendsBaseActivityimplementsOnClickListener{ /** *用户信息处理对象 **/ privateUserDAOmUserDAO; /** *异步登录对象 **/ privateLoginHttpRequestTaskmLoginHttpRequestTask=null; /** *正在登录的对话框 **/ privateProgressDialogmProgressDialog=null; publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); mUserDAO=newUserDAO(this); MainApplication.getInstance().addActivity(this); findViewById(R.id.btn_login).setOnClickListener(this); findViewById(R.id.tv_demo).setOnClickListener(this); findViewById(R.id.tv_config).setOnClickListener(this); } @Override publicvoidonBackPressed(){ //TODOAuto-generatedmethodstub super.onBackPressed(); } @Override publicbooleanonKeyDown(intkeyCode,KeyEventevent){ //TODOAuto-generatedmethodstub if(keyCode==KeyEvent.KEYCODE_BACK) { exitBy2Click(); } returnfalse; } @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub switch(v.getId()){ caseR.id.btn_login: EditTextedt_userName=(EditText)findViewById(R.id.edt_userName); EditTextedt_password=(EditText)findViewById(R.id.edt_password); mLoginHttpRequestTask=newLoginHttpRequestTask(); mLoginHttpRequestTask.execute(edt_userName.getText().toString(), edt_password.getText().toString()); break; caseR.id.tv_demo: break; caseR.id.tv_config: startActivity(newIntent(LoginActivity.this,ConfigActivity.class)); break; } } privatestaticBooleanisExit=false; /** *双击后退按钮退出 **/ privatevoidexitBy2Click(){ TimertExit=null; if(isExit==false){ isExit=true; Toast.makeText(this,getResources().getString(R.string.exit_dialog_message), Toast.LENGTH_SHORT).show(); tExit=newTimer(); tExit.schedule(newTimerTask(){ @Override publicvoidrun(){ isExit=false; } },2000); }else{ MainApplication.getInstance().exit(); } } /** *登录异步操作类 **/ privateclassLoginHttpRequestTaskextendsAsyncTask @Override protectedvoidonPreExecute(){ //TODOAuto-generatedmethodstub super.onPreExecute(); //mProgressDialog=ProgressDialog.show(LoginActivity.this,"登录","正在登录中...",false,true,null); mProgressDialog=ProgressDialog.show(LoginActivity.this, getResources().getString(R.string.login), getResources().getString(R.string.loading), false,true,null); } @Override protectedControlResultJsondoInBackground( String...params){ //TODOAuto-generatedmethodstub if(params! =null&¶ms.length>1){ returnmUserDAO.login(par
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能家居 整体 程序 说明