我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android如何实现备忘录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android如何实现备忘录

这篇文章主要介绍了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;    //弹出菜单    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); //设置toolbar取代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));        //在主界面加载成功之后 显示弹出        findViewById(R.id.main_layout).post(new Runnable() {            @Override            public void run() {                popupCover.showAtLocation(main, Gravity.NO_GRAVITY, 0, 0);                popupWindow.showAtLocation(main, Gravity.NO_GRAVITY, 0, 0);                setting_image = customView.findViewById(R.id.setting_settings_image);                setting_text = customView.findViewById(R.id.setting_settings_text);                setting_image.setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        startActivity(new Intent(MainActivity.this, UserSettingsActivity.class));                    }                });                setting_text.setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View v) {                        startActivity(new Intent(MainActivity.this, UserSettingsActivity.class));                    }                });                coverView.setOnTouchListener(new View.OnTouchListener() {                    @Override                    public boolean onTouch(View v, MotionEvent event) {                        popupWindow.dismiss();                        return true;                    }                });                popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {                    @Override                    public void onDismiss() {                        popupCover.dismiss();                        Log.d(TAG, "onDismiss: test");                    }                });            }        });    }    public void initPrefs(){        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());        SharedPreferences.Editor editor = sharedPreferences.edit();        if (!sharedPreferences.contains("nightMode")) {            editor.putBoolean("nightMode", false);            editor.commit();        }    }    // 接受startActivityForResult的结果    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data){        int returnMode;        long note_Id;        returnMode = data.getExtras().getInt("mode", -1);        note_Id = data.getExtras().getLong("id", 0);        if (returnMode == 1) {  //update current note            String content = data.getExtras().getString("content");            String time = data.getExtras().getString("time");            int tag = data.getExtras().getInt("tag", 1);            Note newNote = new Note(content, time, tag);            newNote.setId(note_Id);            CRUD op = new CRUD(context);            op.open();            op.updateNote(newNote);            op.close();        } else if (returnMode == 0) {  // create new note            String content = data.getExtras().getString("content");            String time = data.getExtras().getString("time");            int tag = data.getExtras().getInt("tag", 1);            Note newNote = new Note(content, time, tag);            CRUD op = new CRUD(context);            op.open();            op.addNote(newNote);            op.close();        } else if (returnMode == 2) { // delete            Note curNote = new Note();            curNote.setId(note_Id);            CRUD op = new CRUD(context);            op.open();            op.removeNote(curNote);            op.close();        }        else{        }        refreshListView();        super.onActivityResult(requestCode, resultCode, data);    }  //判断笔记状态    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main_menu, menu);        //search setting        MenuItem mSearch = menu.findItem(R.id.action_search);        SearchView mSearchView = (SearchView) mSearch.getActionView();        mSearchView.setQueryHint("请输入搜索内容");        mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {            @Override            public boolean onQueryTextSubmit(String query) {                return false;            }            @Override            public boolean onQueryTextChange(String newText) {                adapter.getFilter().filter(newText);                return false;            }        });        return super.onCreateOptionsMenu(menu);    }   //搜索    @Override    public boolean onOptionsItemSelected(MenuItem item){        switch (item.getItemId()){            case R.id.menu_clear:                new AlertDialog.Builder(MainActivity.this)                        .setMessage("删除全部吗?")                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog, int which) {                                dbHelper = new NoteDatabase(context);                                SQLiteDatabase db = dbHelper.getWritableDatabase();                                db.delete("notes", null, null);                                db.execSQL("update sqlite_sequence set seq=0 where name='notes'");                                refreshListView();                            }                        }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        dialog.dismiss();                    }                }).create().show();                break;        }        return super.onOptionsItemSelected(item);    }  //主界面删除    public void refreshListView(){        CRUD op = new CRUD(context);        op.open();        // set adapter        if (noteList.size() > 0) noteList.clear();        noteList.addAll(op.getAllNotes());        op.close();        adapter.notifyDataSetChanged();    }  //刷新list    @Override    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {        switch (parent.getId()) {            case R.id.lv:                Note curNote = (Note) parent.getItemAtPosition(position);                Intent intent = new Intent(MainActivity.this, EditActivity.class);                intent.putExtra("content", curNote.getContent());                intent.putExtra("id", curNote.getId());                intent.putExtra("time", curNote.getTime());                intent.putExtra("mode", 3);     // MODE of 'click to edit'                intent.putExtra("tag", curNote.getTag());                startActivityForResult(intent, 1);      //collect data from edit                Log.d(TAG, "onItemClick: " + position);                break;        }    } //携带数据}

    2.1 activity_main.xml

    三、:EditActivity.java

    package com.example.biji_1;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.EditText;import androidx.appcompat.app.AlertDialog;import androidx.appcompat.widget.Toolbar;import java.text.SimpleDateFormat;import java.util.Date;public class EditActivity extends BaseActivity {    EditText et;    private Toolbar myToolbar;    private String old_content = "";    private String old_time = "";    private int old_Tag = 1;    private long id = 0;    private int openMode = 0;    private int tag = 1;    public Intent intent = new Intent(); // message to be sent    private boolean tagChange = false;    private final String TAG = "tag";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.edit_layout);        myToolbar = findViewById(R.id.myToolbar);        setSupportActionBar(myToolbar);        getSupportActionBar().setHomeButtonEnabled(true);        getSupportActionBar().setDisplayHomeAsUpEnabled(true); //设置toolbar取代actionbar        myToolbar.setNavigationOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                autoSetMessage();                setResult(RESULT_OK, intent);                finish();            }        });        myToolbar.setNavigationOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                autoSetMessage();                setResult(RESULT_OK, intent);                finish();            }        });        et = findViewById(R.id.et_1);        Intent getIntent = getIntent();        openMode = getIntent.getIntExtra("mode", 0);        if (openMode == 3) {//打开已存在的note            id = getIntent.getLongExtra("id", 0);            old_content = getIntent.getStringExtra("content");            old_time = getIntent.getStringExtra("time");            old_Tag = getIntent.getIntExtra("tag", 1);            et.setText(old_content);            et.setSelection(old_content.length());            Log.d("TAG","打开");        }    }    //渲染菜单栏    @Override    public boolean onCreateOptionsMenu(Menu menu_1) {        getMenuInflater().inflate(R.menu.edit_menu,menu_1);        return super.onCreateOptionsMenu(menu_1);    }    @Override    public boolean onOptionsItemSelected(MenuItem item){        switch (item.getItemId()){            case R.id.delete:                new AlertDialog.Builder(EditActivity.this)                        .setMessage("删除吗?")                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {                            @Override                            public void onClick(DialogInterface dialog, int which) {                                if (openMode == 4){ // new note                                    intent.putExtra("mode", -1);                                    setResult(RESULT_OK, intent);                                }                                else { // existing note                                    intent.putExtra("mode", 2);                                    intent.putExtra("id", id);                                    setResult(RESULT_OK, intent);                                }                                finish();                            }                        }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        dialog.dismiss();                    }                }).create().show();                break;        }        return super.onOptionsItemSelected(item);    }    public boolean onKeyDown(int keyCode, KeyEvent event){        if (keyCode == KeyEvent.KEYCODE_HOME){            return true;        }        else if (keyCode == KeyEvent.KEYCODE_BACK){            autoSetMessage();            setResult(RESULT_OK, intent);            finish();            return true;        }        return super.onKeyDown(keyCode, event);    }    public void autoSetMessage(){        if(openMode == 4){            if(et.getText().toString().length() == 0){                intent.putExtra("mode", -1); //nothing new happens.            }            else{                intent.putExtra("mode", 0); // new one note;                intent.putExtra("content", et.getText().toString());                intent.putExtra("time", dateToStr());                intent.putExtra("tag", tag);            }        }        else {            if (et.getText().toString().equals(old_content) && !tagChange)                intent.putExtra("mode", -1); // edit nothing            else {                intent.putExtra("mode", 1); //edit the content                intent.putExtra("content", et.getText().toString());                intent.putExtra("time", dateToStr());                intent.putExtra("id", id);                intent.putExtra("tag", tag);            }        }    }    public String dateToStr(){        Date date = new Date();        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        return simpleDateFormat.format(date);    }}

    3.1 edit_layout.xml

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent">    <androidx.appcompat.widget.Toolbar        android:id="@+id/myToolbar"        android:layout_width="match_parent"        android:layout_height="?attr/actionBarSize"        android:elevation="4dp"        app:titleTextColor="#FFEBCD"        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"        />    <EditText        android:id="@+id/et_1"        android:layout_width="match_parent"        android:layout_height="100dp"        android:gravity="top"        /></LinearLayout>

    四、对笔记进行增删查改

    CRUD.java

    package com.example.biji_1;import android.annotation.SuppressLint;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import java.util.ArrayList;import java.util.List;public class CRUD {    SQLiteOpenHelper dbHandler;    SQLiteDatabase db;    private static final String[] columns = {            NoteDatabase.ID,            NoteDatabase.CONTENT,            NoteDatabase.TIME,            NoteDatabase.MODE    };    public CRUD(Context context){        dbHandler = new NoteDatabase(context);    }    public void open(){        db = dbHandler.getWritableDatabase();    }    public void close(){        dbHandler.close();    }    //把note 加入到database里面    public Note addNote(Note note){        //add a note object to database        ContentValues contentValues = new ContentValues();        contentValues.put(NoteDatabase.CONTENT, note.getContent());        contentValues.put(NoteDatabase.TIME, note.getTime());        contentValues.put(NoteDatabase.MODE, note.getTag());        long insertId = db.insert(NoteDatabase.TABLE_NAME, null, contentValues);        note.setId(insertId);        return note;    }    public Note getNote(long id){        //get a note from database using cursor index        Cursor cursor = db.query(NoteDatabase.TABLE_NAME,columns,NoteDatabase.ID + "=?",                new String[]{String.valueOf(id)},null,null, null, null);        if (cursor != null) cursor.moveToFirst();        Note e = new Note(cursor.getString(1),cursor.getString(2), cursor.getInt(3));        return e;    }    @SuppressLint("Range")    public List<Note> getAllNotes(){        Cursor cursor = db.query(NoteDatabase.TABLE_NAME,columns,null,null,null, null, null);        List<Note> notes = new ArrayList<>();        if(cursor.getCount() > 0){            while(cursor.moveToNext()){                Note note = new Note();                note.setId(cursor.getLong(cursor.getColumnIndex(NoteDatabase.ID)));                note.setContent(cursor.getString(cursor.getColumnIndex(NoteDatabase.CONTENT)));                note.setTime(cursor.getString(cursor.getColumnIndex(NoteDatabase.TIME)));                note.setTag(cursor.getInt(cursor.getColumnIndex(NoteDatabase.MODE)));                notes.add(note);            }        }        return notes;    } //查找笔记    public int updateNote(Note note) {        //update the info of an existing note        ContentValues values = new ContentValues();        values.put(NoteDatabase.CONTENT, note.getContent());        values.put(NoteDatabase.TIME, note.getTime());        values.put(NoteDatabase.MODE, note.getTag());        // updating row        return db.update(NoteDatabase.TABLE_NAME, values,                NoteDatabase.ID + "=?",new String[] { String.valueOf(note.getId())});    } //更新笔记    public void removeNote(Note note) {        //remove a note according to ID value        db.delete(NoteDatabase.TABLE_NAME, NoteDatabase.ID + "=" + note.getId(), null);    }  //删除笔记}

    4.1 note_layout.xml

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingLeft="10dp"    android:paddingRight="10dp"    android:paddingTop="5dp"    android:paddingBottom="12dp"    android:orientation="vertical"    android:background="@drawable/note_shape">    <TextView        android:id="@+id/tv_content"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Content"        android:textSize="20dp"        android:textColor="#00F5FF"        android:singleLine="true"        />    <TextView        android:id="@+id/tv_time"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Time"        android:textSize="16dp"        android:textColor="#00F5FF"/></LinearLayout>

    五、演示效果

    5.1 登录界面

    Android如何实现备忘录

    哈哈界面随自己走各位别喷

    5.2笔记界面

    Android如何实现备忘录

    之前自己写的

    5.3 增加记录

    Android如何实现备忘录

    Android如何实现备忘录

    5.4删除记录

    Android如何实现备忘录

    在主界面那个删除是删除全部会提示你 然后你点击进去之后还有一个删除那条记录的删除键 这里就不做演示了

    5.5 查找记录

    Android如何实现备忘录

    哈哈
    ##5.6 改记录

    Android如何实现备忘录

    改之前

    Android如何实现备忘录

    改之后可以看到时间变化

    其它效果靠这样演示不出来,源码在下面可以自取

    感谢你能够认真阅读完这篇文章,希望小编分享的“Android如何实现备忘录”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Android如何实现备忘录

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    Android如何实现备忘录

    这篇文章主要介绍了Android如何实现备忘录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、首先创建保存数
    2023-06-25

    android如何实现备忘录闹钟功能

    要实现备忘录闹钟功能,可以使用Android的AlarmManager和NotificationManager两个类。1. 首先,在AndroidManifest.xml文件中添加以下权限:``````2. 创建一个新的Activity或者
    2023-08-29

    android怎么实现备忘录提醒

    要实现备忘录提醒功能,可以使用Android的AlarmManager类和NotificationManager类。以下是一个简单的实现步骤:1. 在AndroidManifest.xml文件中声明权限:``````2. 创建一个Broad
    2023-08-29

    Android备忘录功能怎么实现

    要实现Android的备忘录功能,可以按照以下步骤进行:1. 创建一个新的Android项目。2. 在布局文件中,设计一个界面用于显示备忘录列表和添加备忘录的按钮。3. 创建一个Java类,用于表示备忘录的数据结构,包括备忘录的标题、内容、
    2023-08-29

    VBS中是如何实现备忘录启动功能

    小编给大家分享一下VBS中是如何实现备忘录启动功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:msg = Array("解除电话 #57#", "服务
    2023-06-08

    案例:python中实现51备忘录

    1.添加Memo类,至少包含id,name,thing,date四个属性,date可以暂时使用字符串表示,比如‘1.2’,‘3.8’,暂时不用考虑时间相关模块2.id属性为只读,其他属性可读写3.添加MemoAdmin类,作为主体程序,管理
    2023-01-31

    基于JavaScript如何实现HarmonyOS备忘录服务卡片

    这篇文章主要介绍“基于JavaScript如何实现HarmonyOS备忘录服务卡片”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于JavaScript如何实现HarmonyOS备忘录服务卡片”文章
    2023-06-30

    Win10如何在桌面添加备忘录

    这篇“Win10如何在桌面添加备忘录”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Win10如何在桌面添加备忘录”文章吧。具
    2023-06-27

    如何使用PHP实现微信小程序的备忘录功能?

    如何使用PHP实现微信小程序的备忘录功能?随着手机普及和便捷应用的增多,备忘录成为了我们日常生活中必不可少的工具之一。微信小程序作为一种快速、便捷的应用形式,也拥有着庞大的用户群体。如何在微信小程序中实现备忘录功能,成为了很多开发者关注的热
    2023-10-27

    win11如何设置备忘录悬浮窗

    在Windows 11中,设置备忘录悬浮窗可以通过以下步骤进行:1. 打开“开始”菜单,点击“设置”图标(齿轮形状)打开设置页面。2. 在设置页面中,点击左侧的“系统”选项。3. 在系统设置页面中,点击左侧的“多任务”选项。4. 在多任务设
    2023-09-11

    C++ 函数的递归实现:如何使用备忘录技术优化递归?

    优化递归的备忘录技术:使用备忘录存储已计算结果,避免重复计算。在 c++++ 中使用 unordered_map 作为备忘录,在计算前检查是否存在结果。存储计算结果后返回,提高遍历目录等计算密集型任务的性能。C++ 函数的递归实现:使用备忘
    C++ 函数的递归实现:如何使用备忘录技术优化递归?
    2024-04-22

    Python中怎么实现一个微信提醒备忘录

    Python中怎么实现一个微信提醒备忘录,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1任何的记录与提取1).任务记录为了便于爬取,推荐使用网页版的在线记事本,现在这种工具
    2023-06-16

    Android如何实现录音功能

    这篇文章给大家分享的是有关Android如何实现录音功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文介绍了Android实现录音的实例代码(MediaRecorder),分享给大家,具体如下:Android
    2023-05-30

    android登录功能如何实现

    Android登录功能可以通过以下步骤实现:1. 创建登录界面:创建一个登录界面的布局文件,包括用户名和密码输入框、登录按钮等组件。2. 获取用户输入:在Activity中获取用户输入的用户名和密码。3. 进行验证:将获取到的用户名和密码与
    2023-08-09

    Android通话记录备份实现代码

    (一) 前言 Android默认提供了联系人备份到sd卡的功能(代码在com.android.vcard包里面),我们可以把联系人导出成.vcf文件存在sd卡中;如果换手机了,我们又可以把联系人从sd卡文件中导入进来。那么,通话记录我们也能
    2022-06-06

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录