前十天冲刺(DAY10)


最后一天
今天是看看哪里有漏洞,并且用ai给打了点补丁
package com.example.myactivity;

import android.Manifest;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import com.example.myactivity.adapter.MyNoteListAdapter;
import com.example.myactivity.db.bean.Note;
import com.example.myactivity.db.NoteDao;
import com.example.myactivity.ui.BaseActivity;
import com.example.myactivity.view.SpacesItemDecoration;

import java.util.List;

import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

public class MainActivity extends BaseActivity {

private MyNoteListAdapter mNoteListAdapter;
private List<Note> noteList;
private NoteDao noteDao;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    initView();

}

//定义需要的权限列表
String[] permissions = new String[]{
        Manifest.permission.CAMERA,
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE
};

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == 321) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            //如果用户选择禁止,此时程序没有相应权限,执行相应操作
            if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
                //如果没有获取权限,那么可以提示用户去设置界面--->应用权限开启权限
                showToast("必须拥有权限");
                ActivityCompat.requestPermissions(this, permissions, 321);
            } else {
                //如果用户同意,此时程序获取到需要的权限,执行希望的操作

            }
        }
    }
}

private void initView() {
    Toolbar toolbar = findViewById(R.id.toolbar_main);
    setSupportActionBar(toolbar);

    ActivityCompat.requestPermissions(this, permissions, 321);

    noteDao = new NoteDao(this);

    RecyclerView rv_list_main = findViewById(R.id.rv_list_main);
    rv_list_main.addItemDecoration(new SpacesItemDecoration(0));//设置item间距
    LinearLayoutManager layoutManager = new LinearLayoutManager(this);
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);//竖向列表
    rv_list_main.setLayoutManager(layoutManager);

    mNoteListAdapter = new MyNoteListAdapter();
    mNoteListAdapter.setmNotes(noteList);
    rv_list_main.setAdapter(mNoteListAdapter);

    mNoteListAdapter.setOnItemClickListener(new MyNoteListAdapter.OnRecyclerViewItemClickListener() {
        @Override
        public void onItemClick(View view, Note note) {
            Intent intent = new Intent(MainActivity.this, NoteActivity.class);
            Bundle bundle = new Bundle();
            bundle.putSerializable("note", note);
            intent.putExtra("data", bundle);
            startActivity(intent);
        }
    });
    mNoteListAdapter.setOnItemLongClickListener(new MyNoteListAdapter.OnRecyclerViewItemLongClickListener() {
        @Override
        public void onItemLongClick(View view, final Note note) {
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("提示");
            builder.setMessage("确定删除日记?");
            builder.setCancelable(false);
            builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    int ret = noteDao.deleteNote(note.getId());
                    if (ret > 0) {
                        showToast("删除成功");
                        //TODO 删除日记成功后,记得删除图片(分为本地图片和网络图片)
                        //获取日记中图片的列表 StringUtils.getTextFromHtml(note.getContent(), true);
                        refreshNoteList();
                    }
                }
            });
            builder.setNegativeButton("取消", null);
            builder.create().show();
        }
    });
}

//刷新日记列表
private void refreshNoteList() {
    if (noteDao == null)
        noteDao = new NoteDao(this);
    noteList = noteDao.queryNotesAll(0);
    mNoteListAdapter.setmNotes(noteList);
    mNoteListAdapter.notifyDataSetChanged();
}

@Override
protected void onResume() {
    super.onResume();

    refreshNoteList();
}

@Override
protected void onDestroy() {
    super.onDestroy();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_new_note:
            Intent intent = new Intent(MainActivity.this, NewActivity.class);
            intent.putExtra("groupName", "默认日记");
            intent.putExtra("flag", 0);
            startActivity(intent);
            break;
    }
    return super.onOptionsItemSelected(item);
}

}

posted @ 2024-05-07 17:12  畅通无组  阅读(2)  评论(0编辑  收藏  举报