Toast

toast 是安卓系统的一种非常棒的提醒方式

首先定义一个弹出Toast的触发点,比如可以是按钮之类

其中 Toast.LENGTH_SHORT是指显示时长 还有一个内置变量为Toast.LENGTH_LONG可以选用。

 Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show();

Menu

首先 在res目录下新建一个menu文件夹 创建一个main.xml 类似于下面的代码

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
android:id="@+id/add_item"
android:title="设置"/>
<item
android:id="@+id/remove_item"
android:title="帮助"/>
</menu> 其中 item是具体的菜单项 id为标识符 title为名称

然后在活动中重写onCreateOptionsMenu()方法 (快捷键 Ctrl+O)

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
inflate 接受俩参数 第一个是资源文件 第二个是添加到哪一个menu对象中 。返回值决定是否能显示!!!
  定义菜单响应事件 重写onOptionsItemSelected()方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.add_item:
Toast.makeText(this, "You Click 设置", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "You Click 帮助", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}

活动的四种启动模式

standard、singleTop、singleTask和singleInstance 这四种

修改方法是在AndroidManifest.xml中给对应活动标签指定android:launchMode即可

standard   是默认的活动启动模式  (补充一点 Android 用返回栈管理活动) 即 不管是够以及在返回栈中存在的或者 启动都会创建该活动的一个实例

singleTop  对应于standard模式 对如果在返回栈中存在的活动就不再创建新的活动实例,直接使用它。(使用它可以很好的解决重复创建栈顶活动的问题哦!!!)

singleTask  可以使得活动在整个应用程序的上下文中只存在一个实例。 在发现并直接使用已存在的实例活动时,会把这个活动之上的所有活动全部出栈!!!

singleInstance  特殊 + 复杂

这个模式下的活动 会启动一个新的返回栈来管理活动 这个模式是为了方便共享活动实例。 如下图解释 方便别的程序访问活动SecondActivity

Base活动类使用方法

通过增写一个活动的公共父类来简化代码

public class BaseActivity extends AppCompatActivity {
private static final String TAG = "BaseActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, getClass().getSimpleName());  
ActivityCollector.addActivity(this);
    //因为活动管理器中用一个LIst进行暂存活动的,所以就可以用addActivity()将当前正在创建的活动添加到活动管理器里
    //然后只需要在onDestroy方法里调用removeActivity()方法即可
} protected void onDestory(){
super.onDestroy();
ActivityCollector.removeActivity(this);    //这样以后想在哪退出程序只需调用ActivityCollector.finishALl()即可
}
}

PS

  在销毁所有活动后可以再加上杀掉当前进程的代码

  android.os.Process.killProcess(android.os.Process.myPid());  

  killProcess()可以杀掉一个进程 接受一个进程id参数, 而且只能用于杀掉当前进程,无法杀掉其他进程。

初学安卓开发随笔之 Menu、toast 用法、活动的四种启动模式 以及 一个方便的Base活动类使用方法的更多相关文章

  1. 安卓基础之Activity的四种启动模式

    Activity的四种启动模式   Activity的启动模式在清单文件中配置: <activity ... activity:lauchMode:"..."; //有四种模 ...

  2. 初学安卓开发随笔之 Intent 用法

    首先,对于安卓开发,目前世界上流行的是使用的是Android studio 2.0 .(hh 学着来呗 书上说用这个,,) 今后就定一个计划 每天更新一个Android 随笔,增强一下自控力吧!!! ...

  3. 安卓开发学习之Menu

    安卓开发中菜单是一个很重要的组件,从安卓开发文档(http://wear.techbrood.com/guide/index.html)中可以看到,安卓UI设计中的Menu主要分为: A.Option ...

  4. 安卓开发30:AsyncTask的用法

    http://blog.csdn.net/initphp/article/details/10392093 安卓开发笔记系列(43)  在开发Android应用时必须遵守单线程模型的原则: Andro ...

  5. Android开发之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  6. 求助帖:android开发初期:为什么我在活动二设置的singInstance模式跑到活动三去了???

    求android开发的高手帮我看看这个问题吧: <activity android:name=".SecondActivity" android:label="Th ...

  7. Java 中 synchronized的用法详解(四种用法)

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 ...

  8. Android开发学习之路--Activity之四种启动模式

    后天终于可以回家了,马上就要过年了,趁着年底打酱油的模式,就多学习学习,然后记录记录吧.关于Activity已经学习了七七八八了,还有就是Activity的四种启动模式了,它们分别为,standard ...

  9. 安卓开发笔记——深入Activity

    在上一篇文章<安卓开发笔记——重识Activity >中,我们了解了Activity生命周期的执行顺序和一些基本的数据保存操作,但如果只知道这些是对于我们的开发需求来说是远远不够的,今天我 ...

随机推荐

  1. zookeeper 应用场景概述

    Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理. 一 .配置管理 在我们的应用中除了代码外,还有一些就是各种配置.比如数据库连接,远程服务访问地址等.一般我们都是 ...

  2. 信号处理——卷积(convolution)的实现

    作者:桂. 时间:2017-03-07  22:33:37 链接:http://www.cnblogs.com/xingshansi/p/6517301.html 前言 信号时域.频域对应关系,及其D ...

  3. Unity3d简单的socket通信

    vs2010或其他创建C#工程 C#端代码一: using System; using System.Collections.Generic; using System.Linq; using Sys ...

  4. Hadoop和MapReduce初识

    我们生活在大数据时代!!!微博.微信.云存储等大数据的需求,Hadoop由此诞生. 以下面部分数据为例: 1)Facebook存储着约100亿张照片,约1PB存储容量: 2)纽约证券交易所每天产生1T ...

  5. Ubuntu安装搜狗拼音和金山快盘

    搜狗拼音和金山快盘是UbuntuKylin中的特色中文应用,通过下述方法在Ubuntu或UbuntuKylin中安装. 一.更新Fcitx 1.由于 Ubuntu 12.04自带的 小企鹅输入法Fci ...

  6. Tomcat 的 catalina.out 日志分割

    一.背景 Tomcat 的 catalina.out 日志量不断增加,占用空间较大,且默认是不滚动的.因此,需要对其进行日志分割,并进行清理. 本文选用 Cronolog 对其进行分割. 二.安装 1 ...

  7. 解决arcgis javascript textsymbol不支持多行文本标注的问题

    首先,下载这段js文件,命名为esri.symbol.MultiLineTextSymbol.js require(["esri/layers/LabelLayer"], func ...

  8. 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)

    除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络. Docker 提供三种 user-defined 网络驱动:bridge ...

  9. easyui框架--基础篇(一)-->数据表格datagrid(php与mysql交互)

      前  言  php  easyui框架--本篇学习主要是 easyui中的datagrid(数据表格)框架. 本篇学习主要通过讲解一段代码加GIF图片学习datagrid(数据表格)中的一些常用属 ...

  10. Mac应用推荐

    知识管理 Outline Curio Together 开发 Clion Vim + spf13 Transmit 辅助应用 Moom PopClip Timing AppClean Markdown ...