as安卓开发,程序基本结构介绍

来源:互联网 发布:云计算培训课程 编辑:程序博客网 时间:2024/06/17 04:42

基本结构

  1. res文件夹下,都是xml文件渲染的界面。

    • LinearLayout线性布局标签
    • ImageView图片显示标签
    • RelativeLayout相对布局标签(div,span)
    • TextView文本显示标签
    • EditText文本输入标签
      <?xml version="1.0" encoding="utf-8"?><!--线性布局标签--><!--每一个View必须要定义的两个属性是layout_width和layout_height,这两个属性的值只能在"match_parent"、"wrap_content"、"fill_parent"之间选择一种。--><!--线性布局中wrap_content意味着当前容器下的内容占据了多大,当前容器就多大,match_parent意味着父容器剩下多少空间全部占用--><!--android:background 背景颜色--><!--android:gravity 内容对齐方式--><!--android:orientation 可以指定为两种一种横向horizontal显示,一种纵向显示vertical--><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="@color/dark_blue"    android:gravity="center"    android:orientation="vertical">    <!--layout_marginTop 指定该属性所在控件距上部最近控件的最小值;-->    <!--layout_marginBottom 指定该属性所在控件距下部最近控件的最小值;-->    <!--layout_marginLeft 指定该属性所在控件距左边最近控件的最小值;-->    <!--layout_marginRight 指定该属性所在控件距右边最近控件的最小值。-->    <ImageView        android:padding="40dp"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/logo"/>    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center">        <TextView            android:id="@+id/tv_name"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:padding="10dp"            android:text="账号:"            android:textColor="@color/white"            android:textSize="19sp" />        <EditText            android:id="@+id/et_phone"            android:layout_width="180dp"            android:layout_height="wrap_content"            android:layout_toRightOf="@+id/tv_name"            android:background="@color/white"            android:hint="手机号/注册邮箱"            android:maxLength="30"            android:maxLines="1"            android:text="13200000002"            android:padding="10dp"            android:textColor="@color/black_text"            android:textSize="17sp" />    </RelativeLayout>    <RelativeLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:gravity="center">        <TextView            android:id="@+id/tv_password"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:padding="10dp"            android:text="密码:"            android:textColor="@color/white"            android:textSize="19sp" />        <EditText            android:id="@+id/et_password"            android:layout_width="180dp"            android:layout_height="wrap_content"            android:layout_toRightOf="@+id/tv_password"            android:background="@color/white"            android:hint="请输入密码"            android:padding="10dp"            android:maxLength="20"            android:text="123"            android:maxLines="1"            android:textColor="@color/black_text"            android:textSize="17sp" />    </RelativeLayout>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_marginTop="10dp"        android:gravity="center"        android:orientation="horizontal">        <TextView            android:id="@+id/tv_forget"            android:layout_width="90dp"            android:layout_height="wrap_content"            android:layout_margin="10dp"            android:background="@drawable/shape_while"            android:gravity="center"            android:padding="10dp"            android:text="忘记密码"            android:textColor="@color/white"            android:textSize="17sp" />        <TextView            android:id="@+id/tv_signin"            android:layout_width="90dp"            android:layout_height="wrap_content"            android:layout_margin="10dp"            android:background="@drawable/shape_while"            android:gravity="center"            android:padding="10dp"            android:text="登录"            android:textColor="@color/white"            android:textSize="17sp" />    </LinearLayout></LinearLayout>
  2. java下是我们写的后台执行的java程序和js类似
  3. manifests下有一个xml配置文件,配置了所有的活动与服务,和程序需要的权限

    • 该文件夹下只有一个AndroidManifest.xml,用于指定权限,分配活动
    • uses-permission android:name,该app需要的硬件权限
    • 启动Application时,系统会创建一个PID,即进程ID,所有的Activity都会在此进程上运行。
    • android.intent.action.MAIN:决定应用的入口Activity,也就是我们启动应用时首先显示哪一个Activity。
      android.intent.category.LAUNCHER:表示activity应该被列入系统的启动器(launcher)(允许用户启动它)。Launcher是安卓系统中的桌面启动器,是桌面UI的统称。
    • application是整个APP,service和activity是application的组成部分.

      <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.smarto">    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />    <uses-permission android:name="android.permission.WAKE_LOCK" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <uses-permission android:name="android.permission.FLASHLIGHT" />    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />    <uses-permission android:name="android.permission.VIBRATE" />    <uses-permission android:name="android.permission.CAMERA" />    <uses-feature android:name="android.hardware.camera" />    <uses-feature android:name="android.hardware.camera.autofocus" />    <application        android:name=".SmartoApp"        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity            android:name="com.smarto.ui.activity.SigninActivity"            android:screenOrientation="portrait">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <activity            android:name=".ui.activity.FactoryAllInfoActivity"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.PasswordActivity"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.MainActivity"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.MeasureDataActivity"            android:screenOrientation="portrait" />        <activity            android:name=".zxing.MipcaActivityCapture"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.OnlineTextActivity"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.KBProofreaActivity"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.SetNameActivity"            android:screenOrientation="portrait" />   <activity            android:name=".ui.activity.Set_NameActivity"            android:screenOrientation="portrait" />        <activity            android:name=".ui.activity.AgileMaintainActivity"            android:screenOrientation="portrait" />        <!-- Mqtt Service -->        <service android:name="org.eclipse.paho.android.service.MqttService"></service>    </application></manifest>
原创粉丝点击