安卓开发大致语法简介

第一行代码(记录自己的学习)


本篇,主要简介了安卓开发的大致语法。
也是自己学习的一次记录。
共勉!!!



代码一:AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.gq.myapplication" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <!--寻找到MainActivity这个活动的-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <!--在MainActivity这个活动中定义:为程序进入主活动-->
                <category android:name="android.intent.category.LAUNCHER" />
                <!--声明程序启动时,首先调用改活动-->
            </intent-filter>
        </activity>
        <!--安卓程序中的所有活动必须在AndroidManifest.xml中注册!-->
    </application>

</manifest>



代码二:MainActivity.java

package com.example.gq.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    /*在MainActivity中主动继承了AppCompatActivity 这个类(该类为Activity的子类)
    使向下兼容的Activity,能在各个系统版本中将功能与特性最低兼容到Android2.1系统*/
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /*对savedInstanceState)
        当一个Activity在PAUSE时,被kill之前,它可以调用onSaveInstanceState()
        来保存当前activity的状态信息(在paused状态时,要被KILLED的时候)。
        用来保存状态信息的Bundle会同时传给两个method,即onRestoreInstanceState() and onCreate().*/
        setContentView(R.layout.activity_main);
        /*引入R.layout.activity_main.xml这个布局*/
    }
}



代码三:activity_mian.xml


<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.gq.myapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="good luck!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <!--布局文件相对简单,下次看布局的时候详细记录-->
</android.support.constraint.ConstraintLayout>



代码四:strings.xml


<resources>
    <string name="app_name">My Application</string>
    <!--在strings.xml文件中,可以将程序中所有的字符串从这里进行声明-->
    <!--方便日后程序的翻译(国际化)和校对工作-->
</resources>



代码五:根目录下的build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        /*jcenter是一个代码托管仓库,很多的Android开源项目都会选择将代码托管到
        jcenter,声明了该配置,我们就可以轻松的引用jcenter上的开源项目*/

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        /*这里是声名一个Gradle插件(Gradle插件是对应Java,C++,Android很多种程序开发)
        * 到现在为止Gradle 是依然还是 Android 现在主流的编译工具*/
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}




代码六:app目录下的build.gradle

apply plugin: 'com.android.application'
/*这里也是应用一个插件
* 一般这里有两种值可以选择:com.android.application表示的是一个应用程序模块
* c                         com.android.library表示这是一个库模块
* 应用程序模块与库模块最大的区别在于,一个是可以直接运行的,一个只能作为代码
* 库依赖别的应用程序模块来运行*/
android {                               //Android闭包
    compileSdkVersion 26                                //指定项目的编译版本
    buildToolsVersion "26.0.0"                         //指定项目构建工具的版本
    defaultConfig {                                     //defaultconfig
        applicationId "com.example.gq.myapplication"           //指定项目包名
        minSdkVersion 15                                            //项目最低兼容的Android版本,表示an
        targetSdkVersion 26                                         //表明软件进行过测试,数值越高。表明测试越充分,系统对应提供的权限越多
        versionCode 1                                               //指定项目的版本号
        versionName "1.0"                                           //指定项目的版本名
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        debug{                          //一般用来指定生成测试版本安装文件的配置

        }
        release {                       //指定生成正式版安装文件的配置
            minifyEnabled false                     //是否对代码进行混淆(true表示混淆,false表示不进行混淆)
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            /*proguardFiles表示指定混淆时使用的规则文件(默认的proguard-android.txt文件在Android SDK目录下,
            包含所有项目通用的混淆规则
            proguard-rules.pro在当前目录下,里面可以编写当前项目特有的混淆规则)*/
            //注意的是在Android Studio中直接运行的项目生成的都是测试版的安卓安装文件
        }
    }
}

dependencies {                              //dependencies 闭包   指定项目所有的依赖关系(本地依赖:本地jar包,库依赖:库模块,远程依赖:jcenter)
    compile fileTree(dir: 'libs', include: ['*.jar'])                //本地依赖,将libs目录下的所有.jar结尾的文件都添加到项目的构建路经中
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26.+'              //远程依赖,appcompat-v7:26。+是一个标准的云彩依赖库com.android.support是域名部分
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'                                  //声明测试用例库
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值