Design and implementation of Android-based IoT applications

The design and implementation of Android-based IoT applications is corresponding to the current IoT, home, refrigerator, TV, air conditioner, desk lamp, smart lock and other connected applications.

100 sets of Android graduation projects (with papers), large homework, ready-made original works (Android Studio) Android graduation project, source code + paper_android large homework plus source code-CSDN Blog

1. The main functions include registration and login, device information, usage statistics, my functions, etc.

2. Add devices, connect, enable devices, etc.

The login page code is as follows:

public class LoginActivity extends BaseActivity {
    @BindView(R.id.input_name)
    EditText inputName;
    @BindView(R.id.input_password)
    EditText inputPassword;
    @BindView(R.id.btn_login)
    AppCompatTextView btnLogin;
    @BindView(R.id.btn_register)
    AppCompatTextView btnRegister;

    @Override
    protected int getLayoutId() {
        return R.layout.activity_login;
    }

    @Override
    protected void init() {

    }


    @OnClick({R.id.btn_login, R.id.btn_register})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.btn_login:
                Login();
                break;

            case R.id.btn_register:
                showActivity(LoginActivity.this, RegisterActivity.class);
                break;
        }
    }


    private void Login() {
        String name = inputName.getText().toString();
        String pwd = inputPassword.getText().toString();
        if (TextUtils.isEmpty(name)) {
            showToast("请输入用户名");
            return;
        }

        if (TextUtils.isEmpty(pwd)) {
            showToast("请输入密码");
            return;
        }
        int i = SqliteDBUtils.getInstance(getApplicationContext()).Quer(pwd, name);
        if (i == 1) {
            MyApplication.getInstance().userBean = SqliteDBUtils.getInstance(getApplicationContext()).select(name);
            Log.e("用户信息", MyApplication.getInstance().userBean.toString());
            startActivity(new Intent(LoginActivity.this, MainActivity.class));
            finish();
            return;
        } else if (i == 0) {
            showToast("账号不存在");
            return;
        } else {
            showToast("登录失败,请检查输入信息是否正确");
        }


    }

    @Override
    public void onMessageEvent(EventMessage event) {
        super.onMessageEvent(event);

    }
}

home page

code show as below:

package com.project.pictrue;

import androidx.fragment.app.Fragment;

import android.view.KeyEvent;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

import com.project.pictrue.adapter.MainPagerAdapter;
import com.project.pictrue.base.BaseActivity;
import com.project.pictrue.fragment.HomeFragment;
import com.project.pictrue.fragment.TabMineFragment;
import com.project.pictrue.widget.NoScrollViewPager;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;

public class MainActivity extends BaseActivity implements RadioGroup.OnCheckedChangeListener {


    @BindView(R.id.main_pager)
    NoScrollViewPager mainPager;
    @BindView(R.id.tab_home)
    RadioButton tabHome;
    @BindView(R.id.tab_dynamic)
    RadioButton tabDynamic;
    @BindView(R.id.tab_rank)
    RadioButton tabRank;
    @BindView(R.id.tab_me)
    RadioButton tabMe;
    @BindView(R.id.radioGroup)
    RadioGroup radioGroup;

    private boolean isStartLogin;
    private long clickTime;


    @Override
    protected int getLayoutId() {
        return R.layout.activity_main;
    }

    @Override
    protected void init() {
        List<Fragment> fragments = new ArrayList<>();
        fragments.add(new HomeFragment());
        fragments.add(new HomeFragment());
        fragments.add(new TabMineFragment());

        MainPagerAdapter adapter = new MainPagerAdapter(getSupportFragmentManager(), fragments);
        mainPager.setOffscreenPageLimit(3);
        mainPager.setAdapter(adapter);
        radioGroup.setOnCheckedChangeListener(this);
    }


    @Override
    public void onCheckedChanged(RadioGroup radioGroup, int i) {
        switch (i) {
            case R.id.tab_home:
                mainPager.setCurrentItem(0, false);
                break;
            case R.id.tab_dynamic:
                mainPager.setCurrentItem(1, false);
                break;
            case R.id.tab_rank:
                mainPager.setCurrentItem(1, false);
                break;
            case R.id.tab_me:
                mainPager.setCurrentItem(2, false);
                break;
        }
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            exit();
            return true;
        } else {
            return super.onKeyDown(keyCode, event);
        }
    }

    private void exit() {
        if ((System.currentTimeMillis() - clickTime) > 2000) {
            Toast.makeText(this, "再按一次后退键退出程序", Toast.LENGTH_SHORT).show();
            clickTime = System.currentTimeMillis();
        } else {
            try {
                //正常退出
                android.os.Process.killProcess(android.os.Process.myPid());
                System.exit(0);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

Guess you like

Origin blog.csdn.net/qxf865618770/article/details/135015668