精华内容
下载资源
问答
  • AndroidStudio 备忘录之setTextColor

    千次阅读 2019-05-06 21:50:52
    AndroidStudio 备忘录之setTextColor 方式一:<…android:color="#FFFFFF"/> 方式二:tv.setTextColor(0xFFFFFF); 方式三:tv.setTextColor(Color.GRAY); 方式四:tv.setTextColor(Color.rgb(255, 255, 255));...

    AndroidStudio 备忘录之setTextColor


    方式一:<…android:color="#FFFFFF"/>
    方式二:tv.setTextColor(0xFFFFFF);
    方式三:tv.setTextColor(Color.GRAY);
    方式四:tv.setTextColor(Color.rgb(255, 255, 255));
    方式五:tv.setTextColor(Color.parseColor("#FF0000"));
    方式六:tv.setTextColor(getResources().getColor(R.color.colorPrimary));__

    展开全文
  • AndroidStudio 备忘录之fragment activity在默认情况下,切换横竖屏,activity会销毁重建,依附于上面的fragment也会销毁重建 fragment是通过反射进行重建的,而且,只调用了无参构造的方法,这也是有部分人通过new...

    AndroidStudio 备忘录之fragment

    • activity在默认情况下,切换横竖屏,activity会销毁重建,依附于上面的fragment也会销毁重建
    • fragment是通过反射进行重建的,而且,只调用了无参构造的方法,这也是有部分人通过new Fragment()的方式构建fragment时,遇到屏幕切换时,fragment会报空指针异常的原因!
    • 也就是说,fragment在初始化之后会把参数保存在arguments中,当fragment再次重建的时候,它会检查arguments中是否有参数存在,如果有,则拿出来再用,所以我们再onCreate()方法里面才可以拿到之前设置的参数,但是:fragment在重建的时候不会调用有参构造,所以,通过new Fragment()的方法来初始化,fragment重建时,我们设置的参数就没有了
      参考来源
    展开全文
  • 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

    展开全文
  • ** AndroidStudio 备忘录之performClick方法—代码调用点击事件(模拟去触摸控件) 这个方法的作用:使用代码主动去调用控件的点击事件(模拟人手去触摸控件) performClick方法 参考处 ...

    **

    AndroidStudio 备忘录之performClick方法—代码调用点击事件(模拟去触摸控件)

    这个方法的作用:使用代码主动去调用控件的点击事件(模拟人手去触摸控件)
    performClick方法 参考处

    展开全文
  • https://www.jianshu.com/p/33089ca7c98e
  • android:dropDownHorizontalOffset 设置列表框的水平偏移距离 android:dropDownVerticalOffset 设置列表框的水平竖直距离 android:dropDownSelector 列表框被选中时的背景 android:dropDownWidth 设置下拉列表...
  • 导入Miwok时出现错误Error:Failed to find target with hash string ‘android-23’ in: E:\androidstudio\androidstudio\sdk尝试改为android-26,注意,除了像下面博客说的直接修改三个数字,dependencies也要修改...
  • 但在真机上测试时一点“添加备忘录”这个按钮就闪退,原博下面的评论里也有人反应这个问题。想知道是什么原因,应该怎样解决。求大神不吝赐教,感谢!!贴一下创建数据库的代码的代码:NotesDB.javapackagecom.example...
  • Interpolator 负责控制动画变化的速率,使得基本的动画效果能够以匀速、加速、减速、抛物线速率等各种速率变化。 参考来源
  • 方法一. ViewPager + List + PagerAdapter 创建就会一次性加载完四个页面.适合简单的页面,比如app一开始的导航页 方法二. ViewPager + List + FragmentPagerAdapter或FragmentStatePagerAdapter ...
  • android studio 简单备忘录 简单的登录操作 和记录文本删除文本 等功能
  • 修改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...
  •  此项目用来将学习android的基本内容应用于实际【现在有很多的备忘录、便签等类似源码】。这里源码主要源自Notepad。一般备忘录类似记事本,仅作为记录事件之用。这里还附加了其他功能。 开发工具 Android Studio...
  • 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
  • 之前as快捷键用的是eclipse的设置,但这样有一些功能用不了,所以恢复默认了。 修复错误 Alt+Enter ...现在来我几乎抛弃了eclipse,电脑配置跟上以后发现Android studio太好用了。 转载于:https:/...
  • DataBinding Support 快速实现DataBinding布局. ECTranslation 翻译 用法: 选中要翻译的代码 右击-translation. FindBugs-IDEA 静态代码检查 GsonFormat ...SelectorChapek for Android ...
  • 实用设置 1、布局跳到代码:选中布局+Ctrl+B 2、清除无用包:Ctrl+Alt+O 3、自动整理代码格式:Ctrl+Alt+L 4、代码补全快捷键设置:File->Settings->Keymap->Main menu->Code->...
  • android写的一个备忘录
  • Android-Study-Examples Android备忘录(教程)来自我的博客 RJ メモ ( ) [Android Studio]入门笔记Part 1 ( ) [Android Studio]入门笔记第二部分 - Activity( )
  • Android Studio 开发NDK项目的编译配置问题汇总
  • android手机备忘录源代码

    热门讨论 2013-01-17 19:03:01
    android 手机 备忘录 源代码 实用性很强

空空如也

空空如也

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

androidstudio备忘录