日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747



1,Android UI體系

1) 三層架構(gòu)、MVC、MVP、MVVM

對(duì)于小項(xiàng)目可以按如下分法(mvp選用);對(duì)于大項(xiàng)目可以按模塊分,然后模塊內(nèi)再按如下分發(fā)。

分包(按功能分):

basal:基類;

surface(fragment、activity、broadcast、listener):界面類;

adapter:適配器類;

mvp(presenter、constract、view):mvp層類;

util:通用工具類;

widget:自定義View類;

entity:實(shí)體類;

Config.class

MyApplication

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2)xml(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)

字體一般是34px、30px、28px、26px、24px、22px

小細(xì)線1px dddddd 粗線10px f5f5f5 背景色f5f5f5、app的左右距離是20px

主題色

3)控件

①View

【Android學(xué)習(xí)】android.view.ViewStub

【android學(xué)習(xí)】EditText

【android學(xué)習(xí)】Toast(消息彈框)

【android學(xué)習(xí)】Dialog對(duì)話框

【android學(xué)習(xí)】webView(網(wǎng)絡(luò)視圖)

【Android學(xué)習(xí)】列表(ListView、RecyclerView)和adapter

【Android學(xué)習(xí)】android.view.ViewStub

【Android學(xué)習(xí)】Android常用框架

②標(biāo)題欄

4)Window和WindowManager

5)圖片

①Drawable

②Bitmap的加載和Cache

6)動(dòng)畫

7)Splash界面

①作用

展現(xiàn)產(chǎn)品的logo

初始化操作(創(chuàng)建數(shù)據(jù)庫(kù),讀取配置文件)

連接服務(wù)器檢查軟件授權(quán)

連接服務(wù)器檢查軟件的更新

②實(shí)現(xiàn)

用handler延遲,在SplashActivity界面中寫如下代碼 ,并禁用返回鍵。

private final int SPLASH_DISPLAY_LENGHT = 3000;

……

handler = new Handler();

// 延遲SPLASH_DISPLAY_LENGHT時(shí)間然后跳轉(zhuǎn)到MainActivity

handler.postDelayed(new Runnable() {

@Override

public void run() {

Intent intent = new Intent(SplashActivity.this,

MainActivity.class);

startActivity(intent);

SplashActivity.this.finish();

}

}, SPLASH_DISPLAY_LENGHT);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2,Android基礎(chǔ)

1)四大組件-Activity

①Fragment相關(guān)

2)四大組件-Service

3)四大組件-Content Provider

4)四大組件-BroadcastReceiver(廣播接收者)

5)重要組件-intent

6)Context類和Application類

7)【Android學(xué)習(xí)】Android Studio學(xué)習(xí)

項(xiàng)目結(jié)構(gòu)

gradle

jar和arr

8)Android系統(tǒng)優(yōu)缺點(diǎn)

五大不足:

①安全與隱私

②首先開賣Android手機(jī)的不是最大運(yùn)營(yíng)商

③運(yùn)營(yíng)商仍然能影響到Android手機(jī)

④同類機(jī)型用戶減少:缺少統(tǒng)一機(jī)型的程序

⑤過分依賴開發(fā)商缺少標(biāo)準(zhǔn)配置:開發(fā)依賴第三方,缺少產(chǎn)品統(tǒng)一性。

優(yōu)點(diǎn):

①市場(chǎng)份額大

②應(yīng)用程序發(fā)展迅速

③智能廠家助力

④手機(jī)價(jià)廉但性能不低

⑤機(jī)型多,硬件配置優(yōu)

⑥系統(tǒng)開源:利于創(chuàng)新,開發(fā)者多,方便開發(fā)。

9)常用Manager

3,Android底層

1)存儲(chǔ)方式(數(shù)據(jù)持久化)

數(shù)據(jù)持久化:將內(nèi)存中的數(shù)據(jù)模型轉(zhuǎn)化為存儲(chǔ)模型。、

其他存儲(chǔ)方式:

redis:一個(gè)開源使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù)。

sessionStorage:生命周期為當(dāng)前窗口或標(biāo)簽頁,一旦窗口或標(biāo)簽頁被永久關(guān)閉了,那么所有通過sessionStorage存儲(chǔ)的數(shù)據(jù)也就被清空了。

file, sqlite3, Preferences, ContentResolver與ContentProvider前三種數(shù)據(jù)操作方式都只是針對(duì)本應(yīng)用內(nèi)數(shù)據(jù),程序不能通過這三種方法去操作別的應(yīng)用內(nèi)的數(shù)據(jù)。

①SQLite數(shù)據(jù)庫(kù)

存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)。

②File(文件存儲(chǔ)、I/O存儲(chǔ))

常用語存儲(chǔ)大數(shù)量的數(shù)據(jù),但是缺點(diǎn)是更新數(shù)據(jù)將是一件困難的事情。

分為內(nèi)部存儲(chǔ)和外部存儲(chǔ)(SD卡)兩種存儲(chǔ)方式。

File.mkdirs和File.mkdir的區(qū)別

File.mkdirs在多層目錄底下創(chuàng)建文件。

File.mkdir能在二層目錄只能一層創(chuàng)建文件,僅能在已有目錄下創(chuàng)建. 對(duì)于路徑實(shí)際不存在的,調(diào)用File.mkdirs()方法。

③SharedPreferences

本質(zhì)就是一個(gè)xml文件,常用于存儲(chǔ)較簡(jiǎn)單的參數(shù)設(shè)置。

共享參數(shù),鍵值對(duì)形式存儲(chǔ)。

④網(wǎng)絡(luò)存儲(chǔ)

將數(shù)據(jù)存儲(chǔ)到服務(wù)器上。

⑤ContentProvider存儲(chǔ)

查看四大組件-Content Provider。

ContentProvider的目的是對(duì)外暴露數(shù)據(jù)供其他程序查詢。

每個(gè)Content Provider都會(huì)對(duì)外提供一個(gè)公共的URI(包裝成Uri對(duì)象),如果應(yīng)用程序有數(shù)據(jù)需要共享時(shí),就需要使用Content Provider為這些數(shù)據(jù)定義一個(gè)URI,然后其他的應(yīng)用程序就通過Content Provider傳入這個(gè)URI來對(duì)數(shù)據(jù)進(jìn)行操作。

2)【JAVA學(xué)習(xí)】Java內(nèi)存

3)【Android學(xué)習(xí)】DVM——apk生成、安裝、啟動(dòng)、反匯編

4)【Android學(xué)習(xí)】NDK編程——JNI(Java Native Interface,java本地接口)編程

5)【Android學(xué)習(xí)】Android安全機(jī)制

6)【Android學(xué)習(xí)】Android系統(tǒng)架構(gòu)

4,進(jìn)程和同步

1)【android 】進(jìn)程、守護(hù)進(jìn)程的實(shí)現(xiàn)及進(jìn)程拉活

2)【java學(xué)習(xí)】進(jìn)程、線程、程序

3)【Android學(xué)習(xí)】IPC(跨進(jìn)程通信,Inter-Process Communication)

4)【Android學(xué)習(xí)】Android網(wǎng)絡(luò):Socket、HTTP

①socket傳輸中,流的關(guān)閉

②android端通過socket接收到數(shù)據(jù)產(chǎn)生亂碼

③socket ECONNRESET 異常

④socket長(zhǎng)連接,造成數(shù)據(jù)粘包問題

⑤【Android學(xué)習(xí)】斷線重連、長(zhǎng)連接心跳機(jī)制

5)【Android學(xué)習(xí)】序列化:Serializable和Parcelable

6)【Android學(xué)習(xí)】消息機(jī)制Handler

7)【Android學(xué)習(xí)】線程的其他方式:AsyncTask、IntentService、HandlerThread、ThreadPoolExecutor

8)【java學(xué)習(xí)】多線程并發(fā)

9)【java學(xué)習(xí)】java鎖

10)資源池

Android中提供了資源池的對(duì)象有:

–Message

提供了消息池,有靜態(tài)方法Obtain從消息池中取對(duì)象。

–AsynTask

AsynTask是線程池改造的,池里 默認(rèn)提供(核數(shù)+1)個(gè)線程進(jìn)行并發(fā)操作,最大支持(核數(shù) * 2 + 1)個(gè)線程,超過后會(huì)丟棄其他任務(wù)。

–ThreadPool

Thread默認(rèn)不提供資源池,除非使用線程池ThreadPool管理。

對(duì)于Looper,每個(gè)Looper創(chuàng)建時(shí)創(chuàng)建一個(gè)消息隊(duì)列和線程對(duì)象,但不是資源池。

5,數(shù)據(jù)結(jié)構(gòu)和算法

【數(shù)據(jù)結(jié)構(gòu)】排序算法

【數(shù)據(jù)結(jié)構(gòu)】查找

【數(shù)據(jù)結(jié)構(gòu)】樹

【數(shù)據(jù)結(jié)構(gòu)】圖

【數(shù)據(jù)結(jié)構(gòu)】數(shù)組

【數(shù)據(jù)結(jié)構(gòu)】隊(duì)列和棧

【數(shù)據(jù)結(jié)構(gòu)】線性表:順序表、單鏈表

【算法】電梯調(diào)度算法/磁盤掃描算法

6,設(shè)計(jì)模式

編程素質(zhì)】多線程編程之設(shè)計(jì)模式

1.復(fù)合模式:三層架構(gòu)、MVC、MVP、MVVM

2.設(shè)計(jì)模式-單例模式

配置類的使用。

3.設(shè)計(jì)模式-模板方法

通過抽象類或接口提前定義要實(shí)現(xiàn)的方法。

4.設(shè)計(jì)模式-觀察者模式

消息的通知。

5.設(shè)計(jì)模式-裝飾模式:處于安全目的,保護(hù)被訪問者

對(duì)一個(gè)已有的接口進(jìn)行功能擴(kuò)展。

如,繼承父類,并增加擴(kuò)展新的方法。

6.設(shè)計(jì)模式-策略模式

MVC中:

控制器是視圖的策略。

視圖只關(guān)心系統(tǒng)中可視的部分,對(duì)于任何界面行為,都委托給控制器處理。

控制器負(fù)責(zé)和模型交互來傳遞用戶請(qǐng)求,對(duì)于工作是怎么完成的,視圖毫不知情。

7.設(shè)計(jì)模式-工廠模式(Factory Pattern)、 控制反轉(zhuǎn)(IoC)與依賴注入(DI)

簡(jiǎn)單工廠、工廠方法、抽象工廠。創(chuàng)建新對(duì)象。

8.設(shè)計(jì)模式-命令模式

支持撤銷。

9.設(shè)計(jì)模式-適配器模式(Adapter)

adpater的使用。

10.設(shè)計(jì)模式-外觀模式

如用一個(gè)spManager管理所有的sp對(duì)象獲得的數(shù)據(jù)。

11.設(shè)計(jì)模式-橋接模式

將抽象化(Abstraction)與實(shí)現(xiàn)化(Implementation)脫耦,使得二者可以獨(dú)立地變化。

舉例:汽車和公路問題。

12.設(shè)計(jì)模式-代理模式(委托模式、Proxy Pattern):動(dòng)態(tài)擴(kuò)充對(duì)象功能

傳入對(duì)象,并調(diào)用對(duì)應(yīng)的方法。如接口回調(diào)。

13.迭代器模式

Iterator。

14.組合模式(合成模式)

允許將對(duì)象組合成樹形結(jié)構(gòu)來表現(xiàn)“整體/部分”層次結(jié)構(gòu)。樹節(jié)點(diǎn)可以對(duì)子節(jié)點(diǎn)進(jìn)行增刪改查等操作。

View和ViewGroup就是一種很標(biāo)準(zhǔn)的組合模式。

15.狀態(tài)模式

機(jī)器取糖果,允許對(duì)象在內(nèi)部狀態(tài)改變時(shí)改變它的行為,對(duì)象看起來好像修改了它的類。

16.生成器模式Builder Pattern

如AlertDialog.Builder。

17.責(zé)任鏈模式

經(jīng)常被使用在窗口系統(tǒng)中,處理鼠標(biāo)和鍵盤之類的事件。

18.蠅量模式Flyweight Pattern

19.解釋器模式Interpreter Pattern

20.中介者模式Mediator Pattern

21.備忘錄模式MementoPattern

當(dāng)你需要讓對(duì)象返回之前的狀態(tài)時(shí)(例如:用戶請(qǐng)求撤銷操作),就使用備忘錄模式

22.原型模式Prototype Pattern

23.訪問者模式Visitor Pattern

7,網(wǎng)絡(luò)基礎(chǔ)、操作系統(tǒng)基礎(chǔ)

【網(wǎng)絡(luò)基礎(chǔ)】TCP/UDP

【數(shù)據(jù)結(jié)構(gòu)】位運(yùn)算

【網(wǎng)絡(luò)基礎(chǔ)】IP計(jì)算

8,數(shù)據(jù)庫(kù)

9,java基礎(chǔ)

【java學(xué)習(xí)】java基礎(chǔ)語法

【java學(xué)習(xí)】String字符串

【java學(xué)習(xí)】類Class

【java學(xué)習(xí)】集合框架

【java學(xué)習(xí)】JVM學(xué)習(xí)

【java學(xué)習(xí)】面向?qū)ο笕筇匦裕悍庋b,繼承,多態(tài)

【Android學(xué)習(xí)】緩存

【java學(xué)習(xí)】修飾符

【java學(xué)習(xí)】數(shù)據(jù)類型

【java學(xué)習(xí)】裝箱與拆箱、泛型

【java學(xué)習(xí)】異常

【java學(xué)習(xí)】反射機(jī)制

【java學(xué)習(xí)】java基礎(chǔ)語法

【java學(xué)習(xí)】正則表達(dá)式(Regular Expression)

【java學(xué)習(xí)】Json框架

【Java學(xué)習(xí)】JAVA和C++區(qū)別

10,Android性能優(yōu)化

1)布局優(yōu)化、自定義View優(yōu)化

刪除布局中無用的控件和層級(jí)

有選擇地使用性能較高的ViewGroup

用<include>標(biāo)簽、<merge>標(biāo)簽、ViewStub

2)activity啟動(dòng)優(yōu)化

耗時(shí)操作優(yōu)化

布局文件優(yōu)化

視圖加載優(yōu)化。如:Fragment的懶加載,只有顯示時(shí)才去加載。

3)列表優(yōu)化

盡量復(fù)用convertview歷史的緩存,減少創(chuàng)建新的view對(duì)象。

盡量的減少子孩子的id的查詢次數(shù),定義一個(gè)viewHolder。

4)內(nèi)存優(yōu)化

5)圖片緩存

圖片的三級(jí)緩存機(jī)制

11,項(xiàng)目管理

項(xiàng)目管理-Git使用

項(xiàng)目管理-SVN學(xué)習(xí)

12,應(yīng)用

1)token登錄

①定義

Token是服務(wù)端生成的一串字符串,以作客戶端進(jìn)行請(qǐng)求的一個(gè)令牌,當(dāng)?shù)谝淮蔚卿浐螅?wù)器生成一個(gè)Token便將此Token返回給客戶端,以后客戶端只需帶上這個(gè)Token前來請(qǐng)求數(shù)據(jù)即可,無需再次帶上用戶名和密碼。

②作用

Token的目的是為了驗(yàn)證用戶登錄情況以及減輕服務(wù)器的壓力,減少頻繁的查詢數(shù)據(jù)庫(kù),使服務(wù)器更加健壯。

Token是在客戶端頻繁向服務(wù)端請(qǐng)求數(shù)據(jù),服務(wù)端頻繁的去數(shù)據(jù)庫(kù)查詢用戶名和密碼并進(jìn)行對(duì)比,判斷用戶名和密碼正確與否,這樣增加了服務(wù)器負(fù)擔(dān)。

③應(yīng)用

i>用戶首次登錄成功之后, 服務(wù)器端就會(huì)生成一個(gè) token 值,保存在數(shù)據(jù)庫(kù)并返回給客戶端.

ii>客戶端拿到 token 值之后,使用sp進(jìn)行保存。

iii>客戶端再次發(fā)送網(wǎng)絡(luò)請(qǐng)求(一般不是登錄請(qǐng)求)的時(shí)候,就會(huì)將這個(gè) token 值附帶到參數(shù)中發(fā)送給服務(wù)器.

iv>服務(wù)器接收到客戶端的請(qǐng)求之后,取出token值與保存在本地(數(shù)據(jù)庫(kù))中的token值做對(duì)比

如果兩個(gè) token 值相同, 說明用戶處于登錄狀態(tài)。

如果沒有這個(gè) token 值, 沒有登錄成功。

如果 token 值不同: 說明原來的登錄信息已經(jīng)失效,讓用戶重新登錄。

2)登錄驗(yàn)證

通過.requestFocus()獲得焦點(diǎn),提高用戶體驗(yàn)

String Str_name = et_username.getText().toString().trim();

String Str_psw = et_password.getText().toString().trim();

if (null != Str_name && Str_name.equals("")) {

showCustomToast("用戶名不能為空");

et_username.requestFocus();

} else if (null != Str_psw && Str_psw.equals("")) {

showCustomToast("密碼不能為空");

et_password.requestFocus();

} else if (Str_psw.contains("卍")) {

showCustomToast("密碼不能含有特殊字符");

et_password.requestFocus();

} else if (Str_psw.length() < 6) {

showCustomToast("密碼不能少于6位");

et_password.requestFocus();

} else {

tryLogin(Str_name, Str_psw);

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3)GPS開啟

檢測(cè)GPS是否開啟,如果沒有則跳到GPS界面供用戶開啟。

LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

// 判斷GPS是否正常啟動(dòng)

if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

ToastUtil.showShort(context, "未開啟位置服務(wù),請(qǐng)開啟GPS導(dǎo)航");

// 返回開啟GPS導(dǎo)航設(shè)置界面

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivityForResult(intent, 0);

return;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4)其他demo

android離線日志文件打印

檢測(cè)android主屏,并把a(bǔ)pp從后臺(tái)切換置前臺(tái)

保持屏幕常亮

斷線重連機(jī)制

13,問題解決

1)eclipse找不到設(shè)備,adb需要重啟

寫一個(gè).bat文件,內(nèi)容如下:

(注意:cd /d D:android-sdksplatform-tools 請(qǐng)?zhí)鎿Q為自己的adb.exe路徑)

@echo off

taskkill /F /IM adb.exe

echo Kill完成...

pause

echo 重啟開始...

cd /d D:android-sdksplatform-tools

adb devices

pause. & exit

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2)其它

①android中使用Menu時(shí)可能需要重寫的方法有:onCreateOptionMenu()和onOptionItemSelected().

②eclipse編輯器亂碼解決

configChanges詳解-之解決問題:手機(jī)切換字體后,app異常崩潰

eclipse創(chuàng)建app時(shí)多出appcompat_v7

android開發(fā)誤刪appcompat_v7

Replace “…” with ellipsis character (…, &&;#8230;) ?

eclipse ‘Launching Hello’has encountered a problem

 

分享到:
標(biāo)簽:android
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定