记住用户名和密码,第三方登录

public class MainActivity extends AppCompatActivity implements IView, View.OnClickListener {

private EditText telPhone;
private EditText password;
private CheckBox rememberPassword;
private CheckBox autoLogin;
private Button commit;
private Button qqlogin;
private PresenterLoginImpls presenterLoginImpls;
private SharedPreferences sp;
private String mUrl = "http://www.xieast.com/api/user/login.php";
private SharedPreferences.Editor editor;
private String tels;
private String pass;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 	//查找控件
    initView();
    //加载数据
    presenterLoginImpls = new PresenterLoginImpls(this);
    presenterLoginImpls.startRequest(mUrl);
    //判断记住密码和自动登录
    sp = getSharedPreferences("jyy", MODE_PRIVATE);
    editor = sp.edit();
    boolean jizhumima = sp.getBoolean("jizhumima", false);
    boolean zidong = sp.getBoolean("zidong", false);
    String name = sp.getString("name", null);
    String pass = sp.getString("pass", null);
    rememberPassword.setChecked(jizhumima);
    autoLogin.setChecked(zidong);
    if (jizhumima) {
        telPhone.setText(name);
        password.setText(pass);
    }
    if (zidong) {
        startActivity(new Intent(this, Main2Activity.class));
        rememberPassword.setChecked(true);
    }

}


//第三方登陆监听
UMAuthListener authListener = new UMAuthListener() {
    /**
     * @desc 授权开始的回调
     * @param platform 平台名称
     */
    @Override
    public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @desc 授权成功的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param data 用户资料返回
     */
    @Override
    public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

        Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();
        

    }

    /**
     * @desc 授权失败的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, int action, Throwable t) {

        Toast.makeText(MainActivity.this, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show();
    }

    /**
     * @desc 授权取消的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     */
    @Override
    public void onCancel(SHARE_MEDIA platform, int action) {
        Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();
    }
};

private void initView() {
    telPhone = (EditText) findViewById(R.id.telPhone);
    password = (EditText) findViewById(R.id.password);
    rememberPassword = (CheckBox) findViewById(R.id.rememberPassword);
    rememberPassword.setOnClickListener(this);
    autoLogin = (CheckBox) findViewById(R.id.autoLogin);
    autoLogin.setOnClickListener(this);
    commit = (Button) findViewById(R.id.commit);
    qqlogin = (Button) findViewById(R.id.qqlogin);
    commit.setOnClickListener(this);
    qqlogin.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.rememberPassword:
            if (!rememberPassword.isChecked()) {
                autoLogin.setChecked(false);
            }
            break;
        case R.id.autoLogin:
            if (autoLogin.isChecked()) {
                rememberPassword.setChecked(true);
            }
            break;
        case R.id.commit:
            tels = telPhone.getText().toString().trim();
            pass = password.getText().toString().trim();
            boolean cellphone = ZEUtils.isCellphone(tels);
            if (tels.isEmpty() || pass.isEmpty()) {
                Toast.makeText(this, "手机号和密码不能为空", Toast.LENGTH_LONG).show();
            } else {
                mUrl = "http://www.xieast.com/api/user/login.php?username=" + tels + "&password=" + pass;
                //如果不是正确的手机号,吐司输入正确手机号
                if (!cellphone) {
                    Toast.makeText(this, "请输入正确手机号", Toast.LENGTH_LONG).show();
                    return;
                }
                presenterLoginImpls.startRequest(mUrl);
            }
            break;
        case R.id.qqlogin:
            UMShareConfig shareConfig = new UMShareConfig();
            shareConfig.isNeedAuthOnGetUserInfo(true);
            UMShareAPI.get(MainActivity.this).setShareConfig(shareConfig);
            UMShareAPI.get(this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
            break;
    }
}

@Override
public void success(Object MyData) {
    MyLoginData myLoginData = (MyLoginData) MyData;
    if (myLoginData.getCode() == 100) {
        if (rememberPassword.isChecked()) {
            editor.putBoolean("jizhumima", true);
            editor.putString("name", tels);
            editor.putString("pass", pass);
        } else {
            editor.putBoolean("jizhumima", false);
            editor.putBoolean("zidong", false);
        }
        if (autoLogin.isChecked()) {
            editor.putBoolean("jizhumima", true);
            editor.putBoolean("zidong", true);
        } else {
            editor.putBoolean("zidong", false);
        }
        editor.commit();
        Toast.makeText(this, myLoginData.getMsg(), Toast.LENGTH_LONG).show();
        Intent intent = new Intent(this, Main2Activity.class);
        intent.putExtra("name", ((MyLoginData) MyData).getData().getName());
        startActivity(intent);
    }
}

@Override
public void error(Object error) {
    Toast.makeText(this, "错误", Toast.LENGTH_LONG).show();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iSee视频监控 v5.2 视频监控软件使用说明书 版权所有 翻录必究 2009年10月1日 Ver:01.01.05 注意事项 首先,感谢您选用我公司最新产品。 在使用本监控卡之前,请详细阅读本说明书所涉及的相关事项,熟悉 硬件、软件各部分的功能后,方能使用,以确保该系统为您发挥最佳功能。 否则一切后果自负。 本说明书将向您详细阐述全实时“视频监控系统”的安装、操作、设 置和网络使用方法。 本系统工作主机供电电压为220V_10%,如果在电压不稳或者干扰大 的场合,请您选用优质稳压电源(即UPS),保证系统正常良好的工作状态。 本系统在安装、拆卸视频采集卡时,必须将主机处于完全断电状态, 否则主板上残留的电压将损坏采集卡。 本系统可切换D1与CIF分辨率,切换分辨率设置后,在主界面必须关 闭通道视频,重新打开通道视频,设置才能生效。 本系统主机工作于常温(-10_3℃~55_2℃)、清洁的环境,并且保持 良好的通风状态。 本系统软件属于我公司专有产品,未经同意,请勿复制,否则影响机 器稳定概不负责,并将通过有关法律渠道追究盗版责任。 功能特点(H.264压缩) 压缩方式:H.264/MPEG 4; 显示分辨率:1024_768、1280_1024、16:9宽屏、16:10宽屏; 预览分辨率 (可调) :704_576(PAL制),740_480(NTSC制); 352_288(PAL制),370_240(NTSC制); 录像分辨率(所见即所得):704_576(PAL制), 740_480(NTSC制); 352_288(PAL制),370_240(NTSC制); 单机容量支持12路D1、48路CIF; 支持单画面、4画面、9画面、16画面、20画面、25画面显示,可全屏显示,支持自动 翻页; 多画面实时显示/录像/回放功能,支持多协议云镜控制,支持多种报警盒实现联动报警; 手动录像、连续录像、定时录像、动态录像、事件录像、联动报警录像等多种录像方式; 可以设置每个通道的显示名称; NTSC/PAL两种视频显示制式可选, 25帧/秒实时预览、录像、回放; 视频图像属性调节功能,使图像更清晰。 视频录像图像质量有多种等级可调,以改变存储文件大小,方便不同场合应用。 视频移动报警录像功能,报警录像灵敏度、预录像时间、延迟录像时间可调,支持声音 报警输出。 智能检索,可按摄像镜头年/月/日/时间段或长时间连续检索回放,自动检索报警录像, 能区分录像事件。 具有局部放大功能,可逐帧回放,快速播放,慢速播放,常规播放。 回放时可进行图片抓拍功能,回放时文件备份功能、文件剪辑功能。 可进行远程监控,远程控制云镜、色彩、手动录像、布撤防、重启计算机等控制工作。 支持现今最大容量的硬盘,并支持安装多个大容量的硬盘。 硬盘管理可以通过对最大使用硬盘和硬盘最小预留空间的设置使硬盘能够得到充分合理 的使用。 自动创建日志文件(用户操作日志、系统日志、远程控制日志),便于查询操作记录。 系统可任意设置定时关机,定时重启功能,保证系统运行的高稳定性。 可设定开机自动运行监控软件,断电自动关闭程序,来电自动重启,自动恢复录像。 硬件、软件经过严格的拷机试验,稳定可靠。 系统硬件配置要求低,48路同时录像显示时,CPU的占用率低于75%。 系统能有效防止用户多次重复运行监控系统导致系统崩溃的情况。 目录 第一部分 软件安装与卸载..............................................................................................................6 1.1 系统要求 ..................................................................................................................................................6 1.1.1 硬件要求(推荐) ................................................................................
在Linux中快速部署桌面远程连接和安装虚拟机,可以在任何客户端比如windows或者macos远程连接到linux桌面,可以用来制作openstack镜像,在镜像初始化的时候设置用户名密码,解决虚拟机制作windows xp、windows 7、Windows 10等windows系列镜像在启动时候蓝屏等现象。如在使用过程中遇到任何疑问,可私信作者,作者会及时进行解答。详情使用参考发布的博文有详细的解释。 1、Linux快速安装部署桌面系统,通过任何命令行远程连接到原生Linux系统,这时候是命令行界面,把该目录脚本可以通过 scp 或者 复制》粘贴 或者 ftp 等方式上传到服务器。 2、执行 sudo sh desktop.sh ,等待安装完成即可,如果中途遇到需要设置密码的地方,请输入自己想要的密码记住。安装完成之后,系统会自动重启,测试可能会断开现在的连接,不用关注命令行的连接来,可以进行到下一步。 3、通过 windows系统自带的远程连接、Mac安装的 Microsoft Remote Desktop、以及第三方 MobaXterm 工具等各种方式进行连接,输入Linux的ip,设置的vnc密码以及账号的密码,即可进入图形化系统界面。 4、切换到第一步脚本所在的目录,执行 sudo sh virtual.sh ,等待安装完成即可,如果中途遇到需要应答的地方,输入 y 即可继续完成安装,会自动配置好多种虚拟机、以及支持edk操作系统镜像下载的工具。 5、安装完成之后会自动启动 virt-manager 虚拟机,可用来制作 Windows、Linux、MacOS等系统镜像,制作好的镜像可用于 公有云、私有云、混合云、以及其他电脑主机上进行安装使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值