《安卓第一行代码》笔记

时间:2022-03-23 05:32:20
第一章:
1.Minimum Required SDK 是指程序最低兼容的版本。
2.Target SDK (最高版本)是指你在该目标版本上已经做过了充分的测试,
系统不会再帮你在这个版本上做向前兼容的操作了。
3.Compile With是指程序将使用哪个版本的 SDK 进行编译
1.src:src 目录是放置我们所有 Java 代码的地方(主要是放类)
2.gen:主要有一个 R.java 文件和相应的资源 id
3.assets:用得不多,主要可以存放一些随程序打包的文件。
4.bin:用得不多,主要包含了一些在编译时自动产生的文件,展开 bin 目录你会看到 HelloWorld.apk,把这个文件拷到手机上就可以直接安装了。
5.libs:第三方 Jar包。
6.res:项目中用到的资源,图片,文字,布局等等。
7.AndroidManifest.xml:配置文件, 所有四大组件都需要在这
个文件里注册。应用程序添加权限声明,可以重新指定你
创建项目时指定的程序最低兼容版本和目标版本。
8. project.properties:通过一行代码指定了编译程序时所使用的 SDK 版本
三:onCreateOptionsMenu()这个方法是用于创建菜单
文字段也可以给与ID。在这儿定义:res/values/strings.xml
代码中通过 R.string.hello_world获得该字符串的引用
XML 中通过@string/hello_world获得该字符串的引用

第二章:
  1. XML:如果你需要在 XML 中引用一个 id,就使用@id/id_name 这种语法。你需要在 XML 中
定义一个 id,则要使用@+id/id_name。
2. match_parent表示让当前元素和父元素一样宽。 wrap_content,表示当前元素的高度只要能刚好包含里面的内容。
3.setContentView(R.layout.first_layout);加载一个布局。参数是传入一个布局文件的 id。
4.给活动注册:<activity
android:name=".FirstActivity"//活动
android:label="This is FirstActivity" >//标题
</activity>
5. 隐藏标题栏:requestWindowFeature(Window.FEATURE_NO_TITLE);
6. Toast:Toast.makeText(FirstActivity.this, "You clicked Button 1",
Toast.LENGTH_SHORT).show();
7 .获取到在布局文件中定义的元素:Button button1 = (Button)findViewById(R.id.button_1);
findViewById()方法返回的是一个 View 对象.
8. Context: 抽象基类,四个组件都继承于Context,
9.销毁一个活动:finish();
10. View:不太明白
二: Intent
1.使用显示的Intent
2.Intent有多个构造函数的重载(Intent intent = new Intent(FirstActivity.this, SecondActivity.class);)最常用,传入上下文(安卓会进行活动的入栈)
3.隐示调用Intent
(Intent intent = new Intent("com.example.activitytest.ACTION_START");)
<activity android:name=".SecondActivity" >
<intent-filter>
<action android:name="com.example.activitytest.ACTION_START" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
4.使用隐式 Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);//可以打开百度网页 Intent.ACTION_VIEW,这是一个 Android 系统内
置的动作,然后通过 Uri.parse()方法,将一个网址字
符串解析成一个 Uri 对象,再调用 Intent的 setData()方法将这个 Uri 对象传递进去
5.向下一个活动传递数据
String data = "Hello SecondActivity";
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("extra_data", data);
startActivity(intent);

Intent intent = getIntent();
String data = intent.getStringExtra("extra_data");
三:活动的生命周期:
1.活动状态:每个活动在其生命周期中最多可能会有四种状态。
I:运行状态:活动在栈顶
II:暂停状态:当一个活动不再处于栈顶位置,但仍然可见时。此时活动还活着。
III:停止状态:当一个活动不再处于栈顶位置,并且完全不可见的时候,系统
仍然会为这种活动保存相应的状态和成员变量
IV:销毁状态:当一个活动从返回栈中移除后就变成了销毁状态
2.活动的生存期(七个):
I: onCreate():完成活动的初始化操作,比如说加载布
局、绑定事件
II: onStart():这个方法在活动由不可见变为可见的时候调用
III: onResume():这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态.
IV: onPause():这个方法在系统准备去启动或者恢复另一个活动的时候调用我们通常会在这个方法中将一些消耗 CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。
V: onStop():这个方法在活动完全不可见的时候调用。如果启动的新活动是一个对话框式的活动,那么 onPause()方法会得到执行,而 onStop()方法并不会执行。
VI: onDestroy():这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
VII: onRestart():这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。
以上七个方法中除了 onRestart()方法,其他都是两两相对的,从而又可以将活动分为三
种生存期。
《安卓第一行代码》笔记
1. 完整生存期: onCreate()和 onDestroy()之间
2. 可见生存期:onStart()和 onStop()之间
3. 前台生存期: onResume()和 onPause()之间