3月備忘(3)--截至3.18

1 二維數(shù)組中的查找。
在一個(gè)二維數(shù)組中唧领,每一行都按照從左到右遞增的順序排序稿存,每一列都按照從上到下遞增的順序排序偎球。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)組和一個(gè)整數(shù)熏迹,判斷數(shù)組中是否含有該整數(shù)檐薯。

1 分析:左->右遞增,上->下遞增注暗。
發(fā)現(xiàn)規(guī)律:
(1)從左下角開(kāi)始查找坛缕,當(dāng)要查找數(shù)字比左下角數(shù)字大時(shí)。右移友存。要查找數(shù)字比左下角數(shù)字小時(shí)祷膳。上移。
(2)右上角開(kāi)始查找屡立,當(dāng)要查找數(shù)字比右上角數(shù)字大時(shí)直晨。下移搀军。要查找數(shù)字比右上角數(shù)字小時(shí)。左移勇皇。
(3)二分法罩句,遍歷所有行,對(duì)每一行使用二分法查找敛摘。

2 編碼:
(1)記錄矩陣特殊點(diǎn)(左下门烂、右上)坐標(biāo),row(array.length-1)兄淫,col(array[0].length-1)屯远。注意二維數(shù)組行列的范圍。
(2)比較大小捕虽,移動(dòng)行列慨丐。
(3)二分法,注意low和high下標(biāo)的變換泄私。左側(cè)high=mid-1房揭,右側(cè)low=mid+1。

// 左下角
public static boolean Find1(int target, int [][] array) {
        int row = array.length-1;
        int col = 0;

        while(row>=0 && col<=array.length-1){
            if(target == array[row][col]){
                return true;
            }else if(target >= array[row][col]){
                col++;
            }else{
                row--;
            }
        }
        return false;
    }
/**
     * 把每一行看成有序遞增的數(shù)組晌端,利用二分查找捅暴,通過(guò)遍歷每一行得到答案,
     * 時(shí)間復(fù)雜度是nlogn
     * @param:
     * @return:
     * @date: 2018-3-12  
     */
    public static boolean Find3(int target, int [][] array) {
        for(int i=0;i<array.length;i++){
            int low = 0;
            int high = array.length-1;
            while(low<=high){
                int mid = (low+high)/2;
                if(target < array[i][mid]){
                    high = mid-1;
                }else if(target > array[i][mid]){
                    low = mid+1;
                }else{
                    return true;
                }
                
            }
        }
        return false;
    }

2 護(hù)眼色的RGB值和顏色代碼

色調(diào):85咧纠;飽和度:123蓬痒;亮度:205,

R: 199; G: 237; B:204;

181 229 181 ??IN WINDOWS

顏色代碼是: #C7EDCC

3 真機(jī)訪問(wèn)Tomcat中的內(nèi)容

地址:本機(jī)IP+端口號(hào)
如果該方法不行惧盹,可以嘗試如下方法:
1 關(guān)閉防火墻乳幸;2 使用Technitium MAC Address Changer修改IP地址

或者使用Genymotion
https://www.cnblogs.com/liu184/articles/5621985.html

4 Android開(kāi)發(fā)規(guī)范

http://keeganlee.me/post/android/20150709

自己制定的規(guī)范

 <com.viewpagerindicator.TabPageIndicator
            android:id="@+id/tp_my_indicator"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

第一部分:是控件縮寫(xiě)瞪讼,使用第一二個(gè)大寫(xiě)字母組成
第二部分:是控件所屬模塊钧椰,例如my屬于“我的”模塊
第三部分:控件的作用。

系統(tǒng)常用灰色值

#D1D1D1

5 使用開(kāi)源控件ViewPager Indicator時(shí),報(bào)錯(cuò)Android java.lang.IllegalStateException: ViewPager has not been bound 的解決辦法

使用開(kāi)源控件ViewPager Indicator時(shí)符欠,如果標(biāo)題數(shù)據(jù)需要從服務(wù)器獲取嫡霞,然后再設(shè)置Adapter,這個(gè)時(shí)候就會(huì)報(bào)錯(cuò):ViewPager has not been bound 的錯(cuò)誤希柿,其中一種解決辦法是诊沪,先把 TabPageIndicator 設(shè)置為GONE屬性,等加載完數(shù)據(jù)設(shè)置Adapter后曾撤,再將其設(shè)置為VISIBLE端姚。

6 輸入一個(gè)鏈表,從尾到頭打印鏈表每個(gè)節(jié)點(diǎn)的值挤悉。

class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}


public class PrintList {
    
    /*
     * 輸入一個(gè)鏈表渐裸,從尾到頭打印鏈表每個(gè)節(jié)點(diǎn)的值。
     * */
    public static void main(String[] args) {
        ListNode listNode1 = new ListNode(2);
        ListNode listNode2 = new ListNode(3);
        ListNode listNode3 = new ListNode(4);
        listNode1.next = listNode2;
        listNode2.next = listNode3;
        ArrayList<Integer> printListFromTailToHead = printListFromTailToHead1(listNode1);
        int sum = 0;
        for(int i : printListFromTailToHead){
            sum+=i;
        }
        System.out.println(sum);
    }

    static ArrayList<Integer> arrayList=new ArrayList<Integer>();

    
    /**
     * 通過(guò)遞歸的方式完成
     * @param:
     * @return:
     * @date: 2018-3-13  
     */
    public static ArrayList<Integer> printListFromTailToHead1(ListNode listNode) {
        if(listNode!=null){
            arrayList.add(listNode.val);
            if(listNode.next!=null){
                printListFromTailToHead1(listNode.next);
            }
        }
        return arrayList;
    }


    /**
     * 通過(guò)堆棧的方式
     * @param:
     * @return:
     * @date: 2018-3-13  
     */
    public static ArrayList<Integer> printListFromTailToHead2(ListNode listNode) {
        //堆棧
        Stack<Integer> stack = new Stack<Integer>();
        while(listNode!=null){
            stack.push(listNode.val);
            listNode = listNode.next;
        }
        //取值,累加
        ArrayList<Integer> list = new ArrayList<Integer>();
        while(!stack.isEmpty()){
            list.add(stack.pop());
        }
        return list;
    }
}

7開(kāi)源控件ViewPagerIndicator的使用

下面的鏈接寫(xiě)的很好昏鹃。

http://www.reibang.com/p/a2263ee3e7c3
https://www.cnblogs.com/wangying222/p/5863928.html
http://blog.csdn.net/ithouse/article/details/49026917(標(biāo)題顯示不全)

補(bǔ)充一點(diǎn)就是尚氛,在初始的AndroidMainfest.xml的Activity中要引用主題。還包括清除頭標(biāo)題洞渤。

8 Activity管理Fragment之Fragment關(guān)閉當(dāng)前回到之前Fragment

http://blog.csdn.net/u012382791/article/details/51027507

9 一篇論文完成時(shí)阅嘶,需要問(wèn)自己幾個(gè)問(wèn)題,看是否能回答的出來(lái):

Tips about paper writing and reading

1) 論文的重點(diǎn)是什么载迄?是否已經(jīng)明確表述讯柔?——不要讓讀者去找,要明確的告訴护昧;
2) 關(guān)鍵技術(shù)思想是什么磷杏?表述是否清楚?——同上捏卓;
3) 你提出的問(wèn)題是什么极祸?該問(wèn)題為什么重要?
4) 其他研究者是如何提出同樣或者相似問(wèn)題的怠晴?你的方法有什么不同或者為什么好些遥金?
5) 對(duì)你提出的問(wèn)題,你是如何解決的蒜田?有什么結(jié)果稿械?

批判性的閱讀理解文章,回答如下問(wèn)題:
1) 提出問(wèn)題的動(dòng)機(jī)是什么冲粤?
2) 找出解決方案做出的選擇是什么美莫?
3) 解決方案后面有假設(shè)嗎?是什么梯捕?
4) 假設(shè)是否明智厢呵?是否可以去掉(在不使方法失效的情況下)?
5) 將來(lái)的研究方向是什么傀顾?
6) 什么是確實(shí)完成了或者實(shí)現(xiàn)了襟铭?
7) 方法依賴的理論依據(jù)是什么,是否充分有效短曾?

10 PullToRefreshListView中Item的下標(biāo)從1開(kāi)始

11 Android studio查看SQLIte數(shù)據(jù)庫(kù)文件

1 http://blog.csdn.net/u014005316/article/details/53674028

2 http://blog.csdn.net/baidu_25797177/article/details/72877628

12 layout布局三等分

http://blog.csdn.net/ly_dengle/article/details/70172918

13 解決在eclipse中導(dǎo)入項(xiàng)目名稱已存在的問(wèn)題

http://blog.csdn.net/yjtgod/article/details/9961397

14 android Studio中右側(cè)布局展示的preview 的顯示寒砖、固定與隱藏

http://blog.csdn.net/superdhq/article/details/53378154

15 使用百度地圖AndroidSDK方法

http://lib.csdn.net/article/android/57801?knId=295

報(bào)錯(cuò):
1 230 uid: -1 appid -1 msg: APP Scode碼校驗(yàn)失敗
當(dāng)時(shí)是由于包名沒(méi)寫(xiě)對(duì),不需要寫(xiě)到根嫉拐。

com.learn.p2pmoney.warmlight

2 200錯(cuò)誤
項(xiàng)目名稱哩都,大小寫(xiě)不對(duì)。

16 Android設(shè)置布局的陰影背景

有示例
http://blog.csdn.net/ms03001620/article/details/8235625#
背景樣式較全
http://blog.csdn.net/zbjdsbj/article/details/51602571
https://www.cnblogs.com/imqsl/p/6561299.html
http://blog.csdn.net/q390345932/article/details/46536655

17 當(dāng)EditText編輯時(shí) hint 在 手機(jī)上顯示不出

1 當(dāng)EditText編輯時(shí) hint 在 手機(jī)上顯示不出來(lái)

就要增加一句話去重新設(shè)置顏色值 android:textColorHint = "#707070"

2 通過(guò)

android:gravity="top|left"

讓hint中內(nèi)容居于頂部

18 使用Android自帶控件DatePickerDialog設(shè)置日期

http://blog.csdn.net/sqf251877543/article/details/78617731
http://blog.csdn.net/suwenlai/article/details/71107748
http://blog.csdn.net/wzsdxs/article/details/52074025
http://blog.csdn.net/fumei59/article/details/47080597

需要注意的地方

  • 1 可以自己設(shè)置日期框婉徘,具體上面的鏈接中有方法

  • 2 設(shè)置時(shí)間的選擇范圍漠嵌,需要傳遞long類(lèi)型的數(shù)據(jù)璃赡,例如當(dāng)前年份+1年和-1年的代碼如下

dayDialog.getDatePicker().setMaxDate(((new Date().getTime()/1000)+60*60*24*365)*1000);
dayDialog.getDatePicker().setMinDate(((new Date().getTime()/1000)-60*60*24*365)*1000);

http://blog.csdn.net/yf198708/article/details/51859481
http://www.jb51.net/article/101771.htm

項(xiàng)目中的代碼

final int themeHoloLight = AlertDialog.THEME_HOLO_LIGHT;//選擇系統(tǒng)自帶的樣式
 rlDateStarttime.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startTime = new StringBuilder();
                Calendar day = Calendar.getInstance();
                DatePickerDialog dayDialog = new DatePickerDialog(AddDateActivity.this,themeHoloLight,
                        new DatePickerDialog.OnDateSetListener() {
                            @Override
                            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                                startTime.append(year + "-" + (month + 1) + "-" + dayOfMonth + " ");
                                Calendar time = Calendar.getInstance();
                                Dialog timeDialog = new TimePickerDialog(AddDateActivity.this, themeHoloLight ,new TimePickerDialog.OnTimeSetListener() {

                                    @Override
                                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                                        startTime.append(hourOfDay+":"+minute);
                                        tvDateShowtime.setVisibility(View.VISIBLE);
                                        tvDateShowtime.setText(startTime);
                                    }
                                }, time.get(Calendar.HOUR_OF_DAY), time.get(Calendar.MINUTE), true);
                                timeDialog.show();
                            }
                        }, day.get(Calendar.YEAR), day.get(Calendar.MONTH), day.get(Calendar.DAY_OF_MONTH));
                //當(dāng)前年份-1 >= 年份 <= 當(dāng)前年份+1
                dayDialog.getDatePicker().setMaxDate(((new Date().getTime()/1000)+60*60*24*365)*1000);
                dayDialog.getDatePicker().setMinDate(((new Date().getTime()/1000)-60*60*24*365)*1000);
                dayDialog.show();
            }
        });

19 Android屏蔽EditTex獲得焦點(diǎn)

http://blog.csdn.net/qq_15032453/article/details/52191216

20 進(jìn)入頁(yè)面EditText取消焦點(diǎn)防止自動(dòng)彈出輸入框

http://blog.csdn.net/liangxiaoyan7002/article/details/52240761

21 Android修改用戶頭像

https://www.cnblogs.com/zhangqie/p/6560744.html

http://blog.csdn.net/alanjet/article/details/52494996

22 Android 使用sharedpreferences、ACache緩存用戶名和密碼

http://blog.csdn.net/qq_27385759/article/details/53319268

23 Android的startActivityForResult()與onActivityResult()與setResult()參數(shù)分析献雅,activity帶參數(shù)的返回

http://www.cnblogs.com/fuck1/p/5456337.html

24 如何用AndroidStudio導(dǎo)入github項(xiàng)目

https://www.cnblogs.com/Sharley/p/5519053.html

25 Android上傳圖片功能實(shí)現(xiàn)(單獨(dú)寫(xiě)文章)

http://blog.csdn.net/qq_32521313/article/details/52451364

http://blog.csdn.net/u010983881/article/details/50827273

26 關(guān)于Sqllite的一些使用方法

cursor.moveToFirst()指向查詢結(jié)果的第一個(gè)位置碉考。一般通過(guò)判斷cursor.moveToFirst()的值為true或false來(lái)確定查詢結(jié)果是否為空。

cursor.moveToNext()是用來(lái)做循環(huán)的挺身,一般這樣來(lái)用:while(cursor.moveToNext()){ }

rs.isAfterLast:游標(biāo)始終停到1的位置

27 利用intent來(lái)傳遞int數(shù)據(jù)

方法一:
通過(guò)數(shù)據(jù)類(lèi)型轉(zhuǎn)換侯谁,不過(guò)在有些特殊的情況下這種方法并不適用

int id=10;  

Intent intent = new Intent(this, EditActivity.class);  
intent.putExtra("id", id+"");      // id+"" 這樣是把int轉(zhuǎn)成String類(lèi)型, 否則會(huì)報(bào)錯(cuò)  
startActivity(intent);  

String sID=getIntent().getStringExtra("id");  
int id=Integer.parseInt(sID);      //String轉(zhuǎn)int  

方法二:
通過(guò)bundle這個(gè)對(duì)象來(lái)封裝數(shù)據(jù)進(jìn)行傳遞,
例如發(fā)送端:

Bundle bundle = new Bundle();  
bundle.putInt("id", 3);  
intent.putExtras(bundle); 

28 android studio無(wú)法顯示 Android Monitor

http://blog.csdn.net/zxc514257857/article/details/73834327

http://blog.csdn.net/qq_19822039/article/details/51753560

29 設(shè)置Textview最大長(zhǎng)度章钾,超出顯示省略號(hào)

http://blog.csdn.net/lonewolf521125/article/details/45481157

30 Android清除本地?cái)?shù)據(jù)緩存代碼

https://www.cnblogs.com/rayray/p/3413673.html

31 注銷(xiāo)登陸數(shù)據(jù)

http://blog.csdn.net/qq_31008549/article/details/54691521

32 實(shí)現(xiàn)整個(gè)程序退出

https://www.cnblogs.com/zhujiabin/p/5723399.html
http://blog.csdn.net/Sunnyfans/article/details/7688092
http://blog.csdn.net/u013804382/article/details/52788900

33 注銷(xiāo)登陸后返回登錄界面墙贱,按手機(jī)返回鍵仍能返回主界面的問(wèn)題解決方案

http://blog.csdn.net/kuaizilanqiu/article/details/53068657

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贱傀,隨后出現(xiàn)的幾起案子惨撇,更是在濱河造成了極大的恐慌,老刑警劉巖府寒,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魁衙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡株搔,警方通過(guò)查閱死者的電腦和手機(jī)剖淀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)纤房,“玉大人纵隔,你說(shuō)我怎么就攤上這事∨谝蹋” “怎么了捌刮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)舒岸。 經(jīng)常有香客問(wèn)我绅作,道長(zhǎng),這世上最難降的妖魔是什么吁津? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任棚蓄,我火速辦了婚禮堕扶,結(jié)果婚禮上碍脏,老公的妹妹穿的比我還像新娘。我一直安慰自己稍算,他們只是感情好典尾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著糊探,像睡著了一般钾埂。 火紅的嫁衣襯著肌膚如雪河闰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天褥紫,我揣著相機(jī)與錄音姜性,去河邊找鬼。 笑死髓考,一個(gè)胖子當(dāng)著我的面吹牛部念,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播氨菇,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼儡炼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了查蓉?” 一聲冷哼從身側(cè)響起乌询,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎豌研,沒(méi)想到半個(gè)月后妹田,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鹃共,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年秆麸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片及汉。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沮趣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坷随,到底是詐尸還是另有隱情房铭,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布温眉,位于F島的核電站缸匪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏类溢。R本人自食惡果不足惜凌蔬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闯冷。 院中可真熱鬧砂心,春花似錦、人聲如沸蛇耀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纺涤。三九已至译暂,卻和暖如春抠忘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背外永。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工崎脉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人伯顶。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓荧嵌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親砾淌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子啦撮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容