国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android 60問60答 (一篇復習整個Android)

這篇具有很好參考價值的文章主要介紹了Android 60問60答 (一篇復習整個Android)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Android 60問60答 (一篇復習整個Android)

有哪些移動端平臺?

廠商開發(fā)平臺:

  • los

  • 黑莓(blackBerry)

第三方私有平臺:第三方開發(fā)供移動設備廠商使用

  • WindowsMobile

免費開源平臺:

  • Android

  • Symbian

Android中Linux內(nèi)核的作用

  • 充當用戶和設備之間的接口。

  • 管理所用活動內(nèi)存和資源共享

  • 充當設備上所安裝的應用的主機

  • 常由硬件制造商使用,因為它提供一個硬件抽象層,可在硬件發(fā)生變化時,確保上層保持不變

Android使用的數(shù)據(jù)庫是?

SQLite,提供可用于所有應用的功能強大的輕量級關(guān)系數(shù)據(jù)庫

Android有哪些構(gòu)建塊?

  • 活動:專為一個清晰的目的提供獨特的可視化UI

  • 服務:始終在后臺,完成特定的任務

  • 內(nèi)容提供者:存儲和檢索存儲在文件、SQLite、web或任何其他持久化存儲位置的數(shù)據(jù)

  • 廣播接收器:相應系統(tǒng)范圍內(nèi)廣播通知的應用的組成部分

Android項目的目錄結(jié)構(gòu)

  • /src/main/java:項目使用的java源文件

  • /build:編譯后生成文件

  • libs:專有庫

  • /src/main/resourse:應用資源文件,有

    • Drawable:位圖文件或者繪制對象資源類型的xml文件

    • Mipmap:使用于不同啟動器圖標密度的可會址對象文件

    • Layout:用于定義用戶界面布局的XML文件

    • Menu:定義應用菜單的XML文件

    • Raw:需要以原始形式保存的任意文件

    • Values:包括字符串、整數(shù)、顏色等簡單值的xml文件

小部件的常用屬性

屬性名稱 關(guān)聯(lián)方法 描述
android:layout_gravity 定義如何在布局容器內(nèi)對齊小部件
android_gravity setGravity(int) 設置對象在容器中的放置
android:layout_weight 指定小部件的大小比例。如果不拉伸則設置為0,否則根據(jù)權(quán)重拉伸

Android顏色表示

AARRGGBB

透明度|紅|綠|藍

ListView小部件的作用

此小部件向用戶顯示一個列表,它與Java中的列表框組件類似,ListView默認支持垂直滾動。要想使用小部件,如下所示:

<ListView android:id="@id/listview"
    android:layout_width="match_parent"
    android:layoutheight="warp_content"
>
</ListView>

ImageView小部件

用于顯示圖像,可以從其他資源(例如drawable目錄、因特網(wǎng)、內(nèi)容提供者)加載圖像,它根據(jù)源圖像的大小調(diào)整自己的尺寸。要想使用該小部件,如下:

<ImageView android:id="@id/imageview"
    android:layout_width="match_parent"
    android:layoutheight="warp_content"
    android:src="@drawable/map"
>
</IamgeView>

WebView小組件

用于顯示網(wǎng)頁,使用如下

<WebView android:id="@id/webview"
    android:layout_width="match_parent"
    android:layoutheight="warp_content"
>
</WebView>

要想加載網(wǎng)頁需要在Java中調(diào)用:

WebView view = (WebView)findViewById(R.id.webview);
view.loadUrl("https://google.com");

Android布局有那些?

表格布局

此布局以行和列的形式排列其子視圖。表格航對象創(chuàng)建可容納小部件的行,表格布局的最大列數(shù)取決于用最大列數(shù)分割的行。

使用表格布局如下:

<TableLayout xmlns:android=""
    android:layout_height="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1"
>
    <TableRow>
        <TextView />
        <TextView />
        <TextView />
        <!-- 這里有三個元素,故是三列 -->
    </TableRow>
</TableLayout>

框架布局

以堆棧格式從上往下添加視圖,項位置用android:gravity屬性設置,布局的大小取決于最大視圖的大小。

使用框架布局如下:

<FrameLayout xmlns:android:"略"
    android:layout_height="fill_parent"
    android:layout_height="fill_parent"
>
    <ImageView />
    <ImageView />
    <ImageView />
    <!-- 這里有三個元素,故是三行 -->
</FrameLayout>

使用那個方法來關(guān)聯(lián)活動?

setContentView()方法用于將UI與活動關(guān)聯(lián),用法如下:

public void onCreate(Bundle saveInstanceState){
    super.onCreate(sabeInstanceState);
    setContentView(R.layout.main);
}

如何注冊活動為主活動?

只有在manifest.xml中注冊過的活動才能被系統(tǒng)訪問,要注冊活動如下:

<manifest ...>
    <application ...>
        <activity android:name="..." />
    </application>
</manifest>

activity標簽中也可以添加一些屬性,比如可以指定某活動為主活動:

<activity android:name=".mainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <categort android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

活動生命周期?

  • 正在運行:活動對于用戶是在屏幕上可見的

  • 已暫停:焦點在另一個活動上,但是此活動依然可見

  • 已停止;活動被另一個活動安全覆蓋,且現(xiàn)處于后臺中。停止的活動也是活動的,其對象依然保留在內(nèi)存中

活動生命周期方法

  • onResume:此方法在活動開始與用戶交互之前調(diào)用。當活動位于棧頂且準備好接收用戶輸入就會調(diào)用。

Android 60問60答 (一篇復習整個Android)

Intent的作用

意圖(intent)是用于激活應用組件(活動、服務和廣播接收器)的消息

如何使用顯式intent啟動活動?

顯式Intent指定目標組件的名稱以激活組件。

Intent intent = new Intent(MyFirstActivity.this,MySecondActicity.class);
startActivity(intent);

如何使用隱式intent啟動活動?

隱式intent用于激活其他應用中的組件,不通過名稱指定目標組件。要使得隱式的intent生效,需要為被調(diào)用的組件設置intent過濾器,intent-filtermanifest.xml中設置。之后可以使用隱式intent表述action,Android會自動與現(xiàn)有組件的intent過濾器比較,找到合適的組件

Intent intent = new Intent();
intent.setAction("com.anna.chapter6.a6");
intent.addCategory(Intent.CATEGORY_DEAFULT);
startActivity(intent);

如何使用Intent在組件之間傳遞數(shù)據(jù)

使用Intent

寫入方:

intent.putExtra("name","Nicole")
Intent intent = new Intent(MainActivity.this,OtherActivity.class);
intent.putExtra("name", "Nicole");
intent.putExtra("age", 25);
intent.putExtra("address", "Shenzhen");

讀取方:

Intent intent = getIntent();
String nameString = intent.getStringExtra("name");
int age = intent.getIntExtra("age",0);
String addressString = intent.getStringExtra("address");

使用Bundle

寫入方:

Intent intent = new Intent(MainActivity.this,OtherActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "Ben");
bundle.putInt("age", 28);
bundle.putString("address", "China");
intent.putExtras(bundle); //將bundle傳入intent中。

讀取方:

Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String nameString = bundle.getString("name");
int age = bundle.getInt("age");
String addressString = bundle.getString("address");

ADB是什么

Android Debug Bridge(ADB)充當開發(fā)硬件與設備/仿真器之間的通信媒介

ADB有哪些常用命令?

  • device:生成已連接的設備列表

  • pull:將指定文件從設備復制到計算機

  • push:將指定文件從計算機復制到設備

  • install<path>:在設備上安裝應用(指定路徑)

Logcat有哪些日志級別?

  • 錯誤,使用Log.e()記錄

  • 警告,使用Log.w()記錄

  • 信息,使用Log.i()記錄

  • 調(diào)試,使用Log.d()記錄

  • 詳細信息,使用Log.v()記錄

內(nèi)部存儲區(qū)與外部存儲器的概念

設備內(nèi)部的儲存,以文件存儲,屬于應用私有

外部存儲器存放在SD卡,所有應用與用戶都可以訪問

共享首選項是什么?

共享首選項是輕量級機制,用于存儲基本數(shù)據(jù)類型的鍵值對,是快速存儲默認值、類實例變量、用戶界面狀態(tài)以及用戶偏好的理想方式

一個程序的數(shù)據(jù)庫在哪?

/data/data/<package name>/databases

如何以編程的方式創(chuàng)建數(shù)據(jù)庫?

在Android中,可以使用android.database.sqlite.SQLiteDatabase以編程方式創(chuàng)建數(shù)據(jù)庫。SQLiteDatabase類公開各種方法來管理SQLite數(shù)據(jù)庫。

操作數(shù)據(jù)庫的方法有哪些?

  • openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory factory,DatabaseErrorHandler errorHandler)

  • updata(String table,ContentValue values,String whereClause,String[] whereArgs)

  • query(SQLiteDatabase db,String[] columns, String selection, Srtring[] selections,String groupby,String having,String sortOrder)

  • getColumnIndex(String ColumnName) 返回給的列名的基于0的索引,或1

  • getColumnName(int ColumnIndex)

  • excute() 如果不是SELECT、INSERT、DELETE或UPDATE,則執(zhí)行SQL語句

如何檢索受SQL語句影響的行數(shù)?

使用excuteUpadataDelete()excuteInsert()方法

如何訪問內(nèi)容提供者公開的數(shù)據(jù)?

使用android.content.ContentResolver

ContentResolver resolver = getContentResolver();

如何讀寫內(nèi)部存儲區(qū)

寫文件

  1. 使用android.content.Context類的openFileOutput()方法打開或創(chuàng)建文件

  2. 使用java.io.FileOutputStream類的write()方法將數(shù)據(jù)寫入文件

  3. 使用java.io.FileOutputStream類的close()方法關(guān)閉文件

讀文件

  1. 使用android.content.Context類的openFileOutput()方法打開或創(chuàng)建文件

  2. 使用java.io.FileOutputStream類的read()方法從文件讀取數(shù)據(jù)

  3. 使用java.io.FileOutputStream類的close()方法關(guān)閉文件

getFIleDir與getDir的作用

  • getFileDir():獲取用于保存的內(nèi)部文件的文件系統(tǒng)目錄的絕對路徑

  • getDIr(String dirname,int node):在您的內(nèi)部存儲空間創(chuàng)建或打開一個現(xiàn)有目錄,接收以下參數(shù):

    • dirname:要檢索的文件夾名稱

    • mode:文件的創(chuàng)建模式

外部環(huán)境Enviroment的有哪些狀態(tài)?

常量 描述
MEDID_MOUNTED 已經(jīng)在加載,可以讀寫訪問
MEDID_REMOVED 不存在
MEDID_UNMOUNTED 已存在但是沒有加載
MEDID_MOUNTED_READ_ONLY 已存在但只讀

getExternalStorageDirectory(String type):檢索外部存儲目錄

getExternalStorageState():檢索外部存儲設備當前的狀態(tài),返回Environment中的某個常量

如何讀寫外部設備

需要使用getExternalStorageDirectory方法獲取到外部存儲的路徑,然后讀寫過程與內(nèi)部存儲的讀寫方式相同

??:寫入之前需要在manifest文件中指定所需的權(quán)限

<user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</user-permission>

如何檢索公共首選項

需要使用SharedPerferences接口提供的方法

  • contains(String key):檢查首選項是否包含特定首選項,參數(shù)指定要檢查的key

  • getXXX(String key,XXX defValue):它從首選項中檢索指定數(shù)據(jù)類型的值

如何獲取網(wǎng)絡權(quán)限

<user-permission android:name="android.permission.INTERNET">
</user-permission>

如何啟動一個服務

可以使用startService)方法從引用組建啟動服務

Intent intent = new Intent(this,myService.class);
startService(intent);

啟動的服務與綁定的服務的區(qū)別

啟動的服務

啟動的服務生命周期如下:
onCreate()—>onStartCommand()onStart()方法已過時) —> onDestory()

特點

一旦服務開啟跟調(diào)用者(開啟者)就沒有任何關(guān)系了。
開啟者退出了,開啟者掛了,服務還在后臺長期的運行。
開啟者不能調(diào)用服務里面的方法。

綁定的服務

綁定的服務生命周期如下:

onCreate() —>onBind()—>onunbind()—>onDestory()

注意:綁定服務不會調(diào)用onstart()或者onstartcommand()方法

特點

bind的方式開啟服務,綁定服務,調(diào)用者掛了,服務也會跟著掛掉。
綁定者可以調(diào)用服務里面的方法。

什么是廣播接收器?

廣播以intent的形式傳達。要接收和響應廣播,應用要包括一個稱為廣播接收器的組件。廣播接收器不提供UI。不過,它可以創(chuàng)建狀態(tài)欄通知,以在收到播時向用戶發(fā)出提示

創(chuàng)建廣播接收器要調(diào)用哪個方法?

  • 創(chuàng)建一個類來拓展BroadcastReceiver類

  • 在這個派生類中重寫onReceive()方法

如何注冊廣播接收器?

以下兩種方法都可以:

在訂單文件中配置

<application ...>
    <receiver android:name="./myReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
    </receiver>
    <user-permission android:name="android.permisson.ACCESSS_NETWORK_STATE" />
</application>

以動態(tài)的方式

使用與主應用線程中的過濾器匹配的廣播intent調(diào)用registerReceiver方法,這個方法的簽名是:public abstract Intent registerReceiver(BroadcastReceiver reveiver, IntentFilter filter)

創(chuàng)建一個菜單資源要用哪些元素?

  • <menu>:菜單資源的根結(jié)點

  • <item>:用于創(chuàng)建菜單項

  • <group>:是一個可選元素,允許對菜單項進行分類,從而允許共享屬性

創(chuàng)建菜單要使用哪兩個方法?

  • 要重寫onCreateIotinsMenu()方法

  • 在這個方法中創(chuàng)建android.view.MenuInflator類的expand方法來拓展菜單

ViewPage是什么?

可以使用AndroidX的ViewPage小部件創(chuàng)建滑動視窗

如何將主題引用到整個引用?

在manifest中將android:thene屬性添加到application標簽

自定義控件要拓展哪個類?

View

setGravity怎么使用?

可以使用setGravity(gavity,xOffset,yOffset)方法將非常靈活地將消息條放在屏幕的任何位置

Toast toast = Toast,makeText(...);
toast.setGravity(Gravity.BOTTOM|Gravity.LEFT,0,0);
toast.show();

設置鬧鈴到幾種方法的區(qū)別?

  • set:設置鬧鈴

  • setRepeating:設置重復鬧鈴

  • setInexactRepeating:按照定義的時間間隔重復鬧鈴,但如果設備處于休眠狀態(tài)則不會喚醒,這樣更省電,即不準確的重復鬧鈴。

常見的定位技術(shù)有哪四種?

  • GPS

  • WiFi定位

  • IP地址定位

  • 三角測量法

如何偵聽傳入的SMS

Bundle bundle = intent.getExtras();
if(buddle!=null){
    Object[] pdus = (Object[]) bundle.get("pdus);
    SmsMessage[] messages = new SmsMessage[pdus.length];
    for(int i=0;i<pdus.length;i++){
        messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i])
    }
}

如何監(jiān)聽電話狀態(tài)?

String nameService = Content.TELEPHONE_SERVICE;
TelephonyManager teleManager = (TelephoneManager)getSystemService(nameService);

Canvas與Paint的區(qū)別

Canvas(畫布)表示可以繪制圖形和圖像的表面。提供了多種方法來繪制簡單的圖形、路徑、位圖和文本。

Paint(畫筆)提供繪制富豪、文本和圖形的樣式和顏色的相關(guān)信息。

如何畫一個圓?

cavas.onDraw(){
    // drawCircle(float cx,float cy,float radius,Paint paint);
    cavas.drawCircle(50,50,30,paint);
}

MediaPlayer的getCurrentPosition與setOnPerparedListener方法的作用

  • getCurrentPosition():返回當前播放的位置,單位毫秒

  • setOnPerparedListener(MediaPlayer.onPerparedListener listener):注冊一個回調(diào)函數(shù),當媒體源準備好播放時,可調(diào)用該函數(shù)

在哪里聲明權(quán)限?

AndroidManifest.xml

如何運行時申請權(quán)限?

調(diào)用checkSelfPermisson(String perm)來檢查權(quán)限,以保證用戶沒有把權(quán)限撤銷

使用requestPermissions(String permissions,int requestCode)來請求權(quán)限,參數(shù)一是請求的權(quán)限,參數(shù)二隨便給一個數(shù)字

Android打包成什么?

.APK文章來源地址http://www.zghlxwxcb.cn/news/detail-501525.html

到了這里,關(guān)于Android 60問60答 (一篇復習整個Android)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • Android模板設計模式之 - 構(gòu)建整個應用的BaseActivity

    Android模板設計模式之 - 構(gòu)建整個應用的BaseActivity

    模式的定義 定義一個操作中的算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。 模式的使用場景 1.多個子類有公有的方法,并且邏輯基本相同時。 2.重要、復雜的算法,可以把核心算法設計為模板方法,周邊

    2024年02月13日
    瀏覽(22)
  • Python GUI界面界面—tkinter,學習、復習、查閱,這一篇就夠了

    Python GUI界面界面—tkinter,學習、復習、查閱,這一篇就夠了

    ? ? ? ? PythonGUI程序界面設計tkinter優(yōu)點:無需另外下載,是自帶的、操作簡單、易方便; ?????????????????????????????????????????????????????????缺點:界面控件較少,頁面不夠美觀 注:一般來說做小軟件tkinter足夠了(頁面可以用ttkbootstrap美化

    2024年01月17日
    瀏覽(20)
  • Redis01——Redis入門這一篇就夠了(可學習、復習、面試,收藏備用)

    Redis01——Redis入門這一篇就夠了(可學習、復習、面試,收藏備用)

    前 言 ?? 作者簡介:半舊518,長跑型選手,立志堅持寫10年博客,專注于java后端 ?專欄簡介:深入、全面、系統(tǒng)的介紹redis知識 ?? 文章簡介:本文將深入、全面介紹Redis的入門,包括redis的介紹、歷史、安裝、特點、基本知識等,建議收藏備用,創(chuàng)作不易,敬請三連哦 Red

    2024年02月07日
    瀏覽(26)
  • 【SA8295P 源碼分析 (一)】60 - QNX Host 如何新增 android_test 分區(qū)給 Android GVM 掛載使用

    【源碼分析】 因為一些原因,本文需要移除, 對于已經(jīng)購買的兄弟,不用擔心,不是跑路, 我會繼續(xù)持續(xù)提供技術(shù)支持, 有什么模塊想學習的,或者有什么問題有疑問的, 請私聊我,我們 +VX 溝通技術(shù)問題,一起學習,一起進步 接下來,我一一私聊已經(jīng)購買的兄弟添加V

    2024年02月07日
    瀏覽(17)
  • Android Studio期末復習--復盤

    Android Studio期末復習--復盤

    需要資料的,文章末尾免費自提 1、下列不是手機操作系統(tǒng)的是( )。 A Android B Window Mobile C Apple IPhone IOS D Windows Vista 2、下列選項哪個不是 Activity 啟動的方法 ( ) A startActivity B goToActivity C startActivityForResult D startActivityFromChild 3、下列哪個不是Activity的生命周期方法之一( )

    2024年02月02日
    瀏覽(17)
  • Android 單元測試只看這一篇就夠了

    Android 單元測試只看這一篇就夠了

    目錄 單元測試的目的以及測試內(nèi)容 本地測試 1. 添加依賴,google官方推薦: 2. 單元測試代碼存儲位置: 3. 創(chuàng)建測試類: 4. 運行測試用例: 5. 通過模擬框架模擬依賴,隔離依賴: 儀器化測試 配置: 例子: 常用單元測試開源庫 1. Mocktio 2. powermock 3. Robolectric 實踐經(jīng)驗 1. 代碼中用到了

    2024年02月03日
    瀏覽(24)
  • 【Android復習筆記】Retrofit核心原理

    1. 創(chuàng)建一個 interface 作為 Web Service 的請求集合,在里面用注解( Annotation )寫入需要配置的請求方法

    2024年02月10日
    瀏覽(19)
  • Android復習(Android基礎-四大組件)——Service與Activity通信

    Android復習(Android基礎-四大組件)——Service與Activity通信

    我們前面學會了啟動和停止服務的方法,但是服務雖然是在活動里啟動的,但是啟動服務之后,活動與服務之間基本沒什么關(guān)系了。 正常情況,我們在Activity里調(diào)用startService()方法啟動MyService這個服務,然后MyService的onCreate()和onStartCommand()方法就會得到執(zhí)行。之后服務會一直處

    2024年02月13日
    瀏覽(20)
  • Android Architecture Components 只看這一篇就夠了

    Android Architecture Components 只看這一篇就夠了

    1.3、主要架構(gòu) 1.4、使用組件 在項目根目錄 build.gradle 文件添加倉庫依賴: allprojects { repositories { jcenter() google() } } 如果遇到如下因 gradle 版本導致的編譯失敗問題: Error:(6, 1) A problem occurred evaluating root project ‘TestArc’. Could not find method google() for arguments [] on repository container;

    2024年04月13日
    瀏覽(31)
  • 【Android開發(fā)】移動程序設計復習大綱

    一、 判斷題 (共10小題,每題1分,共10分) 二、 單選題 (共10小題,每題1分,共10分) 三、 填空題 (共10小題,每空1分,共10分) 四、 簡答題 (共4小題,每題10分,共40分) 五、 程序設計題 (共2小題,每空2分,共30分) 知識點: 1. Android 體系結(jié)構(gòu)包含的層次及各層的特點。

    2024年02月01日
    瀏覽(52)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包