android___文件访问权限
来源:互联网 发布:数据库分为哪几种 编辑:程序博客网 时间:2024/06/04 19:11
<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:orientation="vertical" tools:context="com.example.login.MainActivity" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/user" /> <EditText android:id="@+id/et_username" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/password" /> <EditText android:id="@+id/et_password" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textPassword" /> <RadioGroup android:id="@+id/radioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/rd_private" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="私有" /> <RadioButton android:id="@+id/rd_readable" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="可读" /> <RadioButton android:id="@+id/rd_writeable" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="可写" /> <RadioButton android:id="@+id/rd_rewrable" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="公开" /> </RadioGroup> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <CheckBox android:id="@+id/cb_remember_pwd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="@string/rempassword" /> <Button android:id="@+id/bt_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:onClick="login" android:text="@string/login" /> </RelativeLayout></LinearLayout>
MainActivity.java
package com.example.login;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.util.Log;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.RadioGroup;import android.widget.Toast;import com.example.login.service.LoginService;public class MainActivity extends Activity { private static final String tag = "MainActivity"; private EditText et_username; private EditText et_password; private CheckBox cb; private RadioGroup rg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_username = (EditText) this.findViewById(R.id.et_username); et_password = (EditText) this.findViewById(R.id.et_password); cb = (CheckBox) this.findViewById(R.id.cb_remember_pwd); rg = (RadioGroup) this.findViewById(R.id.radioGroup); } // 登陆控件 public void login(View view) { String name = et_username.getText().toString().trim(); String pass = et_password.getText().toString().trim(); if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pass)) { Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show(); return; } else { // 判断是否保存密码 if (cb.isChecked()) { // 保存用户和密码 Log.i(tag, "需要保存用户名和密码"); boolean result = false; //返回被选中的id int id = rg.getCheckedRadioButtonId(); switch (id) { case R.id.rd_private: LoginService.saveUserInfo(this,name, pass,1); break; case R.id.rd_readable: LoginService.saveUserInfo(this,name, pass,2); break; case R.id.rd_writeable: LoginService.saveUserInfo(this,name, pass,3); break; case R.id.rd_rewrable: LoginService.saveUserInfo(this,name, pass,4); break; } if(result){ Toast.makeText(this, "用户名和密码保存成功", Toast.LENGTH_SHORT).show(); } } // 登陆 发送信息到服务器,服务喊叫验证是否正确 if ("zhangsan".equals(name) && "123".equals(pass)) { Toast.makeText(this, "登陆成功", 0).show(); } else { Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show(); } } }}
LoginService.java
package com.example.login.service;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import android.annotation.SuppressLint;import android.content.Context;/* * * 登录服务 * * * * **/@SuppressLint("WorldReadableFiles")public class LoginService { /** * 传入一个上下文:Context * 保存用户名和密码的方法 * * return * true:成功 * false:失败 * * mode: * 1:私有 * 2:可读 * 3:可写 * 4:公开 * * */ public static boolean saveUserInfo(Context context ,String username,String password,int mode){ FileOutputStream fos = null; try{ /** * Context.MODE_PRIVATE:私有的方法创建文件 * * * * */ switch (mode) { case 1: fos = context.openFileOutput("private.txt", Context.MODE_PRIVATE); break; case 2: fos = context.openFileOutput("readable.txt", Context.MODE_WORLD_READABLE); break; case 3: fos = context.openFileOutput("writeable.txt", Context.MODE_WORLD_WRITEABLE); break; case 4: fos = context.openFileOutput("public.txt", Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE); break; } //zhangsan###123 fos.write((username+"###"+password).getBytes()); fos.close(); return true; }catch(Exception e){ return false; } }}
0 0
- android___文件访问权限
- 文件访问权限规则
- 文件访问权限
- 文件访问权限
- 文件访问权限
- 文件访问的权限
- linux文件访问权限
- Android文件访问权限
- Android文件访问权限
- Android文件访问权限
- 文件访问权限
- 改变文件访问权限
- Linux文件访问权限
- 文件访问控制权限
- android_10_文件访问权限
- 10.文件访问权限
- Linux文件访问权限
- ~文件的访问权限~
- Android问题集(七)——TableLayout 中让TableRow中的控件填充满整列
- ubuntu+ROS+kinect进行骨架跟踪
- 写给C语言初学者的话
- centos6.5修改系统语言
- 用TC在文本模式下写贪吃蛇
- android___文件访问权限
- ubuntu14.04 install TexLive & TexStudio
- 黑马程序员——多线程9:其他线程技术-下
- Apache 2 Test Page powered by CentOS 问题解决
- 测试整理笔记
- 第56讲:Scala中Self Types实战详解学习笔记
- 计算机视觉目标检测的框架与过程
- 认识html标签
- struts之Action中获取request、response对象的方法