Android SDK/NDK:
ADT:
用于 Eclipse 的 Android 开发工具(ADT)插件,扩展了 Eclipse IDE,支持 Android 应用程序的创建和调试。
AVD (Android Virtual Device):
AVD 是一个模拟器实例,用来模拟真实设备。
Activity:
Activity 是一个包含应用用户界面窗口的组件,一个应用可以有多个 Activity。Activity 是所有程序的核心,具有自己的生命周期,由系统控制,程序无法改变。
Intent:
Intent 是 Android 中的消息通信机制,用于组件之间的通信,实现调用者和被调用者的解耦。
Toast:
Toast 是 Android 中用来显示信息的一种机制,与 Dialog 不同,Toast 没有焦点,显示时间有限,自动消失。
Android 操作系统:
Android 是基于 Linux 的开源手机操作系统。
APK (Android Package):
APK 是 Android 安装包。APK 文件实际上是 zip 格式,但后缀名修改为 APK。通过解压可以看到 .dex 文件,Dex 是 Dalvik VM 执行文件的格式。
Android 四大组件:
常用布局管理器:
Android 应用打包:
Android 应用使用 Java 语言编写,通过 aapt 工具把编译好的代码和资源文件打包成 .apk 文件,该文件是发布和安装应用的媒介。
Android 体系结构:
分为四层:应用层、应用框架层、系统运行层、Linux 内核层。
Dalvik 虚拟机:
每个 Android 应用在自己的进程中运行,拥有独立的 Dalvik 虚拟机实例,执行 .dex 格式文件。虚拟机基于寄存器设计,可以高效运行多个虚拟系统。
Activity 生命周期:
Activity 之间传递数据:
从 Activity 返回数据:
结束 Activity 生命周期:
finish() 方法用来结束 Activity 的生命周期。
利用 Intent 在两个 Activity 之间传递数据:
调用者 Main.java:
javapublic class Main extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Main.this, OtherActivity.class);
intent.putExtra("name", "张三");
intent.putExtra("age", 123);
intent.putExtra("address", "北京");
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
被调用者 OtherActivity.java:
javapublic class OtherActivity extends Activity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
textView = findViewById(R.id.msg);
Intent intent = getIntent();
int age = intent.getIntExtra("age", 0);
String name = intent.getStringExtra("name");
String address = intent.getStringExtra("address");
textView.setText("age -->>" + age + "\nname -->>" + name + "\naddress -->>" + address);
}
}
主 Activity 的布局文件 main.xml:
xml<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="测试 Intent 传递数据" />
被调用者的布局文件 other.xml:
xml<TextView
android:id="@+id/msg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
在 Manifest 中配置 Activity:
xml<activity android:name=".Main" />
<activity android:name=".OtherActivity" />
这是视图的唯一标识符,可以在程序代码中通过该标识符引用对象。引用资源对象时需使用 @
符号,紧随 @
之后的是资源类型(如 id
),然后是资源名称(如 button/msg
)。+
号用于第一次定义资源 ID。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!