Android利用Intent实现记事本功能(NotePad)
在Android开发中,Intent是一种非常重要的通信机制,可以实现不同组件之间的互相调用。在本文中,我们将使用Intent实现记事本功能(NotePad)。
步骤一:新建项目
先在Android Studio中新建一个项目,选择Empty Activity,然后把App名称设置为NotePad。
步骤二:定义布局
我们需要在布局文件中定义一个EditText用于用户输入文本,和一个Button用于保存文本。以下是activity_main.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:hint="Type something here"
android:inputType="textMultiLine"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText"
android:layout_alignParentRight="true"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:text="Save"/>
</RelativeLayout>
步骤三:调用Intent实现保存功能
我们需要在Button的Click事件中调用Intent实现保存功能。Intent可以启动新的Activity或者调用其他应用程序的Activity,我们将利用它启动系统自带的NotePad来保存文本。以下是MainActivity的代码:
package com.example.notepad;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
private EditText mEditText;
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = findViewById(R.id.editText);
mButton = findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType("vnd.android.cursor.dir/event");
intent.putExtra("title", "Title");
intent.putExtra("description", mEditText.getText().toString());
startActivity(intent);
}
});
}
}
在按钮的OnClickListener中,我们先构建了一个Intent对象,然后设置了它的类型为“vnd.android.cursor.dir/event”,这是NotePad支持的类型之一;接着设置了文本的标题和内容,最后启动了Intent。当用户点击Button时,NotePad会打开并显示保存的文本。
示例一
假设用户在EditText中输入了“Hello, world”,然后点击了Button,那么NotePad会打开并显示以下文本:
Title: Hello, world
Description: Hello, world
示例二
假设用户在EditText中输入了“Happy new year!”,然后点击了Button,那么NotePad会打开并显示以下文本:
Title: Happy new year!
Description: Happy new year!
至此,我们便用Intent实现了记事本功能(NotePad)。
更多关于Intent的用法,可以参考Android官方文档:https://developer.android.com/guide/components/intents-filters。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android利用Intent实现记事本功能(NotePad) - Python技术站