Android个人笔记 - Google Android揭秘_第三章:用户界面
2015-06-03 11:22
351 查看
Android概念:活动(Activity),视图(View),资源(Resource)
Android不允许任何应用程序从用户或者其他应用程序获得对设备的控制,而是使用明确定义的生命周期根据需要来管理进程。
3.1 创建活动
android.app.Activity功能:为应用程序提供上下文;使用Android生命周期的方法;为框架提供一个钩子,以启动和运行你的应用程序;并且提供一个可放置View元素的容器。当包括必要的视图的Activity启动以后,该Activity的生命周期接管其进程并调用onCreat()方法,该方法是Activity类提供一系列重要的生命周期方法之一。
cuisine:选择列表组件,Android称之为:Spinner - private Spinner cuisine;
使用startActivity还是startActivityForResult不同之处在于:相同之处都是将程序控制权交给另一个Activity,第二个不同是:当被调用的Activity结束后该方法向当前Activity返回一个值。
3.12 探讨活动的生命周期
Android不允许任何应用程序从用户或者其他应用程序获得对设备的控制,而是使用明确定义的生命周期根据需要来管理进程。
3.1 创建活动
android.app.Activity功能:为应用程序提供上下文;使用Android生命周期的方法;为框架提供一个钩子,以启动和运行你的应用程序;并且提供一个可放置View元素的容器。当包括必要的视图的Activity启动以后,该Activity的生命周期接管其进程并调用onCreat()方法,该方法是Activity类提供一系列重要的生命周期方法之一。
cuisine:选择列表组件,Android称之为:Spinner - private Spinner cuisine;
@Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(0, ReviewCriteria.MENU_GET_REVIEWS, 0, R.string.menu_get_reviews).setIcon( android.R.drawable.ic_menu_more); return true; } //创建菜单项,屏幕下面的菜单
@Override public boolean onMenuItemSelected(int featureId, MenuItem item) { switch (item.getItemId()) { case MENU_GET_REVIEWS: handleGetReviews(); return true; } return super.onMenuItemSelected(featureId, item); } //当菜单项被选中时作出响应
private void handleGetReviews() { if (!validate()) { return; } // use the "Application" to store global state (can go beyond primitives and Strings - // beyond extras - if needed) 使用Application对象存储状态,活动之间传递全局变量 RestaurantFinderApplication application = (RestaurantFinderApplication) getApplication(); application.setReviewCriteriaCuisine(this.cuisine.getSelectedItem().toString()); application.setReviewCriteriaLocation(this.location.getText().toString()); // call next Activity, VIEW_LIST Intent intent = new Intent(Constants.INTENT_ACTION_VIEW_LIST); startActivity(intent);//启动活动,调用下一个屏幕 }
使用startActivity还是startActivityForResult不同之处在于:相同之处都是将程序控制权交给另一个Activity,第二个不同是:当被调用的Activity结束后该方法向当前Activity返回一个值。
// validate form fields private boolean validate() { boolean valid = true; StringBuilder validationText = new StringBuilder(); if ((this.location.getText() == null) || this.location.getText().toString().equals("")) { validationText.append(getResources().getString(R.string.location_not_supplied_message)); valid = false; } if (!valid) {//Builder模式,下面的this使用,因为每个方法(AlertDialog)都会返回一个自身的引用(this),这样可以嵌套方法调用 new AlertDialog.Builder(this).setTitle(getResources().getString(R.string.alert_label)).setMessage( validationText.toString()).setPositiveButton("Continue", new android.content.DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int arg1) { // in this case, don't need to do anything other than close alert } }).show(); validationText = null; } return valid; }
3.12 探讨活动的生命周期
相关文章推荐
- 一分钟了解Android屏幕 ldpi mdpi hdpi xhdpi
- Android开发之EditText属性详解
- Android Studio添加第三方库
- Android Data Binder 的一个bug
- 判断Android 系统是MIUI 的,魅族的Flyme(转,做笔记)
- Android进程与线程基本知识
- 【Android 一般进阶】动态广播注册注销时机
- Android进步之路九:Handler出现的原因,特点以及实例
- Android 圆形ImageView
- Android Fragment制作Tab
- android应用程序如何调用支付宝接口
- 使用Android简单实现有道电子词典
- 使用Android简单实现有道电子词典
- Mac OS下Android Studio 新安装或者更新版本之后不能启动问题解决
- Android支付-银联支付
- Android,LIstView中的OnItemClick点击无效的解决办法
- android应用程序如何调用支付宝接口
- phonegap5.0+android studio本地打包应用
- 【翻译】Android DEX安全攻防战
- jni开发中打印log信息