Android 学习笔记——旋转模拟器方向,全屏,窗口生命周期

本文指导您从下载SDK、安装工具、创建项目开始,逐步掌握Android应用开发的基础知识。包括模拟器使用、全屏设置、窗口Activity生命周期管理,以及解决旋转屏幕时的数据保存问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=x-large][color=blue]1、下载及安装SDK,入门示例[/color][/size]
[size=large]直接到以下页面[color=red]下载一个ADT Bundle[/color],解压即可(前提是装了Java):[/size][url]https://developer.android.com/sdk/index.html[/url]
[size=large][color=red]入门示例[/color],按着官方教程一步步来就好:[/size][url]https://developer.android.com/training/basics/firstapp/creating-project.html[/url]
[size=large]模拟器的[color=red]硬件加速[/color]方法见:[/size][url]http://cherishlc.iteye.com/blog/1754350[/url]
[size=large]开发环境中有[color=red]两个工具[/color]要注意一下:[/size]
[img]http://dl.iteye.com/upload/attachment/0078/3942/802a7636-9547-3fec-90a6-8582fa3b66f0.png[/img]


[size=x-large][color=blue]2、模拟器按键及旋转屏幕[/color][/size]
[size=large]
[list]
[*][color=red]旋转屏幕:[/color] 左边的Ctrl+F11 或者 直接小键盘数字7或者9
[*]Home键: Home
[*]后退 : Esc
[*]Menu : PageUp
[/list][/size]

[size=x-large][color=blue]3、使APP全屏[/color][/size]
[size=large]需要去掉状态栏,以及程序本身的标题栏[/size]
    @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉状态栏

requestWindowFeature(Window.FEATURE_NO_TITLE);//去除标题栏
setContentView(R.layout.activity_b);
}


[size=x-large][color=blue]4、窗口Activity的生命周期[/color][/size]
[size=large]下图来自[color=red]google官方教程[/color]:[/size][url]https://developer.android.com/training/basics/activity-lifecycle/starting.html[/url]

[img]http://dl.iteye.com/upload/attachment/0078/3932/3a19e098-ae2a-3272-8753-6d8748f0827e.png[/img]
[size=large]官方的例子有点问题,自己加入Eclipse工程文件的lifeCycle演示见附件,其中ActiveB改成了全屏的形式。[/size]

[color=red][size=x-large]注意:[/size][/color]
[size=large]1、[color=red]旋转屏幕[/color]时窗口会被destroy再重新create,此过程也需要自己保存数据并重新获取,参见[/size][url]https://developer.android.com/training/basics/activity-lifecycle/recreating.html[/url]
[size=large]2、其中主要是需要[color=red]重载[/color]onSaveInstanceState()方法 (用于存储数据)和 onRestoreInstanceState()方法(用于恢复数据);
3、[color=red]数据的传递[/color]通过Bundle类实现;
4、各种View(如TextView)中的数据[color=red]自动[/color]实现传递,只要该对象有[color=red]独一无二的ID[/color]即可。
5、在 onSaveInstanceState()方法中永远要来一句[color=red]super.[/color]onSaveInstanceState(savedInstanceState);否则自动保存View对象状态失效[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值