精华内容
下载资源
问答
  • androidstudio备忘录
    千次阅读
    2019-06-04 23:28:42

    Spinner的相关属性:

    属性功能
    android:dropDownHorizontalOffset设置列表框的水平偏移距离
    android:dropDownVerticalOffset设置列表框的水平竖直距离
    android:dropDownSelector列表框被选中时的背景
    android:dropDownWidth设置下拉列表框的宽度
    android:gravity设置里面组件的对其方式
    android:popupBackground设置列表框的背景
    android:prompt设置对话框模式的列表框的提示信息(标题),只能够引用string.xml 中的资源id,而不能直接写字符串
    android:spinnerMode列表框的模式,有两个可选值: dialog:对话框风格的窗口 dropdown:下拉菜单风格的窗口(默认)
    可选属性:android:entries使用数组资源设置下拉列表框的列表项目

    Spinner遇到的问题:

    1.改spinner样式:

    <Spinner
        android:layout_width="19dp"
        android:layout_height="19dp"
        android:background="@mipmap/ceshi2_spcircle_back">

    2.修改spinner下拉框出现位置:

    <Spinner
        android:layout_width="19dp"
        android:layout_height="19dp"
        android:background="@mipmap/ceshi2_spcircle_back"
        android:dropDownHorizontalOffset="10dp"
        android:dropDownVerticalOffset="15dp">
    </Spinner>

    3.改spinner下拉框样式:

    √ 添加为Spinner创建的适配器adapter如下语句,其中"choosebtn_item"为自定义布局

    adapter.setDropDownViewResource(R.layout.choosebtn_item);

    ※ 需要注意的是如果用的是ArrayAdapter(数组适配器)则适配的是TextView控件,对于比较复杂的下拉列表样式则很有局限。可选择使用SimpleAdapter(简单适配器),实例用法:

    String[] num = new String[]{"01", "02", "03", "04", "05","06", "07", "08", "09", "10"};
    int images[] = new int[]{……}
    data = new ArrayList<Map<String, Object>>();
    for (int i = 0; i < num.length; i++) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("images", images);
        map.put("num", num[i]);
        data.add(map);
    }
    SimpleAdapter adapter = new SimpleAdapter(this, data,
            android.R.layout.simple_spinner_item, new String[] { "images", "num" },
            new int[] { R.id.images, R.id.num});
    adapter1.setDropDownViewResource(R.layout.choosebtn_item);
    _activity_test_spinner.setAdapter(adapter);

    但是Spinner并不能实现多列的效果(目前没找到办法),想要多列的下拉框效果可以使用“GridView”

    更多相关内容
  • android写的一个备忘录
  • android studio 简单备忘录 简单的登录操作 和记录文本删除文本 等功能
  • 分为两个部分,activity_main.xml 和MainActivity.java,相应背景和图片放在app/res/drawable下,代码分别如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=... android:la

    话不多说,先上效果图!

    此项目代码分为两个部分,activity_main.xml 和MainActivity.java,相应背景和图片放在app/res/drawable下,代码分别如下:

    <?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:background="@drawable/bg"
        android:orientation="vertical"
        android:padding="16dp">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="130dp">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="姓  名 :"
                android:textSize="18sp" />
            <EditText
                android:id="@+id/et_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="请输入姓名"
                android:textSize="16sp" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="电  话 :"
                android:textSize="18sp" />
            <EditText
                android:id="@+id/et_phone"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="请输入手机号码"
                android:textSize="16sp" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <Button
                android:id="@+id/btn_add"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:layout_weight="1"
                android:background="#B9B9FF"
                android:text="添加"
                android:textSize="18sp" />
            <Button
                android:id="@+id/btn_query"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:layout_weight="1"
                android:background="#DCB5FF"
                android:text="查询"
                android:textSize="18sp" />
            <Button
                android:id="@+id/btn_update"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="2dp"
                android:layout_weight="1"
                android:background="#E6CAFF"
                android:text="修改"
                android:textSize="18sp" />
            <Button
                android:id="@+id/btn_delete"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#ACD6FF"
                android:text="删除"
                android:textSize="18sp" />
        </LinearLayout>
        <TextView
            android:id="@+id/tv_show"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            android:textSize="20sp" />
    </LinearLayout>
    package com.example.myapplication;//包需要改成自己的
    
    import androidx.appcompat.app.AppCompatActivity;
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    public class MainActivity extends AppCompatActivity implements
            View.OnClickListener {
        MyHelper myHelper;
        private EditText mEtName;
        private EditText mEtPhone;
        private TextView mTvShow;
        private Button mBtnAdd;
        private Button mBtnQuery;
        private Button mBtnUpdate;
        private Button mBtnDelete;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            myHelper = new MyHelper(this);
            init();
        }
        private void init() {
            mEtName = findViewById(R.id.et_name);
            mEtPhone = findViewById(R.id.et_phone);
            mTvShow = findViewById(R.id.tv_show);
            mBtnAdd = findViewById(R.id.btn_add);
            mBtnQuery = findViewById(R.id.btn_query);
            mBtnUpdate = findViewById(R.id.btn_update);
            mBtnDelete = findViewById(R.id.btn_delete);
            mBtnAdd.setOnClickListener(this);
            mBtnQuery.setOnClickListener(this);
            mBtnUpdate.setOnClickListener(this);
            mBtnDelete.setOnClickListener(this);
        }
        @Override
        public void onClick(View v) {
            String name, phone;
            SQLiteDatabase db;
            ContentValues values;
            switch (v.getId()) {
                case R.id.btn_add:
                    name = mEtName.getText().toString();
                    phone = mEtPhone.getText().toString();
                    db = myHelper.getWritableDatabase();
                    values = new ContentValues();
                    values.put("name", name);                            values.put("phone", phone);
                    db.insert("information", null, values);
                    Toast.makeText(this, "信息已添加", Toast.LENGTH_SHORT).show();
                    db.close();
                    break;
                case R.id.btn_query:
                    db = myHelper.getReadableDatabase();
                    Cursor cursor = db.query("information", null, null, null, null,
                            null, null);
                    if (cursor.getCount() == 0) {
                        mTvShow.setText("");
                        Toast.makeText(this, "没有数据", Toast.LENGTH_SHORT).show();
                    } else {
                        cursor.moveToFirst();
                        mTvShow.setText("Name :  " + cursor.getString(1) +
                                "  ;Tel :  " + cursor.getString(2));
                    }
                    while (cursor.moveToNext()) {
                        mTvShow.append("\n" + "Name :  " + cursor.getString(1) +
                                "  ;Tel :  " + cursor.getString(2));
                    }
                    ((Cursor) cursor).close();
                    db.close();
                    break;
                case R.id.btn_update:
                    db = myHelper.getWritableDatabase();
                    values = new ContentValues();
                    values.put("phone", phone = mEtPhone.getText().toString());
                    db.update("information", values, "name=?",
                            new String[]{mEtName.getText().toString()});
                    Toast.makeText(this, "信息已修改", Toast.LENGTH_SHORT).show();
                    db.close();
                    break;
                case R.id.btn_delete:
                    db = myHelper.getWritableDatabase();
                    db.delete("information", null, null);
                    Toast.makeText(this, "信息已删除", Toast.LENGTH_SHORT).show();
                    mTvShow.setText("");
                    db.close();
                    break;
            }
        }
        class MyHelper extends SQLiteOpenHelper {
            public MyHelper(Context context) {
                super(context, "itcast.db", null, 1);
            }
            @Override
            public void onCreate(SQLiteDatabase db) {
                db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20),  phone VARCHAR(20))");
            }
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            }
        }
    }

    程序效果图是这样的,可实现增删改查功能,有问题欢迎留言。如若对您有帮助,点个赞再走吧!

    展开全文
  • Android Studio 备忘录(简单)实现

    万次阅读 多人点赞 2020-07-01 16:39:48
    Android Studio 环境下,备忘录(简单)的实现,功能有:添加,单个查询,删除全部内容,并可获取当前时间存储在SqlLite中。所用到的显示控件为 ScrollView,EditText,TextView,ImageButton. 图片展示 首页 添加页 ...

    项目简介

    Android Studio 环境下,备忘录(简单)的实现,功能有:添加,单个查询,删除全部内容,并可获取当前时间存储在SqlLite中。所用到的显示控件为 ScrollView,EditText,TextView,ImageButton.

    图片展示

    首页

    在这里插入图片描述

    添加页

    在这里插入图片描述

    添加后的页面

    在这里插入图片描述

    Acticity_main.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"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/backgroundone"
        android:orientation="vertical"
        tools:context=".MainActivity">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:layout_gravity="center_horizontal">
            <TextView
                android:id="@+id/test"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="我的备忘录"
                android:textColor="#474646"
                android:textSize="45sp"
                android:textStyle="bold" />
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="10dp"
            android:orientation="horizontal">
    
            <EditText
                android:id="@+id/view_select"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:ems="13"
                android:hint="此处可以查询数据!"
                android:inputType="textPersonName" />
    
    
            <ImageButton
                android:id="@+id/btn_select"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@android:color/transparent"
                app:srcCompat="@android:drawable/ic_menu_search" />
    
        </LinearLayout>
    
    
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="490dp"
            android:layout_margin="5dp"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="20dp">
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
    
                <TextView
                    android:id="@+id/data"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center_horizontal"
                    android:textSize="20dp"></TextView>
            </LinearLayout>
    
        </ScrollView>
    
        <ImageButton
            android:id="@+id/btn_add"
            android:layout_width="80dp"
            android:layout_height="74dp"
            android:layout_marginLeft="300dp"
            android:background="@android:color/transparent"
            app:srcCompat="@drawable/add1" />
    
    
    </LinearLayout>
    

    Acativity_add.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"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".add">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
    
            <ImageButton
                android:id="@+id/btn_back"
                android:layout_width="140dp"
                android:layout_height="60dp"
                android:background="@color/colorSilve"
                app:srcCompat="@android:drawable/ic_menu_revert" />
    
            <ImageButton
                android:id="@+id/btn_finish"
                android:layout_width="130dp"
                android:layout_height="60dp"
                android:visibility="visible"
                android:background="@color/colorSilve"
                app:srcCompat="@android:drawable/checkbox_on_background" />
    	  <!--颜色是资源文件里设置好的,也可以自己随意改边颜色-->
            <ImageButton
                android:id="@+id/btn_clear"
                android:layout_width="140dp"
                android:layout_height="60dp"
                android:visibility="visible"
                android:background="@color/colorSilve"
                app:srcCompat="@android:drawable/ic_delete" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:id="@+id/now_time"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:textStyle="bold"
                android:textSize="20dp">
            </TextView>
    
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <EditText
                android:id="@+id/data_information"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#00FFFFFF"
                android:gravity="start"
                android:textSize="25dp"
                android:hint="此处写文章"
                android:textColor="#070507"
                >
            </EditText>
    
    
        </LinearLayout>
    
    
    
    
    </LinearLayout>
    

    MainActivity.java代码展示

    package com.example.twicehomework;
    
    import androidx.appcompat.app.AppCompatActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.ImageButton;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    public class MainActivity extends AppCompatActivity {
        private ImageButton btn_add;
        private TextView data;
        private ImageButton btn_select;
        private EditText view_select;
    
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            data = findViewById(R.id.data);
            btn_select = findViewById(R.id.btn_select);
            view_select = findViewById(R.id.view_select);
    
    
    
            //跳转
            btn_add = (ImageButton) findViewById(R.id.btn_add);
            btn_add.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent();
                    intent.setClass(MainActivity.this, add.class);
                    startActivity(intent);
                }
            });
    
    
            /*
            * 页面传递值
            * */
            Intent i = getIntent();
            String get_data = i.getStringExtra("data");
            data.setText(get_data);
    
    
            //查询监听
            btn_select.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String input = view_select.getText().toString().trim();
                    String get = data.getText().toString().trim();
    
                    //判断查询信息输入是否为空,并返回值
                    if (!input.isEmpty()) {
                        int a = get.indexOf(input); //内容第一次出现的位置
    
                        //判断查询内容是否存在
                        if ( a != -1 ){
    
                            String front = get.substring(0,a+1);    //查询内容字段的位置的前一段数据截取
                            String after = get.substring(a+1,get.length()); //查询内容字段的位置的的后一段数据截取
    
                            int a1 = front.lastIndexOf("2020"); //前一段数据最后一次出现2020的位置
                            int b1 = after.indexOf("2020"); //后一段数据第一次出现2020的位置
    
    
                            String front2 ;//传值位
                            String after2 ;//传值位
    
                            //防止查询数据为第一位,出现错误
                            if (a1 == -1) {
                               front2 = front;
                            }else{
                                String front1 = front.substring(a1, front.length());
                                front2 = front1;
                            }
    
                            //防止查询数据为最后一位,出现错误
                            if (b1 == -1){
                                after2 = after;
                            }else {
                                String after1 = after.substring(0,b1);
                                after2 = after1;
                            }
    
                            showMsg(front2 + after2 );//显示查询结果信息
    
                        }else {
                            showMsg("无匹配数据");
                        }
    
                    }else{
                        showMsg("请输入查询的数据");
                    }
                }
    
            });
    
        }
    
        //显示提示消息
        private void showMsg(String msg){
            Toast.makeText(this,msg,Toast.LENGTH_SHORT).show();
        }
    }
    

    add.java代码展示

    package com.example.twicehomework;
    
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.ContentValues;
    import android.content.Context;
    import android.content.Intent;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.ImageButton;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    
    public class add extends AppCompatActivity {
    
        private ImageButton btn_back; //返回按钮
        private ImageButton btn_finish;//完成按钮
        private ImageButton btn_clear;//清楚所有数据按钮
    
    
        private TextView now_time;//当前时间
        private EditText data_information;//存储数据
    
    
    
    
        //与数据库操作相关的成员变量
        private MyDbHelper myDbHelper;//数据库帮助类
        private SQLiteDatabase db;//数据库类
        private ContentValues values;//数据表的一些参数
        private static final String mTablename = "mymemo";//数据表的名称
    
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_add);
    
            //建立联系
            btn_back = findViewById(R.id.btn_back);
            data_information = findViewById(R.id.data_information);
            now_time = findViewById(R.id.now_time);
            btn_finish = findViewById(R.id.btn_finish);
    
    
            btn_clear = findViewById(R.id.btn_clear);
    
    
            //初始化数据库工具类实例
            myDbHelper  = new MyDbHelper(this);
    
    
            //获取手机当前时间
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date(System.currentTimeMillis());
            final String str_time = simpleDateFormat.format(date);
            now_time.setText(str_time);
    
    
    
    
            //返回主界面
            btn_back.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent();
                    intent.setClass(add.this,MainActivity.class);
                    startActivity(intent);
                    queryData();
    
                }
            });
    
    
    
            //完成并执行添加操作
            btn_finish.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String input = data_information.getText().toString().trim();
                    if (input.isEmpty()){
                        showMsg("请输入要记录的内容");
                    }else {
                        addData(str_time.trim(),input);
                        finish();
                        queryData();
                    }
                }
            });
    
            btn_clear.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    clearData();
                    showMsg("数据清楚完毕");
                }
            });
    
        }
    
    
        //添加数据方法
        private void addData(String now_time,String data_information){
            db = myDbHelper.getWritableDatabase();
            values = new ContentValues();
            values.put("now_time",now_time);
            values.put("information",data_information);
            db.insert(mTablename,null,values);
            showMsg("添加成功");
    
        }
    
        //清空所有数据的方法
        private void clearData(){
    
            db = myDbHelper.getWritableDatabase();
            db.delete(mTablename,null,null);
            String srtResult = "";
            Intent intent = new Intent(add.this,MainActivity.class);
            intent.putExtra("data",srtResult);
            startActivity(intent);
            showMsg("已经全部清空");
        }
    
    
        //显示消息方法
        private void showMsg(String msg){
            Toast.makeText(this,msg,Toast.LENGTH_SHORT).show();
        }
    
    
        //查询方法
        private void queryData(){
            db = myDbHelper.getReadableDatabase();
            Cursor cursor = db.query(mTablename,null,null,null,
                    null,null,null);
            String srtResult = "";
            while (cursor.moveToNext()){
                srtResult += "\n" + cursor.getString(1);
                srtResult += "\n内容:" + cursor.getString(2);
                srtResult += "\n";
            }
            Intent intent = new Intent(add.this,MainActivity.class);
            intent.putExtra("data",srtResult);
            startActivity(intent);
        }
    
    
    
    
    
        /*
        *
        *
        * 自定义数据库帮助类,sqllite部分
        *
        * */
        class MyDbHelper extends SQLiteOpenHelper{
    
            public MyDbHelper(@Nullable Context context) {
                super(context, "mymemo.db", null, 2);
            }
    
            //只在创建数据库时,创建一次这个表
            @Override
            public void onCreate(SQLiteDatabase db) {
                db.execSQL("create table " + mTablename + "(_id integer primary key autoincrement, " +
                        "now_time varchar(50) unique,information varchar(100) )");
            }
    
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
            }
        }
    }
    

    项目难点

    思想

    首先,整个的设计思想为一个页面显示信息,一个页面添加删除信息,因此会有两个xml文档以及对应的两个java文档,activity_main.xml 对应的MainActivity.java,activity_add.xml对应的add.java ,在activity_main.xml 中显示备忘录信息,以及查询备忘录信息。在activity_add.xml中实现把信息添加到数据库中。此项目使用的数据库为sqlLite,因为本文不涉及LIstView控件的使用,只是涉及到sqlLite通过Intent传值再现实,代码中已经体现。

    代码

    代码部分的难点有sqlLite如何创建表以及添加删除操作,页面的传值操作。

    在sqlLite查询中通过页面转换的控制利用Intent进行传值,将数据传送到显示页面中在进行展示。

     //查询方法
        private void queryData(){
            db = myDbHelper.getReadableDatabase();
            Cursor cursor = db.query(mTablename,null,null,null,
                    null,null,null);
            String srtResult = "";
            while (cursor.moveToNext()){
                srtResult += "\n" + cursor.getString(1);
                srtResult += "\n内容:" + cursor.getString(2);
                srtResult += "\n";
            }
            Intent intent = new Intent(add.this,MainActivity.class);
            intent.putExtra("data",srtResult);
            startActivity(intent);
        }
    

    除过传值,在主界面查询中会有缺陷,只能查询单次的,并且不能对查询内容进行修改。

    声明

    本文用来当做参考,为刚开始学习Android Studio的同志提供思路,如文章有缺陷,可以在评论区下方打出,让其他同志参考。本项目源码将在GitHub中上传,帮助到各位的话,还请添加收藏关注一下。
    https://github.com/bestxiaoxiaoming-hm/AS-Memorandum

    展开全文
  • Android 备忘录源码.zip

    2021-12-16 15:09:54
    Android 备忘录源码.zip
  • 主要介绍了Android编程设计模式之备忘录模式,结合实例形式详细分析了Android备忘录模式的概念、原理、应用场景、用法及相关操作注意事项,需要的朋友可以参考下
  • 利用数据存储的文件内部存储开发技术,实现了一个简易的备忘录,其功能模块包括保存备忘录、读取备忘录等。
  • 基于androidstudio开发的记事本,备忘录项目,附带apk安装文件与截图,以及源码。功能包括,新增,修改,删除,分页获取,设置界面,可根据自己的功能进行开发
  • Android Studio-备忘录功能实现

    千次阅读 2020-12-23 05:11:10
    终于,Android作业弄完了,最后一个,备忘录教学。相关安卓教学内容:首先第一步,还是老样子,创建一个NoteActivity。image.png第二步,打开activity_note.xml,开始布局,话不多说了,关于这一块的内容我在登录,...

    终于,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

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

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

    展开全文
  • Android 手机备忘 录的设计与实现开 题报告 1 2020 年 4 月 19 日 邵阳学院毕业设计论文任务书 年级专业 级通信工程 学生姓名 学 号 课题名称 Android 手机备忘录的设计与实现 设计 (论文 ) 11 月 15 日至 06 月 10 ...
  • android编写的便捷备忘录,能实现增,删,改,查的功能。有时间提示,里面有apk文件可以down到手机上面直接运行,还有就是android studio项目,直接导入可以使用
  • 备忘录源码.zip
  • [导读]到目前为止,你已经熟悉了关于创建新项目、编程和重构的基础知识,是时候创建一款 Android应用(也...这些实验的目的是通 过开发Af)p 让你熟悉Android Studio的用法。在这个项目中,你将要开发一款用于管理备 ...
  • android记事本备忘录,新手必看版!
  • 基于安卓Android的手机备忘录设计(AndroidStudio)(论文11300字,程序代码)摘要:互联网技术和智能手机的普及,使人们接收到的信息变得越来越碎片化和多元化,人脑很难一一记下自己所要处理的每个信息,因此十分需要一...
  • Android开发备忘录

    2021-12-22 17:45:46
    设计和实现一个类似个人备忘录Android APP ,数据库采用 SQLite (也可以直接访问 Web 端 MySQL 数据库、或提供 Web 接口访问 MySQL 数据库)。 1.用户注册和登录(这类 APP 一般面对个人,用户不需要分类别); ...
  • 修改studio配置文件:userhome.AndroidStudio4.0\config\studio64.exe.vmoptions 添加: # custom Android Studio VM options, see https://developer.android.com/studio/intro/studio-config.html -Dfile.encoding...
  • 但在真机上测试时一点“添加备忘录”这个按钮就闪退,原博下面的评论里也有人反应这个问题。想知道是什么原因,应该怎样解决。求大神不吝赐教,感谢!!贴一下创建数据库的代码的代码:NotesDB.javapackagecom.example...
  • Android Studio-手把手教你做备忘录

    万次阅读 多人点赞 2019-12-19 14:43:21
    终于,Android作业弄完了,最后一个,备忘录教学。 相关安卓教学内容: 启动界面:启动界面. 登录注册功能:https://www.jianshu.com/p/3882eaf8693e 首先第一步,还是老样子,创建一个NoteActivity。 ...
  • Android studio备忘录添加背景音乐 目录Android studio备忘录添加背景音乐一、音乐导入二、代码(1)AndroidMainfest.xml(2)MyIntentService类(3)EditActivity三、演示 一、音乐导入 ​在project/app/src/...
  •  此项目用来将学习android的基本内容应用于实际【现在有很多的备忘录、便签等类似源码】。这里源码主要源自Notepad。一般备忘录类似记事本,仅作为记录事件之用。这里还附加了其他功能。 开发工具 Android Studio...
  • android备忘录

    2021-06-07 17:35:22
    【实例简介】android调用闹铃服务定时提醒,备忘录。参考博客:http://blog.csdn.net/tan313/article/details/45251907【实例截图】【核心代码】MeMoDemo└── MeMoDemo├── AndroidManifest.xml├── bin│ ├...
  • android studio使用备忘录

    千次阅读 2015-10-28 10:33:04
    二、android studio常规设置1、加入代码行数 File -> setting -> Editor ->General->Appearance (http://img.blog.csdn.net/20151028160619031) 2、Android Studio apk 打包流程 Build -> Gene
  • <GridView android:id="@+id/gridView" android:layout_margin="0dp" android:numColumns="7" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp"> adapter...
  • 【实例简介】android 记事本 备忘录 + 闹钟提醒完整代码,可直接运行【实例截图】【核心代码】notePad└── notePad7├── AndroidManifest.xml├── bin│ ├── classes.dex│ ├── com│ │ └── note│ ...
  • Android日历备忘录案例

    2021-01-08 18:29:01
    该日历备忘录app实现了日历查看,添加备忘录,闹钟提醒,删除备忘录等功能,适合新手学习。 开发语言: java 技术框架: mvc 开发工具: AndroidStudio2.2,新手最好使用此版本搭建,不同版本修改配置比较繁琐 ...
  • andoird 备忘录记事本ui界面设计毕业设计源码,android studio编译多任务清单 ...andoird备忘录记事本ui界面设计毕业设计源码,androidstudio编译,项目有源文件和apk-互联网文档类资源-CSDN下载 ...
  • Android软件源码使用自定义日历的简洁TODO备忘录是一个基于安卓的TODO备忘录软件项目源码,程序使用了一个自定义的日历控件,可以显示农历星期公历和节日信息,另外还可以自定义提醒时间和重复提醒周期以及优先级。...
  • 实用设置 1、布局跳到代码:选中布局+Ctrl+B 2、清除无用包:Ctrl+Alt+O 3、自动整理代码格式:Ctrl+Alt+L 4、代码补全快捷键设置:File->Settings->Keymap->Main menu->Code->...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,335
精华内容 534
关键字:

androidstudio备忘录