android备忘录教学_android备忘录教学_Android Studio-备忘录功能实现

终于,Android作业弄完了,最后一个,备忘录教学。

相关安卓教学内容:

首先第一步,还是老样子,创建一个NoteActivity。

image.png

第二步,打开activity_note.xml,开始布局,话不多说了,关于这一块的内容我在登录,注册当中已经教学的很详细了,直接上代码吧,反正我码再多字估计你们也不看....

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".NoteActivity"

android:background="@drawable/notebg">

android:id="@+id/textView3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="10dp"

android:text="备忘录"

android:textSize="30dp"/>

android:id="@+id/editText3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:ems="10"

android:minLines="17"

android:inputType="textMultiLine"

android:hint="点击此处输入文字"

android:background="@null"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_alignParentStart="true"

android:layout_above="@+id/button4"

android:layout_alignParentEnd="true"

android:layout_below="@+id/textView3"

android:gravity="left|top"

android:textSize="20dp"/>

android:id="@+id/button4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="保存"

android:layout_alignParentBottom="true"

android:layout_alignStart="@+id/editText3" />

android:id="@+id/button5"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="重置"

android:layout_alignParentBottom="true"

android:layout_alignEnd="@+id/editText3" />

android:id="@+id/textView4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBottom="@+id/textView3"

android:layout_alignEnd="@+id/editText3"

android:text="0个字" />

效果如下:怎么样,看上去还不错吧?

image.png

接下来打开NoteActivity,直接上代码,不想码注释了,码了也没人看,反正你们最喜欢的就是复制粘贴代码

package com.wxy.homework;

import android.content.Context;

import android.content.pm.ActivityInfo;

import android.os.Bundle;

import android.text.Editable;

import android.text.TextWatcher;

import android.view.KeyEvent;

import android.view.View;

import android.view.WindowManager;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

import androidx.appcompat.app.ActionBar;

import androidx.appcompat.app.AppCompatActivity;

import java.io.FileInputStream;

import java.io.FileOutputStream;

public class NoteActivity extends AppCompatActivity {

private EditText inputInfo;

private Button save;

private Button reset;

private TextView count;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_note);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

setFullScreen();

hideBar();

inputInfo = (EditText) findViewById(R.id.editText3);

save = (Button) findViewById(R.id.button4);

reset = (Button) findViewById(R.id.button5);

count = (TextView)findViewById(R.id.textView4);

inputInfo.addTextChangedListener(new TextWatcher() {

@Override

public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override

public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override

public void afterTextChanged(Editable editable) {

count.setText(inputInfo.getText().length()+"个字");

}

});

onload();

inputInfo.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

inputInfo.setCursorVisible(true);

}

});

save.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

FileOutputStream fos = null;

try{

fos = openFileOutput("txt", Context.MODE_PRIVATE);

String text = inputInfo.getText().toString();

fos.write(text.getBytes());

}catch (Exception e){

e.printStackTrace();

}finally {

try{

if(fos!=null){

fos.flush();

Toast.makeText(NoteActivity.this,"保存成功!",Toast.LENGTH_SHORT).show();

fos.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

}

});

reset.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

FileOutputStream fos = null;

inputInfo.setText("");

try{

fos = openFileOutput("txt", Context.MODE_PRIVATE);

String text = "";

fos.write(text.getBytes());

}catch (Exception e){

e.printStackTrace();

}finally {

try{

if(fos!=null){

fos.flush();

Toast.makeText(NoteActivity.this,"清空成功!",Toast.LENGTH_SHORT).show();

fos.close();

}

}catch(Exception e){

e.printStackTrace();

}

}

}

});

}

public void onload(){

FileInputStream fis = null;

try{

fis = openFileInput("txt");

if(fis.available()==0){

return;

}else{

byte[] con = new byte[fis.available()];

while(fis.read(con)!=-1){

}

inputInfo.setText(new String(con));

inputInfo.setSelection(inputInfo.getText().length());

inputInfo.setCursorVisible(false);

}

}catch(Exception e){

e.printStackTrace();

}

}

long time;

public boolean onKeyDown(int keyCode, KeyEvent event){

if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){

if(System.currentTimeMillis()-time>2000){

Toast.makeText(NoteActivity.this,"再次点击返回键,程序退出",Toast.LENGTH_SHORT).show();

time = System.currentTimeMillis();

}else{

NoteActivity.this.finish();

}

return true;

}

return super.onKeyDown(keyCode,event);

}

private void hideBar(){

ActionBar actionBar = getSupportActionBar();

if(actionBar!=null){

actionBar.hide();

}

}

private void setFullScreen(){

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

}

}

然后,老师作业要求是,登录之后,直接跳转到备忘录,所以我们要调整启动顺序。打开LoginActivity,

调整启动顺序

image.png

好了,激动人心的时候又到了,直接开始测试

我们输入之前注册的用户名称和密码进行登录

image.png

发现登录成功,完美跳转到备忘录界面

image.png

我们输入任意字符,点击保存,发现保存成功,且下次登录时,直接显示保存的字符

image.png

我们点击右下角的重置,发现备忘录内容全部清空,完美运行

image.png

好了我亲爱的同学们,安卓作业搞定了。

欢迎关注我,我将不定期更新教学博客和技术贴。

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页