当前位置:   article > 正文

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内核层

 二、搭建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,包含一个列表视图组件和一个悬浮按钮。

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:id="@+id/activity_main"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. android:orientation="vertical"
  7. tools:context=".MainActivity">
  8. <ListView
  9. android:id="@+id/list_view"
  10. android:layout_width="match_parent"
  11. android:layout_height="match_parent"
  12. android:padding="16dp" />
  13. <com.google.android.material.floatingactionbutton.FloatingActionButton
  14. android:id="@+id/fab"
  15. android:layout_width="wrap_content"
  16. android:layout_height="wrap_content"
  17. android:layout_marginBottom="16dp"
  18. android:layout_gravity="bottom|end"
  19. android:src="@drawable/ic_add"
  20. android:contentDescription="@string/add" />
  21. </LinearLayout>

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

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:orientation="vertical"
  5. android:padding="16dp">
  6. <TextView
  7. android:id="@+id/txt_title"
  8. android:layout_width="match_parent"
  9. android:layout_height="wrap_content"
  10. android:textStyle="bold"
  11. android:textSize="20sp"
  12. android:textColor="@color/colorPrimaryDark"
  13. android:text="" />
  14. <TextView
  15. android:id="@+id/txt_content"
  16. android:layout_width="match_parent"
  17. android:layout_height="wrap_content"
  18. android:textSize="16sp"
  19. android:textColor="@color/colorSecondaryText"
  20. android:text="" />
  21. <TextView
  22. android:id="@+id/txt_date"
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"
  25. android:textSize="12sp"
  26. android:textColor="@color/colorSecondaryText"
  27. android:text="" />
  28. </LinearLayout>

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

  1. public class Memo {
  2. private String title;
  3. private String content;
  4. private String date;
  5. public Memo(String title, String content, String date) {
  6. this.title = title;
  7. this.content = content;
  8. this.date = date;
  9. }
  10. public String getTitle() {
  11. return title;
  12. }
  13. public String getContent() {
  14. return content;
  15. }
  16. public String getDate() {
  17. return date;
  18. }
  19. }
  20. public class MemoAdapter extends ArrayAdapter<Memo> {
  21. private Context context;
  22. private int resourceId;
  23. public MemoAdapter(Context context, int resourceId, List<Memo> memos) {
  24. super(context, resourceId, memos);
  25. this.context = context;
  26. this.resourceId = resourceId;
  27. }
  28. @Override
  29. public View getView(int position, View convertView, ViewGroup parent) {
  30. Memo memo = getItem(position);
  31. if (convertView == null) {
  32. convertView = LayoutInflater.from(getContext()).inflate(resourceId, parent, false);
  33. }
  34. TextView txtTitle = (TextView) convertView.findViewById(R.id.txt_title);
  35. TextView txtContent = (TextView) convertView.findViewById(R.id.txt_content);
  36. TextView txtDate = (TextView) convertView.findViewById(R.id.txt_date);
  37. txtTitle.setText(memo.getTitle());
  38. txtContent.setText(memo.getContent());
  39. txtDate.setText(memo.getDate());
  40. return convertView;
  41. }
  42. }

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

  1. public class MainActivity extends AppCompatActivity {
  2. private List<Memo> memos = new ArrayList<Memo>();
  3. private MemoAdapter memoAdapter;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. ListView listView = (ListView) findViewById(R.id.list_view);
  9. memoAdapter = new MemoAdapter(this, R.layout.memo_item, memos);
  10. listView.setAdapter(memoAdapter);
  11. FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  12. fab.setOnClickListener(new View.OnClickListener() {
  13. @Override
  14. public void onClick(View view) {
  15. // TODO: Add a new memo
  16. }
  17. });
  18. }
  19. }

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

  1. public class MainActivity extends AppCompatActivity {
  2. private List<Memo> memos = new ArrayList<Memo>();
  3. private MemoAdapter memoAdapter;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. ListView listView = (ListView) findViewById(R.id.list_view);
  9. memoAdapter = new MemoAdapter(this, R.layout.memo_item, memos);
  10. listView.setAdapter(memoAdapter);
  11. FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
  12. fab.setOnClickListener(new View.OnClickListener() {
  13. @Override
  14. public void onClick(View view) {
  15. Intent intent = new Intent(MainActivity.this, MemoActivity.class);
  16. startActivityForResult(intent, 1);
  17. }
  18. });
  19. }
  20. @Override
  21. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  22. if (requestCode == 1 && resultCode == RESULT_OK) {
  23. String title = data.getStringExtra("title");
  24. String content = data.getStringExtra("content");
  25. String date = data.getStringExtra("date");
  26. Memo memo = new Memo(title, content, date);
  27. memos.add(memo);
  28. memoAdapter.notifyDataSetChanged();
  29. }
  30. }
  31. }

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

  1. public class MemoActivity extends AppCompatActivity {
  2. private EditText edtTitle, edtContent, edtDate;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_memo);
  7. edtTitle = (EditText) findViewById(R.id.edt_title);
  8. edtContent = (EditText) findViewById(R.id.edt_content);
  9. edtDate = (EditText) findViewById(R.id.edt_date);
  10. Button btnCancel = (Button) findViewById(R.id.btn_cancel);
  11. btnCancel.setOnClickListener(new View.OnClickListener() {
  12. @Override
  13. public void onClick(View view) {
  14. setResult(RESULT_CANCELED);
  15. finish();
  16. }
  17. });
  18. Button btnSave = (Button) findViewById(R.id.btn_save);
  19. btnSave.setOnClickListener(new View.OnClickListener() {
  20. @Override
  21. public void onClick(View view) {
  22. String title = edtTitle.getText().toString();
  23. String content = edtContent.getText().toString();
  24. String date = edtDate.getText().toString();
  25. Intent data = new Intent();
  26. data.putExtra("title", title);
  27. data.putExtra("content", content);
  28. data.putExtra("date", date);
  29. setResult(RESULT_OK, data);
  30. finish();
  31. }
  32. });
  33. }
  34. }

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

  1. <activity android:name=".MemoActivity"
  2. android:parentActivityName=".MainActivity"
  3. android:label="@string/title_activity_memo"
  4. 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版本,用于测试应用程序在不同设备上的表现。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/253869
推荐阅读
相关标签
  

闽ICP备14008679号