衝刺任務:完成使用者登入和隨機驗證碼功能
loginactivity.j**a
packagecom.example.helloworld;
/*** 純粹實現登入註冊功能,其它功能都被注釋掉了
* 起作用的**(連帶著packag、import算上) 共 73 行
* 不多吧? */
import
android.content.intent;
import
android.os.bundle;
import
android.text.textutils;
import
android.view.view;
import
android.widget.button;
import
android.widget.edittext;
import
android.widget.linearlayout;
import
android.widget.relativelayout;
import
android.widget.textview;
import
android.widget.toast;
import
import
j**a.util.arraylist;
/*** 此類 implements view.onclicklistener 之後,
* 就可以把onclick事件寫到oncreate()方法之外
* 這樣,oncreate()方法中的**就不會顯得很冗餘 */
public
view.onclicklistener
/*** oncreaete()中大的布局已經擺放好了,接下來就該把layout裡的東西
* 宣告、例項化物件然後有行為的賦予其行為
* 這樣就可以把檢視層view也就是layout 與 控制層 j**a 結合起來了
*/private
void
initview()
public
void
onclick(view view)
else
}if(match) else
} else
break
; }
}}
code.j**a
packagecom.example.helloworld;
import
android.graphics.bitmap;
import
android.graphics.canvas;
import
android.graphics.color;
import
android.graphics.paint;
import
j**a.util.random;
public
class
code ;
private
static
code bmpcode;
public
static
code getinstance()
//default settings
//驗證碼預設隨機數的個數
private
static
final
int default_code_length = 4;
//預設字型大小
private
static
final
int default_font_size = 25;
//預設線條的條數
private
static
final
int default_line_number = 5;
//padding值
private
static
final
int base_padding_left = 10, range_padding_left = 15, base_padding_top = 15, range_padding_top = 20;
//驗證碼的預設寬高
private
static
final
int default_width = 100, default_height = 40;
//settings decided by the layout xml
//canvas width and height
private
int width = default_width, height =default_height;
//random word space and pading_top
private
int base_padding_left = base_padding_left, range_padding_left =range_padding_left,
base_padding_top = base_padding_top, range_padding_top =range_padding_top;
//number of chars, lines; font size
private
int codelength = default_code_length, line_number = default_line_number, font_size =default_font_size;
//variables
private
string code;
private
intpadding_left, padding_top;
private random random = new
random();
//驗證碼
public
bitmap createbitmap()
//畫線條
for (int i = 0; i < line_number; i++)
canvas.all_s**e_flag );
//儲存
c.s**e();//
儲存 c.restore();//
return
bp; }
public
string getcode()
//生成驗證碼
private
string createcode()
return
buffer.tostring();
}//畫干擾線
private
void
drawline(canvas canvas, paint paint)
//生成隨機顏色
private
intrandomcolor()
private
int randomcolor(int
rate)
//隨機生成文字樣式,顏色,粗細,傾斜度
private
void
randomtextstyle(paint paint)
//隨機生成padding值
private
void
randompadding()
}
第二階段團隊衝刺(五)
會議內容 高宇 昨天,對自動登入功能進行了完善,通過認真讀 發現,可以對所呼叫的方法的返回值進行更改,可以令其返回類物件,通過呼叫類中的get方法,獲取其中儲存的值,這樣就可以與我們資料庫中的資料進行比較。並且學習了一下餅狀圖的繪製。遇到的問題 對於餅狀圖的繪製,都是通過附初值的方式進行的,直接對餅...
《APP》團隊衝刺第二階段 十
這是團隊衝刺的最後一天,目前來時已經沒有什麼功能給我們新增了,所以我們打算再次總結這兩次衝刺的經驗,找出問題,提出解決問題的辦法,想辦法以後避免這些問題。我們總結了以下問題 2.開發過程混亂,毫無章法可循 3.投入熱情不高,寫 時間少 4.三個人沒有一起達成共同的目標,寫的 不能很好的結合,從而浪費...
第二階段衝刺 個人總結08
昨天試著去解決上傳的這個bug,然後發現這個 bug不愧是 bug,就是解決不了,然後就放棄了,最後又去弄了弄分類功能。真是好累啊,顯示所有是沒有問題了,但是顯示某個類別就有問題,不能使用翻頁功能,總是因為變數型別把 string 轉換為int 型別。問題是我都弄得 int啊,出現 string 了...