android 开发:android应用开发从入门到精通 2024-04-24 06:14:35 0 0 目录 一、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版本,用于测试应用程序在不同设备上的表现。 收藏(0)