android學習知識點
阿新 • • 發佈:2019-02-20
Android的佈局的學習-----
1、Android的api的學習:
1)、api guide----api指南。
2)、Training-----例子的訓練。
3)、Reference----Android中的主要的api,主要的類。
4)、Google Services-----谷歌提供的服務
一、Linearlayout
Android中設計佈局設計的原理-----佈局的設計是不能巢狀太多,一般不超過三層,不然效能會下降。
macth—parent------------->匹配父容器
warp-parent-------------->內容包裹
2、Linearlayout的屬性的學習:
1)、gravity:----對齊的方式,相對於包裝器。表示內容位於包裝器的位置。
2)、layout_gravity:--------對齊的方式,相對父容器。表示子元素位於父元素的位置。
3)、weith:-----設定比重。
match-parent:中的wieth的值越大,它所佔的區域就越小。
warp-parent:中的weit的值越大,它所佔的區域就越大。
android的控制元件的學習-----------------------------------------
Android的文字的自動的提示的功能。------使用的是AutoCompleteTextView控制元件。
1、在xml中的程式碼:
1)、<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView" />
2)、String.xml中的程式碼
<resources>
<string name="app_name">LinearlayoutStudy</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string-array name="citys">
<item>東方市</item>
<item>三亞市</item>
<item>海口市</item>
<item>儋州市</item>
<item>樂東市</item>
</string-array>
</resources>
2、在activity的程式碼:
public class MainActivity extends Activity {
private AutoCompleteTextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView=(AutoCompleteTextView) findViewById(R.id.textView);
//這裡的介面卡是不一定只用這一種介面卡,也可以用其他的介面卡。
//如:SimpleAdapter、BaseAdapter。自定義的介面卡。
/*
使用資料來源一
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
textView.setAdapter(adapter);//將介面卡中的內容放到AutoCompleteTextView中。
*/
//使用資料來源二
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, getdata());
textView.setAdapter(adapter);
}
//這裡的資料來源以後可以從資料庫中去取,或中一些檔案中取,也可以從網路中去取
//資料來源一
private static final String[] COUNTRIES = new String[] {
"Belgium", "France", "Italy", "Germany", "Spain"
,"abc","ab","fjx","hh","kk","oo","qq","tt"
};
//資料來源二
private String[] getdata(){
data=getResources().getStringArray(R.array.citys);
return data;
}
}
1、AutoCompleteTextView屬性:是用來設定提示的內容是在輸入多少個
詞以後才出現的。如AutoCompleteTextView="2"那麼從輸入第二個
詞時才會出現提示的內容,如果AutoCompleteTextView="1",那麼輸
入一個詞時就有了提示的內容出現,當然也都肯能沒有提示的內容,
因為如果提示的資料來源裡面沒有這個資料的話,就不會有提示。
2、介面卡:Adapter
介面卡的作用:---->介面卡這個物件是位於AdapterView和資料來源之間的一個橋樑。
資料來源---》可以來自:資料、資料庫、網路。
介面卡的種類很多:----》為了適應不同的資料的型別。
介面卡是資料與檢視之間的橋樑。
3、使用不同的控制元件---->根據顯示資料的控制元件的不同,選擇不同的介面卡。
陣列的介面卡-----ArrayAdapter<T>。他是繼承一個BaseAdapter。它適配的資料的型別都是一樣的。
android的選單的學習-----------------------------------------
memu選單的介紹:
定義選單的有兩種方式----1、xml,2、java程式碼。
xml方式-----高版本用的。
java程式碼方式-----低版本用的。
如何建立一個menu的xml:---
1、一個menu下面可以有多個item或group。
2、在res/menu的目錄下,建立一個xml,它的根節點是menu
item:選單項。
group:選單的分組。
如:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/one"//選單的id
android:title="第一"//選單的標題
android:icon=""//選單的圖示
android:numericShortcut=""//選單的數字快捷鍵
android:showAsAction=""//選單是否總是顯示
/>
</menu>
選單的定義是很簡單的,主要我們要學的是如何去處理選單的點選的事件的處理。
如何在選單中加入響應的事件----
// 處理選單的選擇的事件。--在acivity中重寫onOptionsItemSelected()方法,如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.one:
toast("第一個被點選");
break;
case R.id.two:
toast("第二個被點選");
break;
case R.id.three:
toast("第三個被點選");
break;
case R.id.four:
toast("第四個被點選");
break;
}
return super.onOptionsItemSelected(item);
}
選單僅僅只是跟當前的activity有關係。
android學習之內容提供者-------------------------------------------------、
ContextProvider:內容提供者。-----對外提供一個數據訪問的介面的規則。
1、什麼是Content Provider 內容提供者----
底層封裝的是資料庫的操作,操作資料,A應用中將本地的資料庫的資料,分享給B的應用,必須要使
用內容提供者,內容提供者是提供資料的資料來源,給客戶端訪問。
如:網站,百度文庫。提供的內容是供我們的客戶端去訪問的
2、當我們想要去訪問內容提供者提供的資料,那麼就要用到內容的解析者(ContentResolver)。
具體如何訪問---下面講解。
3、內容提供者提供的資料可以在不同的工程之間進行資料的訪問。
4、如果你不想將自己工程的資料共享給其他的工程去使用的話,那麼建議使用SQLiteDatabase。也就
就是你的資料的儲存,就需要用的是SQLite的資料庫進行儲存。
5、內容提供者提供了一套對外的介面訪問規則:
query查詢 ----對應一個uri
insert插入----對應一個uri
update更新----對應一個uri
delete刪除----對應一個uri
6、解析uri----用的類是UriMatcher類來解析
解析---是為了是解析出,是增、刪、改、查中的那個
當要匹配uri的時候該類就呼叫---match()方法,與UriMatcher中的add的方法匹配,看有沒有匹配。
7、android資料儲存之遊標介面卡-----------
1)、遊標介面卡是一個抽象類。
2)、資料的來源---來自遊標,主要與ListView結合使用的。
3)、這裡資料庫返回的遊標是給ListView使用的。
4)、資料庫的資料來源與介面卡使用時----容易使應用產生ANR.----因此就要用到LoaderManager類了。
8、android資料儲存之LoaderManager---------
1)、該loder有非同步的Loader。
2)、LoaderManager是用在Activity或Fragment中,我們可能需要載入多個Loader。
3)、loader只能對資料進行查詢的操作。
4)、takeContentChanged()方法判斷內容是否已經改變了,
如果已經改變---就呼叫forceLoad()方法通知呼叫者。
5)、lManager.getLoader(1001).onContentChanged();//呼叫的時候是當內容發生改變的時候呼叫的
。這個方法必須在ui的主執行緒中呼叫的,用來通知ui的更新。
6)、使用觀察者模式進行載入資料。
7)、使用非同步的Loader載入資料。
8)、獲取Loader的物件:---Context.getLoaderManager();
9)、初始化----LoaderManager.initLoader(id,args,callBack);
9、android的檔案儲存與內容提供者結合LoaderManager
10、使用ContentProvider去訪問通訊錄:-----
1)、手機當中常見的內容提供者有哪些:
①、日曆。
②、通訊錄----可以修改、訪問、刪除、新增、查詢。
新增操作:
values.put("表中的欄位",欄位的值);
ContentResolver.insert(uri,values);//執行插入的語句
android中SQLite資料庫的使用--------------------------------------------------------
1、需要寫一個類DBHelper繼承SQLiteOpenHelper類
在這個類中完成SQLite的資料庫的建立與資料表的建立。
2、在使用的時候----
DBHelper helper=new DBHelper(Context);
SQLiteDatabase database=helper.getWriteredDatabase();//獲取資料庫的物件
3、定義一個DBManager類,用於資料庫的管理----管理資料庫的增刪該查。
4、定義在dao層中對資料庫的操作進行封裝。
1、Android的api的學習:
1)、api guide----api指南。
2)、Training-----例子的訓練。
3)、Reference----Android中的主要的api,主要的類。
4)、Google Services-----谷歌提供的服務
一、Linearlayout
Android中設計佈局設計的原理-----佈局的設計是不能巢狀太多,一般不超過三層,不然效能會下降。
macth—parent------------->匹配父容器
warp-parent-------------->內容包裹
2、Linearlayout的屬性的學習:
1)、gravity:----對齊的方式,相對於包裝器。表示內容位於包裝器的位置。
2)、layout_gravity:--------對齊的方式,相對父容器。表示子元素位於父元素的位置。
3)、weith:-----設定比重。
match-parent:中的wieth的值越大,它所佔的區域就越小。
warp-parent:中的weit的值越大,它所佔的區域就越大。
android的控制元件的學習-----------------------------------------
Android的文字的自動的提示的功能。------使用的是AutoCompleteTextView控制元件。
1、在xml中的程式碼:
1)、<AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView" />
2)、String.xml中的程式碼
<resources>
<string name="app_name">LinearlayoutStudy</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string-array name="citys">
<item>東方市</item>
<item>三亞市</item>
<item>海口市</item>
<item>儋州市</item>
<item>樂東市</item>
</string-array>
</resources>
2、在activity的程式碼:
public class MainActivity extends Activity {
private AutoCompleteTextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView=(AutoCompleteTextView) findViewById(R.id.textView);
//這裡的介面卡是不一定只用這一種介面卡,也可以用其他的介面卡。
//如:SimpleAdapter、BaseAdapter。自定義的介面卡。
/*
使用資料來源一
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
textView.setAdapter(adapter);//將介面卡中的內容放到AutoCompleteTextView中。
*/
//使用資料來源二
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, getdata());
textView.setAdapter(adapter);
}
//這裡的資料來源以後可以從資料庫中去取,或中一些檔案中取,也可以從網路中去取
//資料來源一
private static final String[] COUNTRIES = new String[] {
"Belgium", "France", "Italy", "Germany", "Spain"
,"abc","ab","fjx","hh","kk","oo","qq","tt"
};
//資料來源二
private String[] getdata(){
data=getResources().getStringArray(R.array.citys);
return data;
}
}
1、AutoCompleteTextView屬性:是用來設定提示的內容是在輸入多少個
詞以後才出現的。如AutoCompleteTextView="2"那麼從輸入第二個
詞時才會出現提示的內容,如果AutoCompleteTextView="1",那麼輸
入一個詞時就有了提示的內容出現,當然也都肯能沒有提示的內容,
因為如果提示的資料來源裡面沒有這個資料的話,就不會有提示。
2、介面卡:Adapter
介面卡的作用:---->介面卡這個物件是位於AdapterView和資料來源之間的一個橋樑。
資料來源---》可以來自:資料、資料庫、網路。
介面卡的種類很多:----》為了適應不同的資料的型別。
介面卡是資料與檢視之間的橋樑。
3、使用不同的控制元件---->根據顯示資料的控制元件的不同,選擇不同的介面卡。
陣列的介面卡-----ArrayAdapter<T>。他是繼承一個BaseAdapter。它適配的資料的型別都是一樣的。
android的選單的學習-----------------------------------------
memu選單的介紹:
定義選單的有兩種方式----1、xml,2、java程式碼。
xml方式-----高版本用的。
java程式碼方式-----低版本用的。
如何建立一個menu的xml:---
1、一個menu下面可以有多個item或group。
2、在res/menu的目錄下,建立一個xml,它的根節點是menu
item:選單項。
group:選單的分組。
如:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/one"//選單的id
android:title="第一"//選單的標題
android:icon=""//選單的圖示
android:numericShortcut=""//選單的數字快捷鍵
android:showAsAction=""//選單是否總是顯示
/>
</menu>
選單的定義是很簡單的,主要我們要學的是如何去處理選單的點選的事件的處理。
如何在選單中加入響應的事件----
// 處理選單的選擇的事件。--在acivity中重寫onOptionsItemSelected()方法,如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.one:
toast("第一個被點選");
break;
case R.id.two:
toast("第二個被點選");
break;
case R.id.three:
toast("第三個被點選");
break;
case R.id.four:
toast("第四個被點選");
break;
}
return super.onOptionsItemSelected(item);
}
選單僅僅只是跟當前的activity有關係。
android學習之內容提供者-------------------------------------------------、
ContextProvider:內容提供者。-----對外提供一個數據訪問的介面的規則。
1、什麼是Content Provider 內容提供者----
底層封裝的是資料庫的操作,操作資料,A應用中將本地的資料庫的資料,分享給B的應用,必須要使
用內容提供者,內容提供者是提供資料的資料來源,給客戶端訪問。
如:網站,百度文庫。提供的內容是供我們的客戶端去訪問的
2、當我們想要去訪問內容提供者提供的資料,那麼就要用到內容的解析者(ContentResolver)。
具體如何訪問---下面講解。
3、內容提供者提供的資料可以在不同的工程之間進行資料的訪問。
4、如果你不想將自己工程的資料共享給其他的工程去使用的話,那麼建議使用SQLiteDatabase。也就
就是你的資料的儲存,就需要用的是SQLite的資料庫進行儲存。
5、內容提供者提供了一套對外的介面訪問規則:
query查詢 ----對應一個uri
insert插入----對應一個uri
update更新----對應一個uri
delete刪除----對應一個uri
6、解析uri----用的類是UriMatcher類來解析
解析---是為了是解析出,是增、刪、改、查中的那個
當要匹配uri的時候該類就呼叫---match()方法,與UriMatcher中的add的方法匹配,看有沒有匹配。
7、android資料儲存之遊標介面卡-----------
1)、遊標介面卡是一個抽象類。
2)、資料的來源---來自遊標,主要與ListView結合使用的。
3)、這裡資料庫返回的遊標是給ListView使用的。
4)、資料庫的資料來源與介面卡使用時----容易使應用產生ANR.----因此就要用到LoaderManager類了。
8、android資料儲存之LoaderManager---------
1)、該loder有非同步的Loader。
2)、LoaderManager是用在Activity或Fragment中,我們可能需要載入多個Loader。
3)、loader只能對資料進行查詢的操作。
4)、takeContentChanged()方法判斷內容是否已經改變了,
如果已經改變---就呼叫forceLoad()方法通知呼叫者。
5)、lManager.getLoader(1001).onContentChanged();//呼叫的時候是當內容發生改變的時候呼叫的
。這個方法必須在ui的主執行緒中呼叫的,用來通知ui的更新。
6)、使用觀察者模式進行載入資料。
7)、使用非同步的Loader載入資料。
8)、獲取Loader的物件:---Context.getLoaderManager();
9)、初始化----LoaderManager.initLoader(id,args,callBack);
9、android的檔案儲存與內容提供者結合LoaderManager
10、使用ContentProvider去訪問通訊錄:-----
1)、手機當中常見的內容提供者有哪些:
①、日曆。
②、通訊錄----可以修改、訪問、刪除、新增、查詢。
新增操作:
values.put("表中的欄位",欄位的值);
ContentResolver.insert(uri,values);//執行插入的語句
android中SQLite資料庫的使用--------------------------------------------------------
1、需要寫一個類DBHelper繼承SQLiteOpenHelper類
在這個類中完成SQLite的資料庫的建立與資料表的建立。
2、在使用的時候----
DBHelper helper=new DBHelper(Context);
SQLiteDatabase database=helper.getWriteredDatabase();//獲取資料庫的物件
3、定義一個DBManager類,用於資料庫的管理----管理資料庫的增刪該查。
4、定義在dao層中對資料庫的操作進行封裝。