android应用开发从入门到精通
Android Studio是一款由谷歌公司开发的为Android平台开发应用程序的集成开发环境(IDE),它是构建在IntelliJ IDEA上的定制版。它为开发者提供了一系列有用的工具和库,用于快速创建高质量的Android应用程序。Android Studio具有以下特点与其他谷歌开发者工具集成,如Android SDK、Gradle构建系统、JUnit测试框架和GitHub代码托管平台。提
目录
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版本,用于测试应用程序在不同设备上的表现。
更多推荐
所有评论(0)