赞
踩
目录
1.创建布局文件activity_main.xml,包含一个列表视图组件和一个悬浮按钮。
4.在MainActivity.java文件中初始化备忘录列表视图和悬浮按钮。
5.在添加备忘录条目的点击事件中,打开一个新的活动并传入数据。
6.创建备忘录编辑活动MemoActivity,并在其中添加标题、内容和日期输入框以及确定和取消按钮。
7.在AndroidManifest.xml文件中注册MemoActivity。
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
Android系统构架是安卓系统的体系结构,android的系统架构和其操作系统一样,采用了分层的架构,共分为四层,从高到低分别是Android应用层,Android应用框架层,Android系统运行库层和Linux内核层。
进入Oracle公司的主界面:官方网站,选择“Downloads”页面中的“Java for Developer”。
下载并安装JDK。
谷歌提供了安卓集成的Android Studio开发环境,可以从官网和中文社区中下载 :官方下载地址。
下载成功后打开软件包,单击android-studio.exe就可以安装开发环境
单击启动Android Studio开发环境,进入开发环境界面,Android Studio开发环境主要包括工作环境、项目视图、透视图等。
工作空间(Workspace):工作空间绑定了一个目录作为默认的工作路径,所有在该工作空间新建的项目和文件,默认均保存在该目录下,所有用户的定制选择也保存在这个目录下。
项目(Project):项目是我吗进行开发的工作对象,在一个工作空间中,可以创建多个项目。
透视图(Perspective):透视图定义了工作台上的一组视图(Views)、编辑器的初始集合和布局显示。
AVD的全称是Android Virtual Device,是Android开发中的一种虚拟设备,通常用于在开发、测试、调试Android应用时使用。
在菜单栏中选择“Tools工具”→“Android AVD Manager”命令进入安卓虚拟设备管理界面。
在“系统镜像”栏中,为新建的安卓虚拟设备合适的版本。
创建安卓虚拟设备后,在模拟器列表中运行模拟器;运行创建的“pixel 6”虚拟设备
到此我们已经成功完成了Android Studio开发环境的搭建,接下来可以进行项目的开发了。
在Android Studio中选择File -> New -> New Project来打开"Create New Project"窗口。
开始设置新项目,包括项目的名称、应用包名称、项目位置等信息。
选择要在项目中包含的组件,例如Activity、Fragment等。
配置应用的启动Activity。
点击"Finish"按钮来创建新项目。
- <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>

- <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>

- 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;
- }
- }

- 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
- }
- });
- }
- }

- 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();
- }
- }
- }

- 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();
- }
- });
- }
- }

- <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具有以下特点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。