追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述Android设计QQ界面以及保存数据到SD卡和内存的方法相关的知识,希望能为你提供帮助。
1.首先设置QQ显示界面
文章图片
界面上两个EditText两个TextView,一个选择框和一个按钮
2.设计步骤
①主页面设计
1 < TextView 2android:layout_width="fill_parent" 3android:layout_height="wrap_content" 4android:text="请输入QQ号码!" 5 /> 6 < EditText 7android:layout_width="0dp" 8android:layout_height="wrap_content" 9 /> 10 < TextView 11android:layout_width="fill_parent" 12android:layout_height="wrap_content" 13android:text="请输入QQ密码!" 14 /> 15< EditText 16android:layout_width="0dp" 17android:layout_height="wrap_content" 18 /> 19 < CheckBox 20android:layout_width="wrap_content" 21android:layout_height="wrap_content" 22android:text="是否保存密码" 23 /> 24< Button 25android:layout_width="0dp" 26android:layout_height="wrap_content" 27android:text="Login" 28 />
②获取信息
为各控件添加地址信息
1< EditText 2android:id="@+id/et_qq"//为其添加地址信息 3 /> 4< EditText 5android:id="@+id/et_pwd" 6 /> 7< CheckBox 8android:id="@+id/cb_remember" 9 /> 10 < Button 11android: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 错误 红色
查看效果
未点击保存密码的效果:
文章图片
点击保存密码的效果:
文章图片
④将信息存储在文件中
文章图片
【Android设计QQ界面以及保存数据到SD卡和内存的方法】此程序在手机上运行,这时时存储在手机上的根目录下的,但是根目录禁止写入,所以错误。这时保存信息到SD卡
文章图片
容易被垃圾软件侵犯。
文章图片
在AndroidManifest.xml中添加权限设置
结果:
文章图片
打开Android Studio Tools—> Android—> Android Device Monitor报错:
文章图片
报错内容为:
文章图片
文章图片
解决方法:
在任务管理器中,将打开的所有的monitor.exe进程全部关掉,重新打开就行了。
//读取用户保存的密码信息
1 try{ 2File file = new File("/mnt/sdcard/info.txt"); //外置SD卡的路径 3FileInputStream fis = new FileInputStream(file); 4BufferedReader br = new BufferedReader(new InputStreamReader(fis)); 5String info = br.readLine(); 6Stringqq=info.split("###")[0]; 7Stringpwd=info.split("###")[1]; 8et_qq.setText(qq); 9et_pwd.setText(pwd); 10} catch (Exception e){ 11e.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();
本人菜鸟,只是自己的做的实验的心得,数据的存储没搞明白,等我搞明白了,再补一个
推荐阅读
- android6.0 关于ble搜索蓝牙设备问题
- appium - adb真机无法连接电脑的解决方法;
- appilcation对象
- 使用URI对RESTful Web服务进行版本控制的基本方法
- SOAP Web服务
- SOAP与REST Web服务的区别
- Java面向服务的架构(SOA)
- 执行RESTful服务的验证
- 配置自动生成Swagger文档