Android备忘录(笔记)简单实现有源码注释详细

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、首先创建保存数据的表

Notedatabase,java

package com.example.biji_1;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class NoteDatabase extends SQLiteOpenHelper {
    public static final String TABLE_NAME ="notes";
    public static final String CONTENT ="content";
    public static final String ID ="_id";
    public static final String TIME ="time";
    public static final String MODE ="mode";
    public  NoteDatabase(Context context){
        super(context,"notes",null,1);
    }
    @Override
    public void onCreate(SQLiteDatabase db){
        db.execSQL("CREATE TABLE " + TABLE_NAME + "(" + ID
                + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + CONTENT + " TEXT NOT NULL, "
                + TIME + " TEXT NOT NULL, "
                + MODE + " INTEGER DEFAULT 1)");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion){
    }
}

二、主界面

MainAcitivity.java

public class MainActivity extends BaseActivity implements AdapterView.OnItemClickListener {
    //test gittt
    private NoteDatabase dbHelper;
    private Context context = this;
    final String TAG = "tag";
    FloatingActionButton btn;
    private ListView lv;
    private NoteAdapter adapter;
    private List<note> noteList = new ArrayList<note>();
    private Toolbar myToolbar;
    //&#x5F39;&#x51FA;&#x83DC;&#x5355;
    private PopupWindow popupWindow;
    private PopupWindow popupCover;
    private ViewGroup customView;
    private ViewGroup coverView;
    private LayoutInflater layoutInflater;
    private RelativeLayout main;
    private WindowManager wm;
    private DisplayMetrics metrics;
    private TextView setting_text;
    private ImageView setting_image;

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initPrefs();
        btn = (FloatingActionButton) findViewById(R.id.fab);
        lv = findViewById(R.id.lv);

        myToolbar = findViewById(R.id.myToolbar);
        adapter = new NoteAdapter(getApplicationContext(), noteList);
        refreshListView();
        lv.setAdapter(adapter);

        setSupportActionBar(myToolbar);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true); //&#x8BBE;&#x7F6E;toolbar&#x53D6;&#x4EE3;actionbar
        initPopUpView();
        myToolbar.setNavigationIcon(R.drawable.ic_baseline_menu_24);
        myToolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d(TAG, "onClick: shit");
                showPopUpView();
            }
        });

        lv.setOnItemClickListener(this);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, EditActivity.class);
                intent.putExtra("mode", 4);
                startActivityForResult(intent, 0);
            }
        });

    }
    public void initPopUpView(){
        layoutInflater = (LayoutInflater) MainActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        customView = (ViewGroup) layoutInflater.inflate(R.layout.setting_layout, null);
        coverView = (ViewGroup) layoutInflater.inflate(R.layout.setting_cover, null);
        main = findViewById(R.id.main_layout);
        wm = getWindowManager();
        metrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(metrics);
    }
    public void showPopUpView(){
        int width = metrics.widthPixels;
        int height = metrics.heightPixels;

        popupCover = new PopupWindow(coverView, width, height, false);
        popupWindow = new PopupWindow(customView, (int) (width * 0.7), height, true);
        popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));

        //&#x5728;&#x4E3B;&#x754C;&#x9762;&#x52A0;&#x8F7D;&#x6210;&#x529F;&#x4E4B;&#x540E; &#x663E;&#x793A;&#x5F39;&#x51FA;
        findViewById(R.id.main_layout).post(new Runnab</note></note>

Original: https://blog.csdn.net/xkk123_/article/details/121150036
Author: 猪小温
Title: Android备忘录(笔记)简单实现有源码注释详细

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816097/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球