团队开发 --Android

news/2024/5/19 3:14:23

今天是第一次写,但不是第一天开始,放五一小长假,我的队友回家了,我们两个就属于分工合作,反正就最近几天的成果。

 

今天不早了,其他注意事项明天说,今天先上代码。

MainActivity
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.FragmentManager;import com.example.myapplication3.R;
import com.example.myapplication3.activity.bean.User;
import com.example.myapplication3.activity.dao.Dao;
import com.example.myapplication3.activity.fragment.FiratFragment;
import com.example.myapplication3.activity.mysql.getConnection;public class MainActivity extends AppCompatActivity {Button register = null;EditText name = null;EditText password = null;User user = new User();Dao dao = new Dao();
String ne = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获取碎片管理器
//        FragmentManager fm = getSupportFragmentManager();// 在主容器里添加
//        fm.beginTransaction().replace(R.id.fragment_firat,new FiratFragment()).commit();
findALl();register.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {user = new User(name.getText().toString(),password.getText().toString());Thread thread = new Thread(new Runnable() {@Overridepublic void run() {while (dao.checkUser(user)){runOnUiThread(new Runnable() {@Overridepublic void run() {Toast toast = Toast.makeText(MainActivity.this,"登录成功!",Toast.LENGTH_SHORT);toast.show();Intent intent = new Intent(MainActivity.this, MainActivity2.class);Bundle bundle = new Bundle();bundle.putString("username",name.getText().toString());intent.putExtras(bundle);startActivity(intent);}});break;}while(dao.checkUser(user) == false){runOnUiThread(new Runnable() {@Overridepublic void run() {Toast toast = Toast.makeText(MainActivity.this,"登录失败!",Toast.LENGTH_SHORT);toast.show();}});break;}}});thread.start();}});}private void findALl(){register = findViewById(R.id.register);name = findViewById(R.id.name);password = findViewById(R.id.password);}}

 

MainActivity2
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.viewpager2.widget.ViewPager2;import com.example.myapplication3.R;
import com.example.myapplication3.activity.fragmentpageradapter.myFragmentPagerAdapter;
import com.example.myapplication3.activity.fragment.Fragment1;public class MainActivity2 extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {private String name;private RadioButton a;private RadioButton b;private RadioButton c;private RadioButton d;private RadioGroup rg_tab_bar;private ViewPager2 viewpage;private myFragmentPagerAdapter myFragmentPagerAdapter;public static final int PAGE_ONE = 0;public static final int PAGE_TWO = 1;public static final int PAGE_THREE = 2;public static final int PAGE_FOUR = 3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2);bindView();a.setChecked(true);}private void bindView(){Bundle bundle = getIntent().getExtras();if(bundle != null){name = bundle.getString("username");}a = (RadioButton) findViewById(R.id.a);b = (RadioButton) findViewById(R.id.b);c = (RadioButton) findViewById(R.id.b);d = (RadioButton) findViewById(R.id.d);rg_tab_bar = (RadioGroup) findViewById(R.id.rg_tab_bar);viewpage = (ViewPager2) findViewById(R.id.viewpager);rg_tab_bar.setOnCheckedChangeListener(this);myFragmentPagerAdapter = new myFragmentPagerAdapter(getSupportFragmentManager(),getLifecycle());viewpage.setAdapter(myFragmentPagerAdapter);viewpage.setCurrentItem(0);viewpage.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {@Overridepublic void onPageSelected(int position) {super.onPageSelected(position);switch (position) {case PAGE_ONE:if (myFragmentPagerAdapter.createFragment(PAGE_ONE) != null){Fragment1 fragment1 = (Fragment1) myFragmentPagerAdapter.createFragment(PAGE_ONE);fragment1.upData(name);}rg_tab_bar.check(R.id.a);break;case PAGE_TWO:rg_tab_bar.check(R.id.b);break;case PAGE_THREE:rg_tab_bar.check(R.id.c);break;case PAGE_FOUR:rg_tab_bar.check(R.id.d);break;}}@Overridepublic void onPageScrollStateChanged(int state) {super.onPageScrollStateChanged(state);if (state == 2) {switch (viewpage.getCurrentItem()) {case PAGE_ONE:a.setChecked(true);break;case PAGE_TWO:b.setChecked(true);break;case PAGE_THREE:c.setChecked(true);break;case PAGE_FOUR:d.setChecked(true);break;}}}});}@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {switch (checkedId) {case R.id.a:viewpage.setCurrentItem(PAGE_ONE);break;case R.id.b:viewpage.setCurrentItem(PAGE_TWO);break;case R.id.c:viewpage.setCurrentItem(PAGE_THREE);break;case R.id.d:viewpage.setCurrentItem(PAGE_FOUR);break;}}
}

Dao

import com.example.myapplication3.activity.bean.State;
import com.example.myapplication3.activity.bean.User;
import com.example.myapplication3.activity.mysql.getConnection;import java.sql.*;public class Dao {Connection connection ;//    添加信息public void insertOld(User user){connection = getConnection.getcoon();String sql = "insert into information (`name`,`password`) value (?,?)";try {PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1, user.getName());ps.setString(2, user.getPassword());ps.executeUpdate();} catch (SQLException e) {throw new RuntimeException(e);}}public void insertSubmit(State st){connection = getConnection.getcoon();String sql = "insert into submit (`name`,`state`) value (?,?)";try {PreparedStatement ps = connection.prepareStatement(sql);ps.setString(1,st.getName());ps.setString(2,st.getState());ps.executeUpdate();} catch (SQLException e) {throw new RuntimeException(e);}}//    查询用户是否存在public boolean checkUser(User user){PreparedStatement ps = null;ResultSet re = null;connection = getConnection.getcoon();String sql = "select * from information where name = ? and password = ? ";try {ps = connection.prepareStatement(sql);ps.setString(1, user.getName());ps.setString(2, user.getPassword());re = ps.executeQuery();return re.next();} catch (Exception e) {e.printStackTrace();}finally {try { if (re != null) re.close(); } catch (Exception e) { e.printStackTrace(); }try { if (ps != null) ps.close(); } catch (Exception e) { e.printStackTrace(); }try { if (connection != null) connection.close(); } catch (Exception e) { e.printStackTrace(); }}return false;}
}

User

public class User {private String name;private String password;public String getName() {return name;}public void setName(String name) {this.name = name;}public String  getPassword() {return password;}public void setPassword(String  password) {this.password = password;}public User(String name, String password) {this.name = name;this.password = password;}public User() {}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", password='" + password + '\'' +'}';}
}

activity_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:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".activity.activity.MainActivity"><FrameLayoutandroid:id="@+id/fragment_firat"android:name="com.example.myapplication3.activity.fragment.FiratFragment"android:layout_width="match_parent"android:layout_height="70dp"/><!-- 姓名   --><GridLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="2"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="姓 名:"android:textSize="20sp"/><EditTextandroid:id="@+id/name"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="text" /></GridLayout><!--密码--><GridLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="2"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="密 码:"android:textSize="20sp"/><EditTextandroid:id="@+id/password"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="textPassword" /></GridLayout><Buttonandroid:id="@+id/register"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="登录" /></LinearLayout>

activity_main2.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".activity.activity.MainActivity2"><RelativeLayoutandroid:id="@+id/ly_top_bar"android:layout_width="match_parent"android:layout_height="48dp"><TextViewandroid:id="@+id/txt_topbar"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_centerInParent="true"android:gravity="center"android:text="信息"android:textSize="18sp" /><Viewandroid:layout_width="match_parent"android:layout_height="2px"android:layout_alignParentBottom="true"/></RelativeLayout><RadioGroupandroid:id="@+id/rg_tab_bar"android:layout_width="match_parent"android:layout_height="56dp"android:layout_alignParentBottom="true"android:background="@color/white"android:orientation="horizontal"><RadioButtonandroid:id="@+id/a"style="@style/tab_menu_item"android:text="one"/><RadioButtonandroid:id="@+id/b"style="@style/tab_menu_item"android:text="two"/><RadioButtonandroid:id="@+id/c"style="@style/tab_menu_item"android:text="there"/><RadioButtonandroid:id="@+id/d"style="@style/tab_menu_item"android:text="four"/></RadioGroup><androidx.viewpager2.widget.ViewPager2android:id="@+id/viewpager"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_above="@id/rg_tab_bar"android:layout_below="@id/ly_top_bar"/></RelativeLayout>

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/28416.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

232自由口转Profinet网关配置测试案例

232自由口转Profinet网关(XD-PNR100/300),是一种用于将自由协议转换为Profinet协议的设备,可以实现不同网络之间的通信和数据交换。232自由口转Profinet网关高度的灵活性和可靠性使其成为工业自动化领域的重要工具,并将其与Profinet网络无缝集成,实现数据的快速传输和交换。…

[2]自定义Lua解析方式

[2]自定义Lua解析方式 在上文中我们学会学会更改加载路径,加载对应文件夹下的Lua脚本。 默认解析加载的lua脚本存在的文件位置非AB包或者Resources文件夹下往往不能随包体更新,这显然不符合热更需要。因此自定义继承 tolua中lua脚本加载解析类LuaFileUtils来重写对应的lua脚本…

无规律快速批量重命名文件(夹)-固定命名

首先,需要用到的这个工具:度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z这里有1万多个文件,要命名成无规律的、不同的文件名 目标文件名里面的是上面已经修正数据的目标 一句话思路:提取全部目标名称,放到要改动的地方去 打开工具,切换到“文件批量复制” 借助这个版块,…

线性表

数据结构 代码--线性表#define N 10 typedef struct Node {int data;struct Node*next; }NODE; int Get_Data(int i); //定义省略 Node*Create_u() {int i;NODE*p,*Head=NULL;for(i=0;i<N;i++){VP=New NODE;P->Data=Get_Data(i);_______①_________;________②________;…

【第二章】利用用户行为数据

基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法称为协同过滤算法。顾名思义,协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。 2.1 用户行为数据简…

20240505-感谢你为我郁闷的一天增添了一份快乐

哈哈哈我宣布这将会是我五月份见过的最好笑的笑话:来源:我在很久以前写的 Luogu B2077 角谷猜想 的题解评论区。 因为当时运算过程中的数据保证在 int 范围,我就用了 int,但是现在不行了,所以会 T。本文来自博客园,作者:A_box_of_yogurt,转载请注明原文链接:https://w…

魔百盒E900V22D刷机教程

参考:https://www.mydigit.cn/thread-305003-1-1.html https://www.52pojie.cn/forum.php?mod=viewthread&tid=1659478 https://www.znds.com/tv-1241881-1-1.html https://www.znds.com/tv-1241104-1-1.html >之前家里装移动宽带不是送了个机顶盒嘛,之前还一不小心点…

c++综合实验报告友元

综合性、设计性实验报告 专业:计算机科学与技术 一、实验目的: 1.熟练掌握友元函数和友元类设计的方法 2.掌握友元函数的含义,友元函数和成员函数的区别。 3.掌握友元类的含义。 二、实验仪器或设备:微型计算机 三、总体设计(设计原理、设计方案及流程等) 实验内容: 定…