Android学习笔记01
一.
创建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的更多相关文章
- 【8-16】Android学习笔记01
Android目录树 Activity 生命周期 创建一个 Activity 在 android 中创建一个 Activity 要编写一个继承自 android.app.Activity的 Java ...
- 零基础Android学习笔记-01 安卓开发环境搭建
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- android学习笔记36——使用原始XML文件
XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- udacity android 学习笔记: lesson 4 part b
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
随机推荐
- css animation让图标不断旋转
@keyframes rotating{from{transform:rotate(0)}to{transform:rotate(360deg)}} animation:rotating 1.2s l ...
- VC++多线程编程
一.问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX ...
- orzdba的安装与使用
参考:http://code.taobao.org/p/orzdba/src/ http://code.taobao.org/p/myrelay/wiki/index/ http://www.taob ...
- axure 母版 模板
axure的模板区域是非常重要的一个功能,网站的头部.尾部部分等很多页面同时用到的内容,都可以使用母版,因为在母版中只需要修改一次,就可以实现所有的页面更新,可以大大的加速原型的制作速度.需要重复理解 ...
- 【转】Android Drawable Resource学习(十一)、RotateDrawable
对另一个drawable资源,基于当前的level,进行旋转的drawable. 文件位置: res/drawable/filename.xml文件名即资源名 编译数据类型: 指向 RotateDra ...
- Zookeeper工作原理二
ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂易出错的关键服务 ...
- (委托事件处理)关于多线程执行显示进度条的实例(转)&&线程间操作无效: 从不是创建控件“rtxtEntryNO”的线程访问它。
关于多线程执行显示进度条的实例! 之前回答了一篇关于怎么在线程中操作进度条的帖子,估计有人看的不是很明白今天没事,写了一个小小的实例,很简单,就2个文件权当抛砖引玉,希望有更好解决方案的人发表一下意见 ...
- 关闭Outlook时最小化
公司用的是阿里邮箱,foxmail客户端总是把已读邮件又标记成未读,又赶上最近招聘,真是深受其烦.已经无法忍受了,决定换了它,重新用起最强客户端outlook. Outlook解决了foxmail的问 ...
- mysql.server 文件修改起动多实例
如果你用mysql.server来启动的话,就要注意一下点,要修改一下里面的内容,修改如下:大约218行左右 查看复制打印? then print_defaults="$bindir/mys ...
- [转]Hibernate重要规则总结
实体类的编写规则 l 实体类必须具备无参构造方法 l 实体类必须具备数据库标识 l 通常选用无业务意义的逻辑主键作为数据库标识,通常是int/long/Str ...