Android设计QQ界面以及保存数据到SD卡和内存的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android设计QQ界面以及保存数据到SD卡和内存的方法相关的知识,希望对你有一定的参考价值。

 

 

1.首先设置QQ显示界面

技术分享    界面上两个EditText两个TextView,一个选择框和一个按钮

2.设计步骤

①主页面设计

 1 <TextView
 2         android:layout_width="fill_parent"
 3         android:layout_height="wrap_content"
 4         android:text="请输入QQ号码!"
 5 />
 6 <EditText
 7         android:layout_width="0dp"
 8         android:layout_height="wrap_content"
 9 />
10 <TextView
11         android:layout_width="fill_parent"
12         android:layout_height="wrap_content"
13         android:text="请输入QQ密码!"
14 />
15  <EditText
16         android:layout_width="0dp"
17         android:layout_height="wrap_content"
18 />
19 <CheckBox
20         android:layout_width="wrap_content"
21         android:layout_height="wrap_content"
22         android:text="是否保存密码"
23 />
24  <Button
25         android:layout_width="0dp"
26         android:layout_height="wrap_content"
27         android:text="Login"
28 />

②获取信息

为各控件添加地址信息

 1  <EditText
 2         android:id="@+id/et_qq"//为其添加地址信息
 3 />
 4  <EditText
 5         android:id="@+id/et_pwd"
 6 />
 7  <CheckBox
 8         android:id="@+id/cb_remember"
 9 />
10 <Button
11         android:onClick="login"
12 />

控件设置好为其添加属性,以及获得其值

    当用户未输入账号和密码时或只输入账号和密码时,这时出现提醒“账号和密码不能为空”

  这时要给按钮添加事件

public class MainActivity extends AppCompatActivity {
    private static final String tag="tag";
    private EditText et_qq;//创建变量
    private EditText et_pwd;
    private CheckBox cb_remember;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_qq = (EditText)findViewById(R.id.et_qq);//初始化变量固定写法
        et_pwd = (EditText)findViewById(R.id.et_pwd);
        cb_remember = (CheckBox)findViewById(R.id.cb_remember);}
    public void login(View view){
        String qq= et_qq.getText().toString();
        String pwd = et_pwd.getText().toString();
        if(TextUtils.isEmpty(qq)||TextUtils.isEmpty(pwd)){
            Toast.makeText(this,"用户名密码不能为空",Toast.LENGTH_SHORT).show();//toast当用户名为空时,显示内容为“用户名密码不能为空”
        }else{
            //登录操作}
}

显示效果:

技术分享                  技术分享                   技术分享

③在进程中查看是否选了“记住密码”

技术分享

打印日志:

##日志的级别
log.v(“MainActivity”,“我是一个日志”);//v:verbose 提醒 黑色
log.d(“MainActivity”,“我是一个日志”);//d:debug 调试 蓝色
log.i(“MainActivity”,“我是一个日志”);//i:info 提醒 绿色
log.w(“MainActivity”,“我是一个日志”);//w:warn 警告 橙色
log.e(“MainActivity”,“我是一个日志”);//e:error 错误 红色

查看效果

未点击保存密码的效果:

技术分享

点击保存密码的效果:

技术分享

④将信息存储在文件中

技术分享

此程序在手机上运行,这时时存储在手机上的根目录下的,但是根目录禁止写入,所以错误。这时保存信息到SD卡

技术分享

容易被垃圾软件侵犯。

技术分享

在AndroidManifest.xml中添加权限设置

结果:技术分享

打开Android Studio Tools—>Android—>Android Device Monitor报错:

技术分享

 

报错内容为:

技术分享   技术分享

解决方法:

在任务管理器中,将打开的所有的monitor.exe进程全部关掉,重新打开就行了。

//读取用户保存的密码信息

 1 try{
 2             File file = new File("/mnt/sdcard/info.txt");//外置SD卡的路径
 3             FileInputStream fis = new FileInputStream(file);
 4             BufferedReader br = new BufferedReader(new InputStreamReader(fis));
 5             String info = br.readLine();
 6             String  qq=info.split("###")[0];
 7             String  pwd=info.split("###")[1];
 8             et_qq.setText(qq);
 9             et_pwd.setText(pwd);
10         } catch (Exception e){
11             e.printStackTrace();
12         }}
13     //读取用户保存密码的文件

效果如下:

技术分享                     技术分享点击保存密码之后,再次点进去之后之前的账户和密码还在

Android下数据存储:

*SD卡

1.声明写SD卡的权限(清单文件)

技术分享

2.Environment.getExternalStorageDirectory()//获得当前SD卡文件下的目录

3.判断SD卡的状态,是否可以读

Environment.getExternalStorageState();

4.SD卡可用的情况下,但SD卡已满了,(判断SD卡的剩余空间)

1 Environment.getExternalStorageDirectory().getUsableSpace();//判断可用空间或者是
2.Environment.getExternalStorageDirectory().getFreeSpace();

本人菜鸟,只是自己的做的实验的心得,数据的存储没搞明白,等我搞明白了,再补一个

 






以上是关于Android设计QQ界面以及保存数据到SD卡和内存的方法的主要内容,如果未能解决你的问题,请参考以下文章

Android中将歌曲导入到SD卡和模拟器

android应用程序编程中如何获取遍历手机sd卡和系统目录获得.txt文档显示到ListView中?

sD卡和内置sD卡和内置存储分别啥区别

android实验3---界面信息保存入SD卡权限

单片机读U盘,啥方案最便宜最方便,求推荐

保存android程序崩溃日志到SD卡