Color工具類
arg1.setBackgroundColor(Color.parseColor("#87CEFA"));
Color.parseColor("#87CEFA") 它是一個int值殊校,所以我們還可以這樣用
bgLabels = new int[]{
Color.parseColor("#fc7251"),//家 橙色
Color.parseColor("#468ade"),//公司 藍色
Color.parseColor("#02c14b"),//學(xué)校 綠色
};
這樣我們還可以創(chuàng)建一個數(shù)組澳腹,使其與這個顏色數(shù)組進行一一對應(yīng)的使用
Activity把數(shù)據(jù)傳遞給前面的界面
Intent intent = new Intent();
intent.putExtra("address",data.get(position));
activity.setResult(101,intent);
activity.finish();
應(yīng)用的場景:如珠增,我們選擇收獲地址涝焙,在這個界面中我們點擊選擇按
鈕扒怖,跳轉(zhuǎn)到地址列表界面罗侯,當選擇一個地址后,地址列表消失會返回到
前一個界 面月杉,并把數(shù)據(jù)顯示在我們添加的地址的位置
這里有個坑是刃跛,setResult的時機時我們這個界面onPause生命周期前,
消失后界面就恢復(fù)到前一個Activity苛萎,在onActivityResult方法中我們進行
數(shù)據(jù)的處理桨昙;
NumberFormat 的使用
NumberFormat 是所有數(shù)值格式的抽象基類的應(yīng)用
/**
* 說明:
* 1、NumberFormat.getInstance 返回當前缺省語言環(huán)境的缺省數(shù)值格式腌歉;
* 2蛙酪、NumberFormat.getCurrencyInstance(此處填寫語言環(huán)境,如:Locale.US翘盖;可為空桂塞,為當前系統(tǒng)語言環(huán)境) 返回語言環(huán)境的金融格式
* 3、NumberFormat.getPercentInstance(此處填寫語言環(huán)境馍驯,如:Locale.US阁危;可為空,為當前系統(tǒng)語言環(huán)境) 返回語言環(huán)境的百分比格式
* 4汰瘫、NumberFormat.getNumberInstance(此處填寫語言環(huán)境狂打,如:Locale.US;可為空混弥,為當前系統(tǒng)語言環(huán)境) 返回語言環(huán)境的數(shù)值格式
* 5趴乡、setNinimumFractionDigits() 設(shè)置數(shù)值的小數(shù)部分允許的最小位數(shù)
* 6、setMaximumFractionDigits() 設(shè)置數(shù)值的小數(shù)部分允許的最大位數(shù)
* 7、setMaximumIntegerDigits() 設(shè)置數(shù)值的整數(shù)部分允許的最大位數(shù)
* 8浙宜、setMinimumIntegerDigits() 設(shè)置數(shù)值的整數(shù)部分允許的最大位數(shù)
*/
TextUtils工具類的使用
我們可以判斷我們的字符串是否是空 比較兩個字符串的大小 獲取html的
編碼 替換 切割 獲取索引的數(shù)值等
Dialog 代碼及外部點擊事件的設(shè)置
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
//設(shè)置點擊外部不關(guān)閉dialog
dialog.setCancelable(false);
dialog.setMessage("您是否要退換押金官辽?蛹磺?粟瞬?");
dialog.setPositiveButton("確認", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//這里我們進行押金的退還
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.show();
總結(jié):dialog.setCancelable(false);如果方法里面的是false就是外部點
不可用,true是可以點擊外面dialog消失萤捆,不設(shè)置的話默認可以點擊裙品。
單例設(shè)計模式
通過私有構(gòu)造的方式,使一個類不能再其外部類中隨意通過new創(chuàng)建對
象俗或,只能通過其內(nèi)部定義好的靜態(tài)方法獲取它的實例市怎,并且在多處調(diào)用
都返回的是一個實例。在也不創(chuàng)建多余的實例辛慰。
代碼如下
Singleton singleton = Singleton.getInstance();
分為餓漢式和懶漢式兩種区匠,餓漢式是直接直接創(chuàng)建對象,只要應(yīng)用此對
象就會出現(xiàn)一直占用內(nèi)存空間資源帅腌。懶漢式 是判斷這個對象是否是
null驰弄,如果是就創(chuàng)建對象。如果啟動的是重量級的單例類速客,我們首選是
餓漢式戚篙。
android 命名規(guī)范
[https://blog.csdn.net/carson_ho/article/details/88785955]
1、包:全部小寫溺职,分為四級岔擂,反域名
2、類:大駝峰寫法浪耘,就是每個單詞的首字母都要大寫
3乱灵、變量:小駝峰寫法,第一個單詞首字母需要小寫七冲,其余單詞的首字母大寫
4痛倚、方法:小駝峰寫法
5、參數(shù):小駝峰拼寫法
常見算法
排序算法
1癞埠、選擇排序状原,代碼如下
/**
* 選擇排序
*/
public static void sort() {
int arr[] = {55, 44, 33, 99, 77, 11};
for (int i = 0; i < arr.length - 1; i++) {
int minPos = i;
//記錄住遍歷到當前為止最小數(shù)據(jù)的索引值,以此類推苗踪,第一遍確定了最小
值的索引颠区,
// 然后拿其與數(shù)組第一個數(shù)據(jù)進行比較,如果其小于第一個數(shù)據(jù)通铲,它們兩個
進行互換毕莱。
//第一次遍歷能獲取到最小的數(shù)據(jù)。
for (int j = i; j < arr.length; j++) {
if (arr[j] < arr[minPos]) {
minPos = j;//找出當前最小元素的位置
}
}
if (arr[minPos] != arr[i]) {
swap(arr, minPos, i);
}
}
}
2、冒泡排序朋截,代碼如下:
/**
* 冒泡算法
*/
public static void sorts() {
int arr[] = {55, 44, 33, 99, 77, 11};
//這里-1是什么意思
for (int i = 0; i < arr.length - 1; i++) {
int minPos = i;
for (int j = 0; j < arr.length; j++) {
if (arr[j] < arr[minPos]) {
minPos = j; //獲取當前最小元素的位置
}
}
if (arr[minPos] != arr[i]) {
int temp = arr[i];
arr[i] = arr[minPos];
arr[minPos] = temp;
}
}
}
3蛹稍、插入排序,代碼如下
public static void Insertions() {
int arr[] = {55, 44, 33, 99, 77, 11};
int pos, temp;
for (int i = 1; i < arr.length; i++) {
pos = i;
while (pos != 0 && arr[pos] < arr[pos - 1]) {
temp = arr[pos];
arr[pos] = arr[pos - 1];
arr[pos - 1] = temp;
pos--;
}
}
}
查找算法
1部服、順序查找方法唆姐,原理:就是遍歷數(shù)組,和目標值進行對比廓八,返回查詢結(jié)果奉芦。
2、二分查找法剧蹂,代碼如下
/**
* 二分查找法
*
* @return
*/
public static Integer searchDichotomys() {
int array[] = {11, 22, 33, 44, 55, 66, 77, 88};
int target = 55;
int low = 0;
int hight = array.length - 1;
while (low <= hight) {
int mid = (low + hight) / 2;
if (array[mid] == target) {
return mid;
}
if (array[mid] < target) {
low = mid + 1;
}
if (array[mid] > target) {
hight = mid - 1;
}
}
return null;
}
}