一.

创建Activity的要点:

1.继承Activity类
2.需要重写onCreate方法
3.需要在AndroidManifest.xml注册
4.为Activity添加控件和内容
5.setContentView(R.layout.activity_main);设置布局文件
6.TextView myTextView=(TextView)findViewById(R.id.myTextView);获取控件

二、

Intent
1.Component name
2.Action
3.Data
4.Category
5.Extras
6.Flags

通过Intent跳转Activity

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

  myButton = (Button) findViewById(R.id.myButton);
myButton.setOnClickListener(new MyButtonListener());
}
class MyButtonListener implements OnClickListener {
@Override
public void onClick(View v) {
/*// 1.跳转到本程序的Activity
* Intent intent=new Intent();
* intent.putExtra("key", "DATA");
* intent.setClass(MainActivity.this, OtherActivity.class);
* MainActivity.this.startActivity(intent);
*/
       //2.跳转到外部Activity 如:发送短信
Uri uri = Uri.parse("smsto://0800000123");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms_body", "The SMS text");
startActivity(intent);
}
}

public class OtherActivity extends Activity{

private TextView myTextView=null;

@Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

setContentView(R.layout.other);
  Intent intent=getIntent();//获取Intent
  String value=intent.getStringExtra("key");
  myTextView=(TextView)findViewById(R.id.textView1);
  myTextView.setText(value);
 }
}

 

三、Activity下的菜单

菜单可以在代码中添加,也可以在res.menu.activity.xml文件中添加

@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 1, R.string.exit);//添加菜单
menu.add(0, 2, 2, R.string.about);
getMenuInflater().inflate(R.menu.main, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId();//获取菜单ID
if (id == R.id.action_settings) {
return true;
} else if (id == 1) {
finish();// 关闭程序
} else if (id == 2) {
return true;
}
return super.onOptionsItemSelected(item);
}

4.Activity生命周期

启动第一个Activity

FirstActivity --> onCreate 创建时
FirstActivity --> onStart 当可见时
FirstActivity --> onResume 可获得焦点时
---------------------------

从第一个Activity进入第二个Activity
FirstActivity --> onPause 启动另外的Activity时调用,比如当接电话时把数据保存
SecondActivity --> onCreate
SecondActivity --> onStart
SecondActivity --> onResume
FirstActivity --> onStop 当不可见时
--------------------------

从第二个Activity回到第一个Activity
SecondActivity --> onPause
FirstActivity --> onStart
FirstActivity --> onResume
SecondActivity --> onStop
SecondActivity --> onDestroy 被销毁时,当明确执行finish()时,或被Android销毁

Activity是以栈的形式进入存在的,当调用finish()时,将不能再回到这个Activity,因为已经被销毁了。

5.在注册Activity的xml文件中,可将Activity的样式改成窗口形式

<activity   android:name="com.example.mars_0500_activity04.SecondActivity"
android:label="@string/title_activity_second"
android:theme="@android:style/Theme.Dialog">
</activity>

6.当Activity处于 onPause 、onStop 、onDestroy 时,在android系统资源部足时,将有可能被kill掉。

Android学习笔记01的更多相关文章

  1. 【8-16】Android学习笔记01

    Android目录树 Activity 生命周期 创建一个 Activity 在 android 中创建一个 Activity 要编写一个继承自 android.app.Activity的 Java ...

  2. 零基础Android学习笔记-01 安卓开发环境搭建

    安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...

  3. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  4. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  5. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  6. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  7. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  8. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  9. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

随机推荐

  1. FS拓展设置

    一.集群测试说明: 1.该测试的主要目的是:让两个注册在不同FS Server上的账号彼此双方通话. 2.测试工具:eyeBeam .LinPhone 3.FS架构图: 上图中两台FS的分机状况如下: ...

  2. Unity光照

    广义地说,Unity有2种光源.1.动态光源  2.Backed Lighting 1.动态光源 就是实时计算的.只要摆光源就可以了 2.Backed Lighting 提前处理好光照贴图.贴在物体上 ...

  3. php pdo错误:SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

    原因:在使用execute()执行时没有传对应prepare()设置的参数

  4. Nginx-/etc/sysctl.conf 参数解释

    来自<深入理解Nginx模块开发与架构解析> P9 #表示进程(例如一个worker进程)可能同时打开的最大句柄数,直接限制最大并发连接数 fs. #1代表允许将状态为TIME-WAIT状 ...

  5. SQL存储过程相关信息查看转

    原文地址:http://www.cnblogs.com/minideas/archive/2009/10/29/1591891.html   --1.查看所有存储过程与函数      exec sp_ ...

  6. Oracle的rownum原理和使用

    整理和学习了一下网上高手关于rownum的帖子: 参考资料:  http://tech.ddvip.com/2008-10/122490439383296.html 和 http://tenn.jav ...

  7. Nginx 性能优化

    1.安全优化:隐藏Nginx版本号,server_tokens off; 2.安全优化:更改掉默认的用户  user nginx; 3.性能优化:  根据硬件配置,调整nginx worker 进程数 ...

  8. Phonegap通过JS访问本地接口的两种方法

    Phonegap为跨设备的应用开发提供了一个解决方案.如果某个应用只有js和html,则可以通过Phonegap的在线build工具,编译出多个平台的app安装包.当然通过Phonegap提供的js可 ...

  9. (转载)CentOS6下 源代码方式安装openERP7.0

    CentOS6下 源代码方式安装openERP7.0 安装背景 :CPU32 bit,CentOS 6.4版本,openERP7.0,linux shell为bash,PostgreSQL9.2 1. ...

  10. Neutron分析(6)—— neutron-openvswitch-agent

    neutron-openvswitch-agent代码分析 neutron.plugins.openvswitch.agent.ovs_neutron_agent:main # init ovs fi ...