Android入门(1)从零到一

一.什么是andiroid?

    andiroid本意是"机器人",是google 2007年发布的基于linux平台的手机操作系统


二.系统架构

Linux Kernel :linux内核

Libraries:类库

android runtime:运行环境

application framework:应用构架

application:应用


三.DVM与JVM

1.主要差别:

    DVM:基于寄存器,编译和运行都更块些

    JVM:基于栈,编译和运行都会慢些

2.字节码的区别:

    DVM:执行.dex格式的字节码,是对.class文件进行压缩后产生的,文件变小

    JVM:执行. class文件的字节码

3.运行环境的区别:

    DVM:一个应用都运行在一个单独的虚拟机

    JVM:所有的应用都运行在同一个JVM


四.项目的组成结构


1.主界面MainActivity类(点击应用图标启动的界面),继承自Activity类

    重写onCreate方法:在当前Activity对象创建的时候自动调用

    回调方法:不是我们调用的,是系统在一定条件下自动调用(基本都以on开头  onXX)

    

                                                     

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //调用父类做一些默认的初始化方法
        super.onCreate(savedInstanceState);
        //设置窗口要显示的内容视图(界面/布局) R:resource
        //指定布局文件在R中对应的变量,加载布局文件最终显示到窗口中
        setContentView(R.layout.activity_main);
    }
}

五.SDK(软件开发工具包)

    顾名思义,就是将一系列工具组合起来,比如自动补全,自动编译,调用模拟器运行等都是SDK的功劳


六.应用编译打包过程

七.手机尺寸的相关概念

    1.手机的尺寸:屏幕对角线的长度,单位为英寸(2.54cm)

    2.手机的分辨率:屏幕上能显示像素的数量,一般用长方向上数量*宽方向上数量 来表达

    3.像素(PPI):每英寸能够显示的像素数

    4.DPI:可与PPI相互替换

    5.手机密度(Density):以160ppi为基准,即像素密度为160ppi时,density为1

    6.dp与px的比较?

        (1)以px为单位,在差的手机上会变大,在好的手机上会变小

        (2)以dp为单位则不会变

    7.dp和sp的比较?

       用户在系统中设置字体大小    

    (1)使用sp,设置有效果

    (2)使用dp,设置没效果

    8.总结

        在布局视图宽高尽量用match_parent/warp_content(如果用特定值,使用dp)

        文本大小要使用sp

八.第一个程序

    关于Android studio的安装配置网上有很多教程,这里不说了

    (1)首先AndroidManifest.xml下配置了主Activity为MainActivity

<activity android:name=".MainActivity">
            <!--让当前activity成为主activity-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <!--让图标出现在界面-->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    (2)找到MainActivity类,发现它加载了叫activity_main的配置文件

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //调用父类做一些默认的初始化方法
        super.onCreate(savedInstanceState);
        //设置窗口要显示的内容视图(界面,/布局) R:resource
        //指定布局文件在R中对应的变量,加载布局文件最终显示到窗口中
        setContentView(R.layout.activity_main);
    }
}

(3)找到activity_main.xml,发现它的文本引用了名为message的string

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="50sp"
        android:text="@string/message"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

(4)到res/values/string.xml下,修改对应String(就不写hello world)

<resources>

    <string name="message">欢迎来到Android的世界!</string>
</resources>

效果:



猜你喜欢

转载自blog.csdn.net/qq_34645958/article/details/80734962