目录
1.创建布局文件activity_main.xml,包含一个列表视图组件和一个悬浮按钮。
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中创建一个新项目
- 在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版本,用于测试应用程序在不同设备上的表现。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/yd-android/3481.html