




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.1、 项目实施6.4.1、 引导界面6.4.1、 引导界面运行程序时的过渡界面,程序的界面布局如下图所示:程序界面布局代码如下:程序代码如下:/* * 过渡页面 * */public class SplashActivity extends BaseActivityprivate Handler mHandler = new Handler();protected final int SPLASH_TIME = 500; public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); /setFullScreen(); View view=View.inflate(this,R.layout.activity_splash, null);setContentView(view);Animation animation=AnimationUtils.loadAnimation(this, R.anim.alpha);animation.setAnimationListener(new AnimationListener() Overridepublic void onAnimationStart(Animation arg0) Overridepublic void onAnimationRepeat(Animation arg0) Overridepublic void onAnimationEnd(Animation arg0) mHandler.postDelayed(new Runnable() Overridepublic void run() goMain();, SPLASH_TIME);); view.startAnimation(animation); protected void onResume() super.onResume();private void goMain() MainApplication.getInstance().addActivity(this);startActivity(new Intent(this,LoginActivity.class); ;SuppressWarnings(unused)private void setFullScreen() getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);SuppressWarnings(unused)private void quitFullScreen() final WindowManager.LayoutParams attrs = getWindow().getAttributes(); attrs.flags &= (WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setAttributes(attrs); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);6.4.2、 登录界面实现帐号和密码输入文本框、实现登录按键功能、实现密码记录功能和自动登录功能.页面布局如下图所示:当用户输入帐号和密码,点击登录按键时,系统读取账号和密码文本框信息,并把账号和密码信息经网络传输给智能网关, 与智能网关中的数据库中的账号和密码数据信息进行比对,如果账号和密码同时存在于智能网关中的数据库中,则允许用户登录系统。如果账号或密码不正确,则根据返回的标记码的不同,提示“账号不存在”或“密码不正确”。当用户选中“保存密码”时,系统会把“账号和密码”保存在系统相关的配置文件中,当下次再登录系统时,则不需要再次输入“账号和密码”。如果用户只选中“自动登录”时,则系统会保存“账号”和“密码”,下次自动登录系统。程序的界面布局代码如下: 程序代码如下:/* * 用户登录 * */public class LoginActivity extends BaseActivity implements OnClickListener /* * 用户信息处理对象 * */private UserDAO mUserDAO;/* * 异步登录对象 * */private LoginHttpRequestTask mLoginHttpRequestTask=null;/* * 正在登录的对话框 * */private ProgressDialog mProgressDialog=null;public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); mUserDAO=new UserDAO(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); Overridepublic void onBackPressed() / TODO Auto-generated method stubsuper.onBackPressed(); Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) / TODO Auto-generated method stubif(keyCode = KeyEvent.KEYCODE_BACK) exitBy2Click(); return false; Overridepublic void onClick(View v) / TODO Auto-generated method stubswitch(v.getId()case R.id.btn_login:EditText edt_userName=(EditText)findViewById(R.id.edt_userName);EditText edt_password=(EditText)findViewById(R.id.edt_password);mLoginHttpRequestTask=new LoginHttpRequestTask();mLoginHttpRequestTask.execute(edt_userName.getText().toString(),edt_password.getText().toString(); break;case R.id.tv_demo: break;case R.id.tv_config:startActivity(new Intent(LoginActivity.this,ConfigActivity.class);break;private static Boolean isExit = false;/* * 双击后退按钮退出 * */private void exitBy2Click() Timer tExit = null;if (isExit = false) isExit = true; Toast.makeText(this, getResources().getString(R.string.exit_dialog_message), Toast.LENGTH_SHORT).show();tExit = new Timer(); tExit.schedule(new TimerTask() Overridepublic void run() isExit = false; , 2000); else MainApplication.getInstance().exit();/* * 登录异步操作类 * */private class LoginHttpRequestTask extends AsyncTask Overrideprotected void onPreExecute() / TODO Auto-generated method stubsuper.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);Overrideprotected ControlResultJson doInBackground(String. params) / TODO Auto-generated method stubif(params!=null¶ms.length1) return mUserDAO.login(params0, params1);return null; protected void onPostExecute(ControlResultJson result) if(result!=null)if(result.code=0)MainConfig.getInstance(getApplicationContext().setSessionId(result.result.sessionId);MainConfig.getInstance(getApplicationContext().save();startActivity(new Intent(LoginActivity.this,MainActivity.class);else Toast.makeText(getBaseContext(), result.msg, Toast.LENGTH_SHORT).show();elseToast.makeText(getBaseContext(), unknow erro!, Toast.LENGTH_SHORT).show();mProgressDialog.dismiss();6.4.3、 主界面实现“返回”及7个图示功能,页面布局如下图所示:“返回”键的作用返回上一级页面,“情景模式”示图的作用进入到情景模式页面,其他示图功能类似。程序的界面布局代码如下: 程序代码如下:/* * 主界面 * */public class MainActivity extends BaseActivity private TextView titlebar_left;private TextView titlebar_title;public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MainApplication.getInstance().addActivity(this); titlebar_left = (TextView) findViewById(R.id.titlebar_left); titlebar_left.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) onBackPressed(); );titlebar_title = (TextView) findViewById(R.id.titlebar_title); titlebar_title.setText(R.string.app_name); GridView gridView = (GridView) findViewById(R.id.gdv_main); ArrayListHashMap lstImageItem = new ArrayListHashMap(); HashMap map = new HashMap(); map.put(ItemImage, R.drawable.icon_model);map.put(ItemText, getResources().getString(R.string.title_models); lstImageItem.add(map); map = new HashMap(); map.put(ItemImage, R.drawable.icon_room);map.put(ItemText, getResources().getString(R.string.title_myroom); lstImageItem.add(map); map = new HashMap(); map.put(ItemImage, R.drawable.icon_electric);map.put(ItemText, getResources().getString(R.string.title_myfunction); lstImageItem.add(map);map = new HashMap(); map.put(ItemImage, R.drawable.icon_camera);map.put(ItemText, getResources().getString(R.string.title_camera_monitor); lstImageItem.add(map); map = new HashMap(); map.put(ItemImage, R.drawable.icon_setting);map.put(ItemText, getResources().getString(R.string.title_timingtask); lstImageItem.add(map); map = new HashMap(); map.put(ItemImage, R.drawable.icon_setting);map.put(ItemText, getResources().getString(R.string.title_alarmrecord); lstImageItem.add(map); map = new HashMap(); map.put(ItemImage, R.drawable.icon_setting);map.put(ItemText, getResources().getString(R.string.title_setting); lstImageItem.add(map); map = new HashMap(); map.put(ItemImage, R.drawable.icon_add);map.put(ItemText, getResources().getString(R.string.title_reserved); lstImageItem.add(map); SimpleAdapter saImageItems = new SimpleAdapter(this, lstImageItem, R.layout.view_squared_item, new String ItemImage,ItemText, new int R.id.itemImage,R.id.itemText); gridView.setAdapter(saImageItems); gridView.setOnItemClickListener(new OnItemClickListener() Overridepublic void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) / TODO Auto-generated method stubswitch(arg2)case 0:startActivity(new Intent(MainActivity.this,ModelListActivity.class);break;case 1:startActivity(new Intent(MainActivity.this,RoomListActivity.class);break;case 2:startActivity(new Intent(MainActivity.this,FunctionListActivity.class);break;case 3:startActivity(new Intent(MainActivity.this,VideoActivity.class);break;case 4:startActivity(new Intent(MainActivity.this,TimingTaskActivity.class);break;case 5:startActivity(new Intent(MainActivity.this,AlarmRecordActivity.class);break;case 6:startActivity(new Intent(MainActivity.this,ConfigActivity.class);break; ); gridView.setSelector(new ColorDrawable(Color.TRANSPARENT); Overridepublic boolean onKeyDown(int keyCode, KeyEvent even
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小额贷款监督管理暂行办法
- 工程施工廉洁管理办法
- 廉洁从业工作管理办法
- 工行保证业务管理办法
- 巨额现金现场管理办法
- 2025年度高二政治下学期期末模拟试卷及答案(十)
- 大健康产业招商课件
- 复学线上家长会课件
- 奥尔柏林的幼儿教育理论
- 医院护理组长岗位竞聘
- 脑卒中的饮食护理课件
- 2025年多重耐药菌培训知识试题及答案
- 2025至2030中国航空球轴承行业项目调研及市场前景预测评估报告
- 2025年湖北省中考语文试卷真题(含标准答案及解析)
- 2025至2030中国牙科氧化锆块行业发展趋势分析与未来投资战略咨询研究报告
- 2025年成都市中考语文试题卷(含标准答案及解析)
- 2025至2030中国松茸行业市场发展分析及发展前景与投资报告
- MZ调制器完整版本
- 2024版肺结核治疗指南
- 空压机改造合同协议
- 2025公安局招聘辅警考试笔试题及答案
评论
0/150
提交评论