安卓中QQ登陆


第一步:将QQ头像粘贴到drawablehdpi

第二步:在xml布局文件中编辑页面布局(ImageViewEditText,CheckBoxButton

<LinearLayout 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"

    android:gravity="center_horizontal"

    android:orientation="vertical"

    tools:context=".MainActivity" >

 

    <ImageView 

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/qq"/>

    <EditText 

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:hint="请输入QQ号码"

        android:id="@+id/et_qqnumber"/>

    <EditText

        android:id="@+id/et_password" 

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:hint="请输入密码"

        android:inputType="textPassword"/>

    <CheckBox 

        android:id="@+id/cb_remember"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="记住用户和密码"/>

    <Button 

        android:onClick="login"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="登陆"/>

 

</LinearLayout>

第三步:在java中编辑逻辑

 

public class MainActivity extends Activity {

private EditText et_qqnumber;

private EditText et_password;

private CheckBox cb_remember;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//寻找这些控件

et_qqnumber = (EditText) findViewById(R.id.et_qqnumber);

et_password = (EditText) findViewById(R.id.et_password);

cb_remember = (CheckBox) findViewById(R.id.cb_remember);

restoreInfo();

}

 

/**

 * 登陆按钮的点击事件

 * @param view

 */

public void login(View view){

String qq = et_qqnumber.getText().toString().trim();

String password = et_password.getText().toString().trim();

if(TextUtils.isEmpty(qq)||TextUtils.isEmpty(password)){

Toast.makeText(this, "用户名和密码不能为空", 0).show();

return;

}else{

//判断是否需要记录用户名和密码

if(cb_remember.isChecked()){//被选中状态,需要记录用户名和密码

try {

File file = new File(this.getFilesDir(),"info.txt");

FileOutputStream fos = new FileOutputStream(file);

//10000##123456

String info = qq +"##"+password;

fos.write(info.getBytes());

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

//登陆操作的. 模拟登陆,数据应该提交给服务器 由服务器比较是否正确

if("10000".equals(qq)&&"123456".equals(password)){

Toast.makeText(this, "登陆成功", 0).show();

}else{

Toast.makeText(this, "登陆失败", 0).show();

}

}

}

/**

 * 根据原来保存的文件信息,qq号码和密码信息回显到界面

 * getFilesDir()//获取应用程序files目录  /data/data/包名/files/   文件夹

 */

public  void restoreInfo(){

File file = new File(this.getFilesDir(),"info.txt");

if(file.exists()&&file.length()>0){

try {

FileInputStream fis = new FileInputStream(file);

BufferedReader br = new BufferedReader(new InputStreamReader(fis));

//10000##123456

String info = br.readLine();

String qq = info.split("##")[0];

String pwd = info.split("##")[1];

et_qqnumber.setText(qq);

et_password.setText(pwd);

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值