目录

一、Android 简介

1.Android版本

2.Android的体系结构

 二、搭建Android Studio开发环境

1.JDk下载

2.Android Studio开发环境的下载

 1.Android Studio开发环境的安装

 2.Android Studio开发环境

3.AVD模拟器的设置与使用

1.创建AVD模拟器

 2.运行AVD模拟器

三、小结

四、创建项目

1.在Android Studio中创建一个新项目

五、项目练习

接下来我们编写一个Android应用程序“备忘录”

1.创建布局文件activity_main.xml,包含一个列表视图组件和一个悬浮按钮。

2.创建备忘录条目视图布局,包含标题、内容和日期。

3.创建备忘录条目的数据模型和列表适配器。

4.在MainActivity.java文件中初始化备忘录列表视图和悬浮按钮。

5.在添加备忘录条目的点击事件中,打开一个新的活动并传入数据。

6.创建备忘录编辑活动MemoActivity,并在其中添加标题、内容和日期输入框以及确定和取消按钮。

7.在AndroidManifest.xml文件中注册MemoActivity。

六、总结


一、Android 简介

1.Android版本

        Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

2.Android的体系结构

        Android系统构架是安卓系统体系结构,android的系统架构和其操作系统一样,采用了分层的架构,共分为四层,从高到低分别是Android应用层,Android应用框架层,Android系统运行库层和Linux内核层

 二、搭建Android Studio开发环境

1.JDk下载

进入Oracle公司的主界面:官方网站,选择“Downloads”页面中的“Java for Developer”。

下载并安装JDK。

2.Android Studio开发环境的下载

谷歌提供了安卓集成的Android Studio开发环境,可以从官网和中文社区中下载 :官方下载地址

 1.Android Studio开发环境的安装

     下载成功后打开软件包,单击android-studio.exe就可以安装开发环境

 2.Android Studio开发环境

       单击启动Android Studio开发环境,进入开发环境界面,Android Studio开发环境主要包括工作环境、项目视图、透视图等。

       工作空间(Workspace):工作空间绑定了一个目录作为默认的工作路径,所有在该工作空间新建的项目和文件,默认均保存在该目录下,所有用户的定制选择也保存在这个目录下。

       项目(Project):项目是我吗进行开发的工作对象,在一个工作空间中,可以创建多个项目。

       透视图(Perspective):透视图定义了工作台上的一组视图(Views)、编辑器的初始集合和布局显示。

3.AVD模拟器的设置与使用

        AVD的全称是Android Virtual Device,是Android开发中的一种虚拟设备,通常用于在开发、测试、调试Android应用时使用。 

1.创建AVD模拟器

      在菜单栏中选择“Tools工具”→“Android AVD Manager”命令进入安卓虚拟设备管理界面。

       在“系统镜像”栏中,为新建的安卓虚拟设备合适的版本。

 2.运行AVD模拟器

      创建安卓虚拟设备后,在模拟器列表中运行模拟器;运行创建的“pixel 6”虚拟设备

三、小结

      到此我们已经成功完成了Android Studio开发环境的搭建,接下来可以进行项目的开发了。

四、创建项目

1.在Android Studio中创建一个新项目

  1. 在Android Studio中选择File -> New -> New Project来打开"Create New Project"窗口。

  2. 开始设置新项目,包括项目的名称、应用包名称、项目位置等信息。

  3. 选择要在项目中包含的组件,例如Activity、Fragment等。

  4. 配置应用的启动Activity。

  5. 点击"Finish"按钮来创建新项目。

五、项目练习

接下来我们编写一个Android应用程序“备忘录”

1.创建布局文件activity_main.xml,包含一个列表视图组件和一个悬浮按钮。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="16dp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:layout_gravity="bottom|end"
        android:src="@drawable/ic_add"
        android:contentDescription="@string/add" />

</LinearLayout>

2.创建备忘录条目视图布局,包含标题、内容和日期。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/txt_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textSize="20sp"
        android:textColor="@color/colorPrimaryDark"
        android:text="" />

    <TextView
        android:id="@+id/txt_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:textColor="@color/colorSecondaryText"
        android:text="" />

    <TextView
        android:id="@+id/txt_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textColor="@color/colorSecondaryText"
        android:text="" />

</LinearLayout>

3.创建备忘录条目的数据模型和列表适配器。

public class Memo {
    private String title;
    private String content;
    private String date;

    public Memo(String title, String content, String date) {
        this.title = title;
        this.content = content;
        this.date = date;
    }

    public String getTitle() {
        return title;
    }

    public String getContent() {
        return content;
    }

    public String getDate() {
        return date;
    }
}

public class MemoAdapter extends ArrayAdapter<Memo> {
    private Context context;
    private int resourceId;

    public MemoAdapter(Context context, int resourceId, List<Memo> memos) {
        super(context, resourceId, memos);
        this.context = context;
        this.resourceId = resourceId;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Memo memo = getItem(position);

        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(resourceId, parent, false);
        }

        TextView txtTitle = (TextView) convertView.findViewById(R.id.txt_title);
        TextView txtContent = (TextView) convertView.findViewById(R.id.txt_content);
        TextView txtDate = (TextView) convertView.findViewById(R.id.txt_date);

        txtTitle.setText(memo.getTitle());
        txtContent.setText(memo.getContent());
        txtDate.setText(memo.getDate());

        return convertView;
    }
}

4.在MainActivity.java文件中初始化备忘录列表视图和悬浮按钮。

public class MainActivity extends AppCompatActivity {
    private List<Memo> memos = new ArrayList<Memo>();
    private MemoAdapter memoAdapter;

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

        ListView listView = (ListView) findViewById(R.id.list_view);
        memoAdapter = new MemoAdapter(this, R.layout.memo_item, memos);
        listView.setAdapter(memoAdapter);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // TODO: Add a new memo
            }
        });
    }
}

5.在添加备忘录条目的点击事件中,打开一个新的活动并传入数据。

public class MainActivity extends AppCompatActivity {
    private List<Memo> memos = new ArrayList<Memo>();
    private MemoAdapter memoAdapter;

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

        ListView listView = (ListView) findViewById(R.id.list_view);
        memoAdapter = new MemoAdapter(this, R.layout.memo_item, memos);
        listView.setAdapter(memoAdapter);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this, MemoActivity.class);
                startActivityForResult(intent, 1);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1 && resultCode == RESULT_OK) {
            String title = data.getStringExtra("title");
            String content = data.getStringExtra("content");
            String date = data.getStringExtra("date");
            Memo memo = new Memo(title, content, date);
            memos.add(memo);
            memoAdapter.notifyDataSetChanged();
        }
    }
}

6.创建备忘录编辑活动MemoActivity,并在其中添加标题、内容和日期输入框以及确定和取消按钮。

public class MemoActivity extends AppCompatActivity {
    private EditText edtTitle, edtContent, edtDate;

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

        edtTitle = (EditText) findViewById(R.id.edt_title);
        edtContent = (EditText) findViewById(R.id.edt_content);
        edtDate = (EditText) findViewById(R.id.edt_date);

        Button btnCancel = (Button) findViewById(R.id.btn_cancel);
        btnCancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setResult(RESULT_CANCELED);
                finish();
            }
        });

        Button btnSave = (Button) findViewById(R.id.btn_save);
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String title = edtTitle.getText().toString();
                String content = edtContent.getText().toString();
                String date = edtDate.getText().toString();
                Intent data = new Intent();
                data.putExtra("title", title);
                data.putExtra("content", content);
                data.putExtra("date", date);
                setResult(RESULT_OK, data);
                finish();
            }
        });
    }
}

7.在AndroidManifest.xml文件中注册MemoActivity。

<activity android:name=".MemoActivity"
    android:parentActivityName=".MainActivity"
    android:label="@string/title_activity_memo"
    android:theme="@style/AppTheme.NoActionBar" />

这样我们的一个基于Android Studio开发的备忘录项目就完成了。

六、总结

Android Studio是一款由谷歌公司开发的为Android平台开发应用程序的集成开发环境(IDE),它是构建在IntelliJ IDEA上的定制版。它为开发者提供了一系列有用的工具和库,用于快速创建高质量的Android应用程序。

Android Studio具有以下特点

  1. 与其他谷歌开发者工具集成,如Android SDK、Gradle构建系统、JUnit测试框架和GitHub代码托管平台。
  2. 提供了一个可视化的布局编辑器,可用于设计和排列Android应用程序的用户界面。
  3. 集成了Android Emulator模拟器,可以模拟不同的设备和Android版本,用于测试应用程序在不同设备上的表现。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐