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

145 阅读1分钟

基本结构

  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>