Android studio 入门笔记

记录自学Android 中新工程的创建以及制作的第一个APP

刚入坑的时候仅仅这个软件折腾了我三天之久,什么JAVA JDK啊,什么Gradle版本问题,对于一个机械的学生来说,无疑是一头雾水;当然,入门来说,什么东西都是0基础,无疑会走很多弯路,总结一句来说,开发一定要静下心来,要细心,不可盲目求成。学习Android 的兴趣完全来于 机智云 APP开源框架的修改,从此一发不可收拾,废话不多说,下面直接开撸。

注:以下内容仅仅是为了记录自己的学习笔记,以及提供给一些入门小白的捷径,如有错误 还请指出!

1.新建Android工程

图中可以看到,打开软件后的几个选项,我们只需点击第一个(启动一个新的安卓项目)。Android studio 入门笔记_第1张图片
点击创建工程后来到新的页面,如图所示,此处为选择Activity界面,可根据自己需求选择,新手推荐选用第二个!选择以后点击NEXT即可。
Android studio 入门笔记_第2张图片
接下来是对工程文件的命名,以及系统版本的选择,“Name”大家都不陌生吧,更改为自己需要的即可,文件保存路径不可以有中文,推荐大家创建一个新的文件夹用来存放自己的Android工程,至于其他的选项大家跟着选择就行啦。随后只需点击Finidh即可。Android studio 入门笔记_第3张图片
这样一个新的Android工程就创建完毕了,接下来就可以尽情发挥自己啦。
Android studio 入门笔记_第4张图片

2.APP制作

既然是第一个APP,那就毫无技术可言啦,这里就做个类似鞋子商城的小APP吧。先预览一下后期效果!

Android studio 入门笔记_第5张图片
Android studio 入门笔记_第6张图片

2.1 新建一个Activity

图中可以看到APP有两个页面,每个页面都会对应一个Activity;所以除了文件生成的Main_Activity之外,还要有一个Activity与另一个页面对应,而每个Activity的XML文件都会有对应JAVA文件。
Android studio 入门笔记_第7张图片
如上图所示,我们找到工程的Layout 文件,会看到Main_Activity的XML文件,我们新建的XML文件也要放在Layout里面。
Android studio 入门笔记_第8张图片
鼠标选中Layout文件夹右击,在出现的对话框中按照上图选择来到如下页面,对话框中输入新建XML文件的名字,大家尽量规范的输入Activity的名字,以增加程序的可读性。
Android studio 入门笔记_第9张图片
有了XML文件后,还要有对应的JAVA文件,下面我们来到工程的JAVA文件夹下创建JAVA文件,如下图所示,同样的右击鼠标NEW一个工程。Android studio 入门笔记_第10张图片
创建完成后就可以在对应XML文件中编写UI了。

2.2UI编写

关于UI 的编写这里就不作过多介绍了,直接贴代码吧。

<?xml version="1.0" encoding="utf-8"?>
:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    :layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white"
        android:fadingEdge="vertical"
        android:paddingBottom="10dp"
        android:paddingTop="20dp"
        android:scrollbars="vertical" >

    :layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:scrollbars="vertical" >

        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_1"
               android:layout_centerVertical="true"
                android:src="@drawable/a"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$899"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE1"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >

        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_2"
                android:layout_centerVertical="true"
                android:src="@drawable/b"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$1199"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:gravity="center"
                android:text="NIKE2"
                android:textSize="23sp" />

        >

        :layout_width="match_parent"
            android:layout_height="120dp">

            :id="@+id/image_3"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="20dp"
                android:src="@drawable/c">

            >

            :layout_width="50dp"
                android:layout_height="30dp"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:gravity="center"
                android:text="$1399"
                android:textColor="@color/colorAccent"
                android:textSize="16sp" />

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:gravity="center"
                android:text="NIKE3"
                android:textSize="23sp" />

        >

        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_4"
                android:layout_centerVertical="true"
                android:src="@drawable/d"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$999"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE4"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >
        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_5"
                android:layout_centerVertical="true"
                android:src="@drawable/f"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$1499"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE5"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >
        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_6"
                android:layout_centerVertical="true"
                android:src="@drawable/i"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$1099"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE6"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >
        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_7"
                android:layout_centerVertical="true"
                android:src="@drawable/j"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$999"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE7"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >
        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_8"
                android:layout_centerVertical="true"
                android:src="@drawable/h"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$899"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE8"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >
        :layout_width="match_parent"
            android:layout_height="120dp">
            :layout_alignParentLeft="true"
                android:layout_marginLeft="20dp"
                android:layout_width="80dp"
                android:id="@+id/image_9"
                android:layout_centerVertical="true"
                android:src="@drawable/g"
                android:layout_height="80dp">
            >
            :layout_width="50dp"
                android:layout_height="30dp"
                android:text="$1599"
                android:textColor="@color/colorAccent"
                android:gravity="center"
                android:layout_marginLeft="100dp"
                android:layout_marginTop="70dp"
                android:textSize="16sp"/>

            :layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="NIKE9"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:layout_marginLeft="80dp"
                android:layout_marginTop="40dp"
                android:textSize="23sp"/>

        >

    >

    >

    >


对应的Java文件代码:

package com.example.myshoe;

import android.content.Intent;
import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

import android.view.View;
import android.widget.ImageView;


/**
 *
 */
public class Main2_Activity extends AppCompatActivity {

    private ImageView image_1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2_activity);

        image_1 = findViewById(R.id.image_1); // 寻找xml里面真正的id  与自己定义的id绑定
        image_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
            }
        });
    }
}

MainActivity.JAVA代码:

package com.example.myshoe;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button btn_1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_1 = findViewById(R.id.btn_1); // 寻找xml里面真正的id  与自己定义的id绑定

        btn_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                 Intent intent = new
                Intent(MainActivity.this, Main2_Activity.class);//this前面为当前activty名称,class前面为要跳转到得activity名称
                startActivity(intent);
            }
        });

    }
}

至此APP的结构就出来啦,但是如果这样下载到手机上是无法运行的,我们新建的Acticity还并未加入到软件中,就像我们使用单片机的时候仅仅只是完成了IO的初始化和函数的编写,但是未在主函数调用,那么代码写的再完美也不过是一稽之谈,最后还要在工程的AndroidMainFest.XML文件中声明新建Activity文件:

Android studio 入门笔记_第11张图片

3. APP打包下载

本人手机不支持真机调试,所以从接触Android开始就使用打包的方式验证APP是否可运行,相比于真机和虚拟机来说较为烦恼,大家可根据自己选择或跳过此步骤。所有的代码完成以后,且软件无报错的情况下,则可点击软件上方Build对软件进行打包;如图所示:

Android studio 入门笔记_第12张图片
2. 选择APK文件
Android studio 入门笔记_第13张图片
3.新建JKS密钥信息
Android studio 入门笔记_第14张图片
4.填入相应信息
Android studio 入门笔记_第15张图片
5.点击Finish,大功告成!Android studio 入门笔记_第16张图片
6.程序运行无误,点击右下方locate即可跳转到APK文件夹Android studio 入门笔记_第17张图片
7.复制APK文件到手机即可。Android studio 入门笔记_第18张图片

4. 总结

不管是安卓开发也好,还是单片机开发也好,总之一定要细心细心再细心,这样会避免走很多弯路,更不可盲目求快,所有代码一笔带过后,再回过头调试找BUG,这样不仅效率低,而且出错的机率更大,要养成及时验证代码的习惯,因为指不定加上哪句话后,整个工程就崩溃了。第一次发帖,还有很多功能没能整明白,有需要代码的同学可以私信留言哦!

你可能感兴趣的:(Android,studio,笔记)