美文网首页
无标题文章

无标题文章

作者: 别闹八戒 | 来源:发表于2020-09-09 14:57 被阅读0次

    # unit1

    ## 1.安卓版本 

    最新数据访问[维基百科](https://zh.wikipedia.org/wiki/Android%E7%89%88%E6%9C%AC%E5%88%97%E8%A1%A8)

    >  2008年,android1.0

    2011年,android3.0,平板失败

    同年10月,android4.0,无差别使用

    2014年,android5.0,ART代替Dalvik虚拟机,Android Wear,Android Auto,Android TV,穿戴、汽车、电视。

    2015年,android6.0,运行时权限

    2016年,android7.0,多窗口模式

    ## 2.Android特色 ##

    - 四大组件

        1. __活动__

        > 程序的门面,应用中看到的东西,都放在活动中。  

        2. __服务__

        > 后台默默运行,无法看到,即使退出应用,服务任然运行。  

        3. __广播接收器__

        > 接受各处广播,比如电话、短信等,也可以发送广播消息。  

        4. __内容提供器__

        > 应用程序之间共享数据,读取系统电话簿中的联系人。  

    - 系统控件

    - SQLite数据库

    - 多媒体

    - 地理定位

    ## 3.创建开发环境 ##

    - JDK

        > Java软件开发包,包括运行环境,工具集合,开发类库。

    - SDK

        > 谷歌提供的Android开发工具包

    - Android Studio

    ## 4.解析Android目录结构 ##

    > .grale和.idea _自动生成文件,不需要关心_

    > ___app___

    >>  build  _不需要关心_

    >>  libs   _jar包存放_

    >>  __src__

    >>> androidTest  _测试用例,自动化测试_

    >>> __main__

    >>>> __java__ Java代码存放处

    >>>>  __res__  资源存放处,drawable图片,layout布局,values字符串

    >>>>  __AndroidMainfast.xml__  四大组件的注册和配置

    >>> test  Unit Test _测试_

    >> .gitignore   _模块内版本控制_

    >> app.iml   _标志,不需要关心_

    >> __build.gradle__  _gradle构建脚本_

    >> proguard-rules.pro  _混淆规则,不希望代码破解,代码混淆_

    > build _编译自动生成文件,不需要关心_

    > gradle _gradle wrapper配置文件_

    > .gitignore _版本控制_

    > __build.gradle__ _全局构建脚本_

    > gradle.properties _全局配置文件_

    > gradlew和gradlew.bat _命令行执行gradle命令。.bat是在Windows系统中运行的_

    > HelloWorld.iml _标识InteliJ IDEA项目,不改_

    > local.properties _指定SDK路径,不改_

    > settings.gradle _引入模块_

    ## 5.运行解析 ##

    ### 1.AndroidMainfest.xml ###

    注册活动,没有在A.xml中注册的活动不能使用。

        <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">

                <intent-filter>                            // 确定主活动

                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />

                </intent-filter>

         </activity>

        </application>

    ### 2.Java.xxActivity ###

    MainActivity继承AppCompatActivity(Activity的子类)。

        public class MainActivity extends AppCompatActivity {

            @Override

            protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                setContentView(R.layout.activity_main);    //引入布局的方法

            }

        }

    >R.layout.hello_world 获取引用

    ### 3.res ###

    - drawable 图片

    - mipmap 图标

    - layout 布局

    - values

    * string 字符串

    * color 颜色

    * stytle 样式

    > @String/hello_world 获取引用

    ### 4.build.gradle ##

    Android Studio采用Gradle构建项目。

    >Gradle构建工具,基于Groovy领域的特定语言(DSL)声明项目设置,摒弃了XML(如Ant和Maven)繁琐配置

        buildscript {

                repositories {

                    google()

                    jcenter()   //代码托管到jcenter上  

                }

                dependencies {

                    classpath 'com.android.tools.build:gradle:3.5.2'   //声明一个Gradle插件

                }

            }

        allprojects {

            repositories {

                google()

                jcenter()

            }

        }

    >gcenter,代码管理仓库。很多Android开源项目都选择其托管项目

    >声明Gradle插件,因为Gradle不止Android,Java、C++都可以构建。

        apply plugin: 'com.android.application'    //应用程序模块,可以直接运行

                                                   //也可以添加'com.android.library'库模块,依附于其他程序模块运行

        android {                                                    // 项目细节配置

            compileSdkVersion 29                   // 编译版本 29表示Android 10.0

            buildToolsVersion "30.0.2"             // 构建工具版本

            defaultConfig {

                applicationId "com.example.unit3listviewtest"

                minSdkVersion 15                   // 最低兼容

                targetSdkVersion 29                // 目标版本测试

                versionCode 1                      // 项目版本号

                versionName "1.0"                  // 项目版本名

                testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

            }

            buildTypes {                                              // 生成安装配置

                debug {                            // 测试版安装文件配置,可以忽略不写

                }

                release {                           // 正式版安装文件配置

                    minifyEnabled false             // 代码是否混淆

                    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

                                                    // 第一个txt是安卓SDK目录下,所有项目通用的混淆规则

                                                    // 第二个pro是当前项目根目录,当前项目的混淆规则

                }

            }

        }

        dependencies {                                                 // 指定所有项目的依赖关系

            implementation fileTree(dir: 'libs', include: ['*.jar'])   // 本地依赖,本地lib下的jar包

            implementation 'androidx.appcompat:appcompat:1.2.0'        // 远程依赖

            implementation 'androidx.constraintlayout:constraintlayout:2.0.1'

            testImplementation 'junit:junit:4.12'                      // 声明测试用例库

            androidTestImplementation 'androidx.test.ext:junit:1.1.2'

            androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

        }

    > 依赖关系分三种

    > 1.本地依赖 本地jar包或目录依赖

    > 2.库依赖  对项目中的库模块添加依赖

    > 3.远程依赖  对jcenter库上的开源项目添加依赖关系,域名:组名:版本号

    ## 6.日志工具 ##

    android日志工具类Log(android.util.Log),5中方法使用

    >__Log(tag,msg)

    >tag:打印信息过滤,一般当前类名

    >msg:打印的具体内容__

    >1.Log.v(verbose)打印琐碎信息

    >2.Log.d(debug)打印调试信息

    >3.Log.i(info)打印比较重要的信息

    >4.Log.w(warn)打印警告信息,潜在需要修复的地方

    >5.Log.e(error)错误信息,需要尽快修复

    ### 添加过滤器 ###

    logcat中可以快速添加三种过滤器

    >Firebase,谷歌提供的分析工具

    >No Filters没有过滤器,所有的日志显示

    >Edit Filter Configuration,自定义过滤器

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/qvicvftx.html