android实现简单的记账功能

ps:这次作业真的有点折磨我,花了我断断续续三天的时间,其中有很多功能都是想实现,但是感觉就差一点点,由于截止时间快要到了,只能将还未实现的功能先搁置,后续会补充更多功能的实现。

简单的贴几份代码吧。

MainActivity

package com.hnucm.c202001020151;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.room.Room;import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;import com.scwang.smart.refresh.footer.ClassicsFooter;
import com.scwang.smart.refresh.header.ClassicsHeader;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.scwang.smart.refresh.layout.listener.OnRefreshListener;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {BillDatabase billDatabase;BillDao billDao;RecyclerView recyclerView;MyAdapter myAdapter;SmartRefreshLayout smartRefreshLayout;List<String> stringList=new ArrayList<>();List<String> stringList2=new ArrayList<>();List<String> stringList3=new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);billDatabase = Room.databaseBuilder(this, BillDatabase.class, "mybill").allowMainThreadQueries().build();billDao = billDatabase.getBillDao();recyclerView=findViewById(R.id.recyclerView);myAdapter=new MyAdapter();recyclerView.setAdapter(myAdapter);//填充recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));//纵向滚动smartRefreshLayout=findViewById(R.id.smart);smartRefreshLayout.setRefreshHeader(new ClassicsHeader(MainActivity.this));smartRefreshLayout.setRefreshFooter(new ClassicsFooter(MainActivity.this));findViewById(R.id.back_btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this,LoginActivity.class);startActivity(intent);}});findViewById(R.id.add_btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(MainActivity.this, AddincomeActivity.class);startActivity(intent);}});smartRefreshLayout=findViewById(R.id.smart);smartRefreshLayout.setRefreshHeader(new ClassicsHeader(MainActivity.this));smartRefreshLayout.setRefreshFooter(new ClassicsFooter(MainActivity.this));smartRefreshLayout.setOnRefreshListener(new OnRefreshListener() {//下拉刷新@Overridepublic void onRefresh(@NonNull RefreshLayout refreshLayout) {smartRefreshLayout.finishRefresh(100);List<Bill1> bill1List=billDao.getallBill();for(Bill1 bill1:bill1List) {stringList.add(bill1.type);stringList2.add(bill1.time);stringList3.add(bill1.data);}myAdapter.notifyDataSetChanged();}});}//将列表布局复制N个并且填充到recyclerViewpublic class MyAdapter extends RecyclerView.Adapter<MyViewHolder>{//返回列表布局@NonNull@Overridepublic MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {//布局加载 Context->Activity的引用View view= LayoutInflater.from(MainActivity.this).inflate(R.layout.item_chat,parent,false);MyViewHolder myViewHolder=new MyViewHolder(view);return myViewHolder;}@Overridepublic void onBindViewHolder(@NonNull MyViewHolder holder, int position) {Log.i("onBindViewHolder" , "position :"+position);String title1 =stringList.get(position);String title2 =stringList2.get(position);String title3 =stringList3.get(position);holder.typeText.setText(title1);holder.timeText.setText(title2);holder.dataText.setText(title3);}//列表布局显示的个数@Overridepublic int getItemCount() {return stringList.size();}}public class MyViewHolder extends RecyclerView.ViewHolder{//ALT+ENTERTextView typeText;TextView timeText;TextView dataText;ConstraintLayout constraintLayout;public MyViewHolder(@NonNull View itemView) {super(itemView);
//            textView=itemView.findViewById(R.id.textView);typeText=itemView.findViewById(R.id.textView);timeText=itemView.findViewById(R.id.textView2);dataText=itemView.findViewById(R.id.textView3);}}
}

activity_main.xml

这里用到了RelativeLayout布局,老师还没讲,我也只是懂了一丢丢

<?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="@color/teal_700"android:orientation="vertical"><RelativeLayoutandroid:id="@+id/layout"android:layout_width="match_parent"android:layout_height="45dp"android:background="@color/teal_200"android:gravity="center_vertical"><RelativeLayoutandroid:id="@+id/back_layout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"><ImageViewandroid:id="@+id/back_btn"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="15dp"android:paddingRight="10dp"android:src="@drawable/ic_back" /></RelativeLayout><RelativeLayoutandroid:id="@+id/type_layout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"><TextViewandroid:id="@+id/tb_note_income"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="账单"android:textSize="20sp" /></RelativeLayout><ImageViewandroid:id="@+id/add_btn"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:layout_marginRight="15dp"android:paddingLeft="10dp"android:src="@drawable/tallybook_note" /></RelativeLayout><com.scwang.smart.refresh.layout.SmartRefreshLayoutandroid:id="@+id/smart"android:layout_width="410dp"android:layout_height="544dp"android:layout_marginTop="40dp"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/recyclerView"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#D9FFDA" /></com.scwang.smart.refresh.layout.SmartRefreshLayout>
</LinearLayout>

activity_addincome.xml(收入账单)

由于我不知道应该怎么样在Fragement中监听控件,这里有些功能没有完成。

(消费账单和这个差不多)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><RelativeLayoutandroid:id="@+id/layout"android:layout_width="match_parent"android:layout_height="45dp"android:background="@color/teal_200"android:gravity="center_vertical"><RelativeLayoutandroid:id="@+id/back_layout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"><ImageViewandroid:id="@+id/back_btn"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="15dp"android:paddingRight="10dp"android:src="@drawable/ic_back" /></RelativeLayout><RelativeLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"><TextViewandroid:id="@+id/tb_note_outcome"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="支出  "android:textSize="15sp" /><TextViewandroid:id="@+id/tb_note_income"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toRightOf="@+id/tb_note_outcome"android:text="  收入"android:textSize="15sp" /></RelativeLayout></RelativeLayout><RelativeLayoutandroid:id="@+id/layout02"android:layout_width="match_parent"android:layout_height="700dp"android:layout_marginTop="50dp"android:layout_marginBottom="1dp"><LinearLayoutandroid:id="@+id/select_layout"android:layout_width="397dp"android:layout_height="wrap_content"android:layout_above="@+id/view_line"android:layout_marginLeft="15dp"android:layout_marginRight="15dp"android:layout_marginBottom="6dp"android:background="#8AEA28"android:orientation="horizontal"><TextViewandroid:id="@+id/tb_note_cash"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="15dp"android:layout_marginTop="7dp"android:layout_marginRight="15dp"android:layout_marginBottom="7dp"android:paddingLeft="20dp"android:paddingTop="6dp"android:paddingRight="20dp"android:paddingBottom="7dp"android:text="现金"android:textColor="@color/white"android:textSize="15sp" /><RelativeLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"><ImageViewandroid:id="@+id/tb_note_remark"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:paddingLeft="10dp"android:paddingTop="5dp"android:paddingRight="16dp"android:paddingBottom="5dp"android:src="@drawable/ic_tb_note_remark" /><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="15dp"android:layout_marginTop="7dp"android:layout_marginRight="15dp"android:layout_marginBottom="7dp"android:paddingLeft="20dp"android:paddingTop="6dp"android:paddingRight="20dp"android:paddingBottom="7dp"android:textColor="@color/white"android:textSize="15sp"android:text="日期" /><EditTextandroid:id="@+id/editTextDate"android:layout_width="137dp"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_marginEnd="0dp"android:layout_marginBottom="2dp"android:layout_toStartOf="@+id/tb_note_remark"android:ems="10"android:inputType="date"android:paddingLeft="20dp"tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" /></RelativeLayout></LinearLayout><Viewandroid:id="@+id/view_line"style="@style/horizontal_decoration_style"android:layout_above="@+id/bottom"android:background="#8c8c8c" /><LinearLayoutandroid:id="@+id/bottom"android:orientation="horizontal"android:layout_alignParentBottom="true"android:layout_width="match_parent"android:layout_height="220dp"><LinearLayoutandroid:orientation="vertical"android:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent"><TextViewandroid:id="@+id/tb_calc_num_1"android:text="1"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /><Viewstyle="@style/horizontal_decoration_style"android:background="#8c8c8c"/><TextViewandroid:id="@+id/tb_calc_num_4"android:text="4"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /><Viewstyle="@style/horizontal_decoration_style"android:background="#8c8c8c"/><TextViewandroid:id="@+id/tb_calc_num_7"android:text="7"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /><Viewstyle="@style/horizontal_decoration_style"android:background="#8c8c8c"/><TextViewandroid:id="@+id/tb_calc_num_dot"android:text="."android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /></LinearLayout><Viewstyle="@style/vertical_decoration_style"android:background="#8c8c8c"/><LinearLayoutandroid:orientation="vertical"android:layout_weight="2"android:layout_width="0dp"android:layout_height="match_parent"><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_weight="1"android:layout_height="0dp"><TextViewandroid:id="@+id/tb_calc_num_2"android:text="2"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /><Viewstyle="@style/vertical_decoration_style"android:background="#8c8c8c"/><TextViewandroid:id="@+id/tb_calc_num_3"android:text="3"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /></LinearLayout><Viewstyle="@style/horizontal_decoration_style"android:background="#8c8c8c"/><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_weight="1"android:layout_height="0dp"><TextViewandroid:id="@+id/tb_calc_num_5"android:text="5"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /><Viewstyle="@style/vertical_decoration_style"android:background="#8c8c8c"/><TextViewandroid:id="@+id/tb_calc_num_6"android:text="6"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /></LinearLayout><Viewstyle="@style/horizontal_decoration_style"android:background="#8c8c8c"/><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_weight="1"android:layout_height="0dp"><TextViewandroid:id="@+id/tb_calc_num_8"android:text="8"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /><Viewstyle="@style/vertical_decoration_style"android:background="#8c8c8c"/><TextViewandroid:id="@+id/tb_calc_num_9"android:text="9"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /></LinearLayout><Viewstyle="@style/horizontal_decoration_style"android:background="#8c8c8c"/><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_weight="1"android:layout_height="0dp"><TextViewandroid:id="@+id/tb_calc_num_0"android:text="0"android:layout_width="0dp"android:layout_height="match_parent"android:layout_weight="1"android:textSize="20sp"android:gravity="center"android:textColor="#000000" /></LinearLayout></LinearLayout><Viewstyle="@style/vertical_decoration_style"android:background="#8c8c8c"/><Viewstyle="@style/vertical_decoration_style"android:background="#8c8c8c"/><LinearLayoutandroid:orientation="vertical"android:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent"><RelativeLayoutandroid:id="@+id/tb_calc_num_del"android:layout_weight="1"android:layout_width="match_parent"android:layout_height="0dp"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/ic_tb_calc_del" /></RelativeLayout><TextViewandroid:id="@+id/tb_calc_num_done"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:background="#0A2BDD"android:gravity="center"android:text="确定"android:textColor="@color/white"android:textSize="20sp" /></LinearLayout></LinearLayout><EditTextandroid:id="@+id/editTextTextPersonName6"android:layout_width="match_parent"android:layout_height="227dp"android:ems="10"android:inputType="textPersonName"android:text="请输入收入金额" /></RelativeLayout></RelativeLayout>

AddincomeActivity

package com.hnucm.c202001020151;import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;public class AddincomeActivity extends AppCompatActivity {BillDatabase billDatabase;BillDao billDao;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_addincome);billDatabase = Room.databaseBuilder(this, BillDatabase.class, "mybill").allowMainThreadQueries().build();billDao = billDatabase.getBillDao();EditText dataText = findViewById(R.id.editTextTextPersonName6);EditText timeText=findViewById(R.id.editTextDate);findViewById(R.id.tb_calc_num_done).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String data = dataText.getText().toString();String time = timeText.getText().toString();Bill1 bill1 = new Bill1();bill1.type = "现金";bill1.time=time;bill1.data =data;billDao.insertBill(bill1);Intent intent = new Intent(AddincomeActivity.this, MainActivity.class);startActivity(intent);}});findViewById(R.id.tb_note_income).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(AddincomeActivity.this, AddincomeActivity.class);startActivity(intent);}});findViewById(R.id.tb_note_outcome).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(AddincomeActivity.this, AddoutcomeActivity.class);startActivity(intent);}});findViewById(R.id.back_btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(AddincomeActivity.this, MainActivity.class);startActivity(intent);}});}
}

activity_login.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="#CCFFD7"tools:context=".LoginActivity"><EditTextandroid:id="@+id/editTextTextPersonName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="64dp"android:ems="10"android:inputType="textPersonName"android:minHeight="48dp"android:text="账号"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.462"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/editTextTextPersonName2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:ems="10"android:inputType="textPersonName"android:minHeight="48dp"android:text="密码"app:layout_constraintEnd_toEndOf="@+id/editTextTextPersonName"app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName"app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName" /><Buttonandroid:id="@+id/bt_login"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="8dp"android:layout_marginTop="28dp"android:text="登录"app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName2"app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName2" /><Buttonandroid:id="@+id/bt_register"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="注册"app:layout_constraintEnd_toEndOf="@+id/editTextTextPersonName2"app:layout_constraintTop_toTopOf="@+id/bt_login" />
</androidx.constraintlayout.widget.ConstraintLayout>

activity_register

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="#CCFFD7"tools:context=".RegisterActivity"><EditTextandroid:id="@+id/editTextTextPersonName3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="72dp"android:ems="10"android:inputType="textPersonName"android:minHeight="48dp"android:text="账号"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.437"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/editTextTextPersonName4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:ems="10"android:inputType="textPersonName"android:minHeight="48dp"android:text="密码"app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName3"app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName3" /><EditTextandroid:id="@+id/editTextTextPersonName5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:ems="10"android:inputType="textPersonName"android:minHeight="48dp"android:text="确认密码"app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName4"app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName4" /><Buttonandroid:id="@+id/bt_ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="120dp"android:layout_marginTop="24dp"android:text="确认"app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName5"app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName5" /><Buttonandroid:id="@+id/bt_return"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:text="返回"app:layout_constraintStart_toStartOf="@+id/editTextTextPersonName5"app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName5" /></androidx.constraintlayout.widget.ConstraintLayout>

LoginActivity

package com.hnucm.c202001020151;import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;import java.util.List;public class LoginActivity extends AppCompatActivity {UserDatabase userDatabase;UserDao userDao;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);userDatabase = Room.databaseBuilder(this,UserDatabase.class,"myuser").allowMainThreadQueries().build();userDao=userDatabase.getUserDao();EditText usernameText=findViewById(R.id.editTextTextPersonName);EditText passwordText=findViewById(R.id.editTextTextPersonName2);findViewById(R.id.bt_login).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//TODOString username=usernameText.getText().toString();String password=passwordText.getText().toString();List<User1> user1List=userDao.getallUser();for(User1 user1:user1List) {if (username.equals(user1.username) && password.equals(user1.password)) {SharedPreferences sharedPreferences = getSharedPreferences("user1", MODE_PRIVATE);SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("username", username);editor.putBoolean("isLogin", true);editor.commit();Intent intent = new Intent(LoginActivity.this, WelcomeActivity.class);startActivity(intent);} else {Toast.makeText(LoginActivity.this, "用户名或密码错误", Toast.LENGTH_LONG).show();}}}});findViewById(R.id.bt_register).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(LoginActivity.this,RegisterActivity.class);startActivity(intent);}});}
}

RegisterActivity

package com.hnucm.c202001020151;import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;public class RegisterActivity extends AppCompatActivity {UserDatabase userDatabase;UserDao userDao;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);userDatabase = Room.databaseBuilder(this,UserDatabase.class,"myuser").allowMainThreadQueries().build();userDao=userDatabase.getUserDao();EditText usernameText=findViewById(R.id.editTextTextPersonName3);EditText passwordText=findViewById(R.id.editTextTextPersonName4);EditText repasswordText=findViewById(R.id.editTextTextPersonName5);findViewById(R.id.bt_return).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Intent intent=new Intent(RegisterActivity.this,LoginActivity.class);startActivity(intent);}});findViewById(R.id.bt_ok).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String username=usernameText.getText().toString();String password=passwordText.getText().toString();String repassword=repasswordText.getText().toString();User1 user1=new User1();user1.username=username;user1.password=password;user1.repassword=repassword;userDao.insertUser(user1);Intent intent=new Intent(RegisterActivity.this,LoginActivity.class);startActivity(intent);}});}
}

look这个链接可以帮助了解RelativeLayout布局。

android实现简单的记账功能相关推荐

  1. Android实现简单的计算器功能

    Android实现简单的计算器功能 **前言:**通过Android实现简单的计算器功能,实现简单的加.减.乘.除操作. 效果图如下: 第一步 布局文件:activity_main.xml <? ...

  2. Android中简单实现贴纸功能labelview

    借鉴:https://www.jianshu.com/p/4a16d831c574 虽然目前项目里没有遇到过这个功能,但是以防以后遇到后再去上网查,所以在此记录,这个还是比较简单的,直接看代码. 一. ...

  3. Android 一个简单手机响铃功能实现

    当有新通知到达时,常常以响铃方式提醒用户.这里主要讲怎么通过简单的代码来播放系统默认的铃声.请参阅下面的关键代码: import java.util.Random; import android.ap ...

  4. android 字体描边实现,Android自定义View实现简单文字描边功能

    本文实例为大家分享了Android实现简单文字描边功能的具体代码,供大家参考,具体内容如下 效果图: 实现代码: package com.example.zhangyu.myview.widget; ...

  5. android实现计算器功能吗,利用Android实现一个简单的计算器功能

    利用Android实现一个简单的计算器功能 发布时间:2020-11-20 16:25:01 来源:亿速云 阅读:90 作者:Leah 今天就跟大家聊聊有关利用Android实现一个简单的计算器功能, ...

  6. android实现打电话功能,Android之简单实现拨打电话功能的方法

    手机在我们的日常生活中是最常见的,它的功能是拨打电话和发送短信,那么在Android开发中,我们如何通过该程序拨打电话呢?爱站技术频道给出了Android之简单实现拨打电话功能的方法,一起来看看吧! ...

  7. 微信分享功能android,关于Android实现简单的微信朋友圈分享功能

    1.先下载微信分享的jar包放在lib目录下,并且添加依赖, android:name=".wxapi.WXEntryActivity" android:exported=&quo ...

  8. android计算器功能实现,在android中利用 studio实现一个简单的计算器功能

    在android中利用 studio实现一个简单的计算器功能 发布时间:2020-11-07 15:35:20 来源:亿速云 阅读:168 作者:Leah 这篇文章将为大家详细讲解有关在android ...

  9. Android之OpenCv简单人脸识别功能(Bitmap)

    Android之OpenCv简单人脸识别功能 OpenCv的下载 下载地址 - https://opencv.org/releases/ doc 文档目录 samples 示例代码 sdk 编译后的动 ...

最新文章

  1. Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决
  2. MySQL存储写入速度慢分析
  3. php imagevue,Imagevue 2.1.4 正式注册版(PHP Flash相册源代码下载)
  4. jQuery入门学习
  5. 使用Spring简化JavaMail
  6. 程序片上(内)执行-nandFlash-norFlash
  7. mysql函数使用场景_mysql的函数和存储过程的比较,以及在实际场景中的使用案例...
  8. 物理服务器转虚拟路径,服务器配置虚拟路径
  9. 提升孩子的智力从用对方法做起
  10. HDU2148 Score【序列处理】
  11. 开发选gRPC还是HTTP
  12. 201912月全国计算机二级考试,201912月天津计算机二级报名时间:12月5日-12月7日!附报名入口...
  13. 在浏览器输入URL,按下回车之后的流程?
  14. Cannot use import statement outside a module
  15. comsume(comsumer怎么读)
  16. 如何快速判断页面是服务端渲染还是客户端渲染
  17. 第四范式发布「式说」大模型,以生成式AI重构企业软件(AIGS)
  18. 国内开源镜像站点汇总(Centos、Apache、MySQL等各种软件源)
  19. 做人做事的艺术html,人生三会:会做人、会说话、会做事
  20. UART RS-232 485通信 串口通信传输时间计算 波特率计算

热门文章

  1. Codeforces Round #701 (Div. 2) 总结
  2. IEEE Robotics and Automation Letters(RA-L)与ICRA投稿
  3. Windows Server 2012网页加载速度慢解决方法
  4. 本、硕、博的区别(终极版)
  5. 通过PS给人物制作电影海报效果照片
  6. 运维自动化所需要的技能?
  7. C盘清理小技巧(.dll顽固插件清理方法)
  8. 【敬伟ps教程】修复工具
  9. Linux那些事儿 之 戏说USB(22)设备的生命线(一)
  10. CSS3蒙版 Mask