Android Studio-备忘录功能实现

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

相关安卓教学内容:

启动界面:https://www.jianshu.com/p/7e0955291b18
登录注册功能:https://www.jianshu.com/p/3882eaf8693e

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

image.png

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



    

    

    

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

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

好了我亲爱的同学们,安卓作业搞定了。
欢迎关注我,我将不定期更新教学博客和技术贴。

你可能感兴趣的:(Android Studio-备忘录功能实现)