android 开发:android应用开发从入门到精通

目录

一、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内核层。

 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中创建一个新项目

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

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

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

  • 配置应用的启动Activity。

  • 点击"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具有以下特点

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

    相关文章