編輯:關於Android編程
好久沒寫過代碼了,現在又開始重操舊業了。想了想,還是回到CSDN博客來吧,原本都是在Github上面自己弄
Pages寫的,但是還是挺捨不得CSDN的。在這裡繼續開寫吧,反正都是一些菜鳥的流水賬的東西。記錄Mark一下。
今天寫的是一個簡單的登陸界面,主要功能就是實現記住密碼這個簡單的功能,說白了就是在Android中實現文件
的保存與再次的讀取。
首先是布局文件,很簡單的線性布局。
然後就是主要的代碼了,為了簡單幾乎都寫到一起了,雖然很不規范,但是基礎學習嘛,暫且這樣了
package com.bird.login;
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.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText username;
private EditText password;
private CheckBox cb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username = (EditText) findViewById(R.id.et_username);
password = (EditText) findViewById(R.id.et_password);
cb = (CheckBox) findViewById(R.id.check_box);
//檢查是否有保存的數據
Map map = getSavedInfo(this);
if(map!=null){
username.setText(map.get("username"));
password.setText(map.get("password"));
}
}
// 登陸的點擊事件
public void loginIn(View view) {
String user = username.getText().toString().trim();
String pass = password.getText().toString().trim();
if (TextUtils.isEmpty(user) || TextUtils.isEmpty(pass)) {
Toast.makeText(this, "用戶名或者密碼不能為空", Toast.LENGTH_SHORT).show();
return;
}
//判斷是否保存用戶名密碼
if(cb.isChecked()){
//保存用戶名密碼
boolean result = saveUserInfo(this,user,pass);
if(result){
Toast.makeText(this, "保存數據成功", Toast.LENGTH_LONG);
}else{
Toast.makeText(this, "數據保存失敗", Toast.LENGTH_LONG);
}
}
//登陸
if("admin".equals(user)&&"admin".equals(pass)){
Toast.makeText(this, "登陸成功", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this, "用戶名或者密碼錯誤", Toast.LENGTH_LONG).show();
}
}
public boolean saveUserInfo(Context context, String username,String password){
/**
* context is a 上下文類,保存應用的上線問信息包括安裝的目錄等等東西
*/
File file = new File(context.getCacheDir(),"info.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write((username+"##"+password).getBytes());
fos.close();
return true;
} catch (Exception e) {
return false;
}
}
public Map getSavedInfo(Context context){
try {
File file = new File(context.getCacheDir(),"info.txt");
FileInputStream fis;
fis = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
String str = reader.readLine();
reader.close();
String[] infos = str.split("##");
Map map = new HashMap();
map.put("username", infos[0]);
map.put("password", infos[1]);
return map;
} catch (Exception e) {
return null;
}
}
}
總體上代碼還是非常簡單的,有點復雜的地方都有注釋,應該是一看就可以明白了。
Android 使用Vitamio打造自己的萬能播放器(3)——本地播放(主界面、播放列表)
前言 打造一款完整可用的Android播放器有許多功能和細節需要完成,也涉及到各種豐富的知識和內容,本章將結合Fragment、ViewPager來搭建播放器的
Android中Activity之間跳轉和參數傳遞的實例
一個activity就好比一個網頁,此文章講解怎樣創建一個activity並且實現跳轉!一、學習創建Activity1、新建一個java類,右擊src目錄,選擇new--
Android下拉刷新官方版
網上關於下拉刷新的文章也不少,不過都太長了。恰好發現了官方的下拉刷新庫,而且效果還是不錯的,簡潔美觀,用得也挺方便。下面是效果圖:我的好友原來是空的,刷新後多了兩個。使用
Android開發-DesignDemo-AndroidStudio(六)CoordinatorDemo(1)
實現效果:項目需求的2個jar包:MainActivity.java: package com.iwanghang.coordinatordemo;import