android studio for android learning (一)

来源:互联网 发布:关于网络安全隐患论文 编辑:程序博客网 时间:2024/06/05 08:44

1. app开发的四大组件Activities,Services,Content providers, Broadcast receivers,后面将详细介绍.

2.1 An Activity 可以简单理解为用户的前端交互界面。

2.2 A services 是运行在后台的组件,如后台的音乐播放,可以和Activity交互,可以通过一个Activity来启动或是关闭services.

2.3 Content providers 主要提供管理App数据,可以将App需要的存储的数据放在文件系统中,在Content providers 允许的范围内可以查询或是修改其中的数据。

2.4 Broadcast receivers 响应系统广播。

3. 上述三种组件(除content provider)的激活是通过一个叫intent的异步信息来完成,组件属于你的APP,这个intent可以看成是一个信使,从组件中来请求一个行为,content provider不是通过intent来激活,it is activated when targeted by a request from a ContentResolver,content resolver控制着content provider所有的转换信息

4.所以

1.You can start an activity (or give it something new to do) by passing an Intent to startActivity() or startActivityForResult() (when you want the activity to return a result).2.You can start a service (or give new instructions to an ongoing service) by passing an Intent to startService(). Or you can bind to the service by passing an Intent to bindService().3.You can initiate a broadcast by passing an Intent to methods like sendBroadcast(), sendOrderedBroadcast(), or sendStickyBroadcast().4You can perform a query to a content provider by calling query() on a ContentResolver.

4.1 如果你想要对各个组件有量更进一步的了解,可以参考下面官方参考Activities 、Services 、BroadcastReceiver 、ContentProviders,这些链接需要你突破天朝的墙,如果不能破想办法或是在下面留言,或许我会告诉你怎么弄。

5. Manifest File 一个重要的文件AndroidManifest.xml,这个文件必须在你APP的root下,你所有的组件都要在这里面声明,

这里写图片描述

5.1 androidmanifest.xml文件内容,这个建立一个简单的helloworld 程序时的文件。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.administrator.helloword">    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

5.2 这个声明文件主要是声明用户权限,APP需要的最小的API level等级,声明所需要的软件和硬件,如是否需要摄像头,蓝牙… and more. 你必须用下面的方式来声明组件,不声明的组件不会显示也不会运行,注意,broadcast receivers 既能按这种方式声明,也能动态的创建。

1. < activity > elements for activities

2. < service > elements for services

3. < receiver > elements for broadcast receivers

4.< provider > elements for content providers


5.3 When you declare an activity in your app’s manifest, you can optionally include intent filters that declare the capabilities of the activity so it can respond to intents from other apps.

5.4 声明APP的要求:

5.4.1 这个是很重要的,这种声明信息指出你开发的APP需要的是什么,大多数的声明系统都不会去读他们但google play 会读,这样方便用户的选择

5.4.2 如果你的app需要摄像机 ,需要在android2.1(API Lelel7)那么你应该这样声明你的manifest文件。

<manifest ... >    <uses-feature android:name="android.hardware.camera.any"                  android:required="true" />    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />    ...</manifest>

如果一个设备没有摄像机或是android版本低于2.1将不能从google play安装这个APP。

0 0
原创粉丝点击