【android】 应用结构分析

简介: 1.AndroidManifest.xml 类似于java程序中的manifest.mf。是一个程序清单。描述了程序的入口以及依赖等。 此文件还描述了程序所需的权限,如拨打电话的权限、使用相机的权限等。 2.Activity activity是程序中负责与用户交互的组件。 2.1常用方法 onCreate(Bundle savedInstanceState) 当第一次创建ac

1.AndroidManifest.xml

类似于java程序中的manifest.mf。是一个程序清单。描述了程序的入口以及依赖等。

此文件还描述了程序所需的权限,如拨打电话的权限、使用相机的权限等。

2.Activity

activity是程序中负责与用户交互的组件。

2.1常用方法

onCreate(Bundle savedInstanceState)

当第一次创建activity时,会回调该方法。一般这么用:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//layout类也是view的子类
    }
}

setContentView(@LayoutRes int layoutResID)
在activity中显示视图。

View android.app.Activity.findViewById(int id)
根据xml中控件的id来获取控件对象。

2.2指定应用启动的默认视图

在manifest中添加<activity>标签,并设置恰当的<intent-filter>子标签,见下;
<activity android:name=".MyActivity"
	android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
	<!--下列的intetn-filter指定了应用启动的默认视图-->
	<intent-filter>
		<action android:name="android.intent.action.MAIN" />
		<category android:name="android.intent.category.LAUNCHER" />
	</intent-filter>
</activity>

3.View

android.view.View

View是所有UI控件(如 按钮,列表框等)的基类,需要放到Activity中使用。

当android系统提供的UI组件不足以满足项目需要时,开发者可以自己写View的子类。

3.1xml布局

推荐使用xml布局文件来定义用户界面,而不是使用java代码来开发界面。布局文件在res/layout/目录下,编译后会得到R.java。

4.Service

Service与activity的地位是并列的。但它运行于后台,不与用户直接交互。

4.事件

移步:http://blog.csdn.net/chuchus/article/details/42464235

5.用户通知

Toast 是一个 View 视图,浮动在屏幕上,给用户一些帮助、提示,它永远不会获得焦点,不影响用户的输入等操作。
Toast 最常见的创建方式是使用静态方法 Toast.makeText,使用方法见下:
// 第一个参数:当前的上下文环境。可用getApplicationContext()或this 
// 第二个参数:要显示的字符串。也可是R.string中字符串ID 
// 第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms 
Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT); 
//显示toast信息 
toast.show(); 


6.常见问答

微笑问:Application,Activity与Context类的区别与联系是什么?

答:Activty是UI界面的抽象,Application是应用程序的抽象。一个Application由若干个Activity组成。一般继承Application主要是做一些初始化以及获取全局Context的引用。

Activity与Application都是Context的子类。

目录
相关文章
|
20天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
|
22天前
|
数据库 Android开发 开发者
构建高效Android应用:Kotlin协程的实践指南
【4月更文挑战第2天】随着移动应用开发的不断进步,开发者们寻求更流畅、高效的用户体验。在Android平台上,Kotlin语言凭借其简洁性和功能性赢得了开发社区的广泛支持。特别是Kotlin协程,作为一种轻量级的并发处理方案,使得异步编程变得更加简单和直观。本文将深入探讨Kotlin协程的核心概念、使用场景以及如何将其应用于Android开发中,以提高应用性能和响应能力。通过实际案例分析,我们将展示协程如何简化复杂任务,优化资源管理,并为最终用户提供更加流畅的体验。
|
22天前
|
开发框架 安全 Android开发
探索安卓系统的新趋势:智能家居应用的蓬勃发展
随着智能家居概念的兴起,安卓系统在智能家居应用领域的应用日益广泛。本文将探讨安卓系统在智能家居应用开发方面的最新趋势和创新,以及其对用户生活的影响。
14 2
|
25天前
|
缓存 监控 Java
构建高效Android应用:从优化用户体验到提升性能
在竞争激烈的移动应用市场中,为用户提供流畅和高效的体验是至关重要的。本文深入探讨了如何通过多种技术手段来优化Android应用的性能,包括UI响应性、内存管理和多线程处理。同时,我们还将讨论如何利用最新的Android框架和工具来诊断和解决性能瓶颈。通过实例分析和最佳实践,读者将能够理解并实施必要的优化策略,以确保他们的应用在保持响应迅速的同时,还能够有效地利用系统资源。
|
25天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
29天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
19 1
|
30天前
|
编解码 算法 Java
构建高效的Android应用:内存优化策略详解
随着智能手机在日常生活和工作中的普及,用户对移动应用的性能要求越来越高。特别是对于Android开发者来说,理解并实践内存优化是提升应用程序性能的关键步骤。本文将深入探讨针对Android平台的内存管理机制,并提供一系列实用的内存优化技巧,以帮助开发者减少内存消耗,避免常见的内存泄漏问题,并确保应用的流畅运行。
|
22天前
|
Java Android开发 开发者
构建高效Android应用:Kotlin协程的实践与优化
在响应式编程范式日益盛行的今天,Kotlin协程作为一种轻量级的线程管理解决方案,为Android开发带来了性能和效率的双重提升。本文旨在探讨Kotlin协程的核心概念、实践方法及其在Android应用中的优化策略,帮助开发者构建更加流畅和高效的应用程序。通过深入分析协程的原理与应用场景,结合实际案例,本文将指导读者如何优雅地解决异步任务处理,避免阻塞UI线程,从而优化用户体验。
|
27天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
在开发高性能的Android应用时,选择合适的编程语言至关重要。近年来,Kotlin因其简洁性和功能性受到开发者的青睐,但其性能是否与传统的Java相比有所不足?本文通过对比分析Kotlin与Java在Android平台上的运行效率,揭示二者在编译速度、运行时性能及资源消耗方面的具体差异,并探讨在实际项目中如何做出最佳选择。
17 4
|
1天前
|
存储 缓存 安全
Android系统 应用存储路径与权限
Android系统 应用存储路径与权限
5 0
Android系统 应用存储路径与权限