Android笔记---- Android 应用程序设计基础

开发Android应用程序()

Android应用结构分析()

Android应用的基本组件介绍

 

 

 

开发Android应用程序()

开发流程总结如下:

1创建工程

   在Eclipse IDE中借助ADT插件创建Android工程框架。

2添加文件资源

     对程序所用到的图片、音频、设置等文件资源进行筹备,并添加到应用程序工程的相关结构中。

3修改或定义XML组件

     用户需要修改ADT插件所定义的XML组件,或者新增XML组件的定义,内容包括:颜色、格式字符串、数组、大小、样式、主题、用户界面等。

4添加Activity

5运行和调试

 

注意:开发Android应用程序首先需要搭建Android开发环境和配置模拟器,网上有很多相关资料,这里略过,如搭建环境遇到问题可以留言一起交流。

 

 

Android应用结构分析()

创建一个HelloAndroid项目,如下:


其中,

1src文件夹:包括了项目的所有包及源文件(.java)。打开其目录下的HelloAndroid.java文件,它就是Android项目的Java文件,程序清单如下:


2gen文件夹:该目录用于保存Android自动生成的的一个R.java文件。 R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改,定义该项目所有资源的索引文件。



3、bin文件夹:用于存放生成的目标文件,如Java的二进制文件、资源打包文件(.ap-)、Dalvik虚拟机的可执行文件(.dex)等。

 

 4、 res文件夹:包含项目中的所有资源,如程序图标(drawable)、布局文件(layout)、常量(values)等。

Android按照约定,将不同的资源放在不同的文件夹内,这样可以方便地让AAPT工具来扫描这些资源,并为它们生成对应的资源清单类:R.java

分析res文件夹中一些常量的定义,如strings.xml,代码清单如下:


strings.xml文件中,定义了两个字符串资源。我们可以在R.java中看到相关的内容,即定义了”app_name”和 “hello”两个常量。分别指向了strings.xml中的两个字符串资源。

 

如何使用所定义的资源,代码如下:

 Resources r=this.getContext().getResources();
 String appname=((String)r.getString(R.string.app_name));
 String hello=((String)r.getString(R.string.hello));

现在来分析一下HelloAndroid项目的布局文件(layout,打开main.xml文件,代码清单如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>

5AndroidManifest.xml:每个Android项目必须有的,它是整个Android应用的全局描述文件。 

 

该文件通常包括如下信息:

       应用程序的包名,该包名将会作为该应用的唯一标识。

       应用程序所包含的组件,如ActivityServiceBroadcastReceiverContentProvider等。

       应用程序兼容的最低版本。

       应用程序使用系统所需的权限声明。

       其他程序访问该程序所需的权限声明。

 

下面是一份简单的AndroidManifest.xml清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.HelloAndroid"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".HelloAndroidActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Android应用的基本组件介绍

     Android应用通常由一个或多个基本组件组成,可能包括ActivityServiceBroadcastReceiverContentProviderIntent等。

 

       Activity:Android应用中负责与用户进行交互的组件,我们称之为”活动”,一个Activity就是一个屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应。 Android应用需要多个用户界面,将会包含多个Activity,多个Activity组成了Activity栈,当前活动的Activity位于栈顶。

 

       Service :它也代表一个单独的Android 组件,ServiceActivity的区别在于: Service通常位于后台运行,它一般不需要与用户交互,因些Service组件没有图形用户界面。同样, Service组件需要继承Service基类。 一个Service被运行起来之后,它将拥有自己独立的生命周期, Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。

 

       BroadcastReceiver:代表广播消息接收器,非常类似于事件编程中的监听器,所监听的事件源是Android应用中的其他组件。

       使用BroadcastReceiver组件接收广播消息,只需实现BroadcastReceiver子类,并重写onReceive(Context context,Intent intent)方法即可。

 

       ContentProvider:提供一种跨应用的数据交换的标准。当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。

 

需要实现如下抽象方法:

        query(Uri, String[], String, String[], String)

       insert(Uri, ContentValues)

       update(Uri, ContentValues, String, String[])

       delete(Uri, String, String[])

 

IntentIntentFilter:它是Android应用内不同组件之间通信的载体。也就是说, ActivityServiceBroadcastReceiver三种组件之间的通信都是以Intent作为载体,只是不同组件使用的Intent的机制略有不同。

 

       显示Intent:明确指定需要启动或触发的组件的类名

       隐式Intent:只是指定需要启动或触发的组件应该满足的条件。

 

Android系统通过IntentFilter来判断被调用组件是否符合隐式Intent





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android开发教程及笔记-完整版.pdf》是一本关于Android开发的教程和笔记的完整版电子书。这本电子书主要介绍了Android开发所需的各种知识和技术,对于想要学习Android开发的人来说是一本非常有价值的资料。 这本电子书包含了Android开发基础知识,如Android系统的介绍、Android开发环境的搭建以及常用开发工具的使用方法。同时,它也详细介绍了Android应用程序的开发流程,包括界面设计、布局管理、事件处理、数据库操作等方面的内容,使读者能够全面掌握Android应用程序的开发技巧。 此外,这本电子书还介绍了一些高级的Android开发技术,如网络编程、多媒体处理、传感器应用等方面的知识。通过学习这些高级技术,读者可以进一步提升自己的Android开发水平,设计出更加优秀和复杂的Android应用程序。 除了知识点的介绍之外,这本电子书还提供了大量的实例和代码,让读者能够通过实践来巩固所学知识。同时,它还给出了一些常见问题的解决方法和开发经验的分享,帮助读者更好地理解和应用所学的知识。 总之,《Android开发教程及笔记-完整版.pdf》是一本非常实用的Android开发学习资料,其全面而详细的内容将帮助读者系统地学习和掌握Android开发的技能,为实际项目的开发提供了很好的指导。无论是初学者还是有一定经验的开发者,都可以从中受益匪浅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值