android學習筆記(android學習各類知識點)

寫在閱讀以前:我如今正在學習android開發,在學習的過程當中記下了一些本身感興趣的知識點,沒有按照書本上面的抄下來,僅憑記憶和本身的理解進行記錄的,因此必定有不少地方會出現各類各樣的錯誤,學習嘛就是一個不斷拓寬本身的知識糾正之前錯誤的一個過程,若是你們發現有錯誤的地方請您必定要糾正我,這樣你們都能進步!!!!android

1.Cursor:在一些須要檢索聯繫人的程序中,咱們會用到cursor對查詢出來的聯繫人進行一些必要的排列,首先會用到ContentResolver的對象content,而後調用方法獲得cursor=content.query(Contacts.People.CONTENT_URI, people_projection, 數組

null, null, Contacts.People.DEFAULT_SORT_ORDER);app

如今聯繫人的各項信息就在遊標中了,咱們能夠利用遊標找到咱們須要的一項或者是多項信息,如姓名或者是電話號碼等:ide

String name=cursor.getString(cursor.getColumnIndexOrThrow(Contacts.People.NAME));佈局

String number=cursor.getString(cursor.getColumnIndexOrThrow(Contacts.People.NUMBER));學習

這樣就獲得了姓名和電話號碼,可是咱們的聯繫人一般是不少的,所我咱們要一個一個的檢索,這個時候能夠調用方法cursor.MoveToFirst()把指針指向第一個記錄。字體

2.手機震動:設置手機在轉頁或者點擊按鈕或者在遊戲時震動要用到vibrator對象,首相建立一個vibrator對象vb,而後調用方法vb.vibrate(long[] pattern, int repeat)就能夠了,例如vb.vibrate(new long[]{100,10,1000},-1),注意:前面三個參數表明震動的強度,後面的-1表明只震動一次,若是是0就一直震動下去。動畫

3.startActivityForResult(Intent intent,int COUNT): 這是啓動另一個Activity,而後返回得到的值,另外須要複寫onCreateResult()方法以處理得到的值。例如this

protected void onActivityResult(int requestCode,int resultCode,Intent data)spa

{

switch(requestCode)

{

case COUNT:……….

}

}

4.關於佈局:咱們能夠對一個控件添加一些佈局,好比說對spinner的item添加圖片和文字,這個時候咱們就能夠再代碼區編寫一些代碼進行添加了。例如

Linnerlayout ll=new Linnerlayout();

ll.setOretation(####);//這裏是設置佈局方向的

ImageView iv=new ImageView();

iv.setResorcg(R.drawable.#);

ll.add(iv);//向ll添加一圖片,用一樣的方法還能夠爲ll添加TextView控件,最後把這些內容要放在一個內容適配器(BasicAdapter ba=new BasicAdapter(){…….//在這裏放置上面的代碼}),最後spinner.setAdapter一下就能夠了。具體實例(紅色內容):

package com.bn.chap5.adp;

import android.app.Activity;

。。。。。。

public class Sample5_8_Activity extends Activity {

final static int WRAP_CONTENT=-2;//表示WRAP_CONTENT的常量

//全部資源圖片(足球、籃球、排球)id的數組

int[] drawableIds={R.drawable.football,R.drawable.basketball,R.drawable.volleyball};

//全部資源字符串(足球、籃球、排球)id的數組

int[] msgIds={R.string.zq,R.string.lq,R.string.pq};

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//初始化Spinner

Spinner sp=(Spinner)this.findViewById(R.id.Spinner01);

//爲Spinner準備內容適配器

BaseAdapter ba=new BaseAdapter()

{

@Override

public int getCount() {

return 3;//總共三個選項

}

@Override

public Object getItem(int arg0) { return null; }

@Override

public long getItemId(int arg0) { return 0; }

@Override

public View getView(int arg0, View arg1, ViewGroup arg2) {

//初始化LinearLayout

LinearLayout ll=new LinearLayout(Sample5_8_Activity.this);

ll.setOrientation(LinearLayout.HORIZONTAL); //設置朝向

//初始化ImageView

ImageView ii=new ImageView(Sample5_8_Activity.this);

ii.setImageDrawable(getResources().getDrawable(drawableIds[arg0]));//設置圖片

ll.addView(ii);//添加到LinearLayout中

//初始化TextView

TextView tv=new TextView(Sample5_8_Activity.this);

tv.setText(" "+getResources().getText(msgIds[arg0]));//設置內容

tv.setTextSize(24);//設置字體大小

tv.setTextColor(R.color.black);//設置字體顏色

ll.addView(tv);//添加到LinearLayout中

return ll;

}

};

sp.setAdapter(ba);//爲Spinner設置內容適配器

//設置選項選中的監聽器

sp.setOnItemSelectedListener(

。。。。。。。

};

}

}

5.爲Toast添加圖片

View textview=toast.getView();

LinnerLayout ll=new LinnerLayout();

吧圖片和文字加入ll而後toast.setView(ll);最後toast.show()就能夠了。

6.設置開機啓動畫面變換:

ImageView iv=(ImageView)find……;

AlphaAnimation aa=new AlphaAnimation(0.1f,1.0f);//畫面漸變

aa.setDuration(3000);//畫面停留時間

iv.startAnimation(aa);

而後這隻一個畫面變換完成後須要作的事情(監聽器):

aa.setAnimationListener(new AnimationListener()){

public void onAnimationEnd(Animation arg0){

…………}

}

7.得到手機屏幕大小:

DisplayMetrics dm=new DisplayMetrics();

Screenwidth=dm.widthpixels;

Screenheight=dm.heightpixels-80;

8.有些時候在應用圖片資源時,須要把圖片處理成數據流,能夠:

Resource resource=getBaseContext().getResource();

Img=resource.openResource(R.id…..);這樣就能夠了。

9.手機背景圖片:(WallPaper類)

獲得手機背景圖片:getWallPaper();

設置手機圖片:thisAcitvity.setWallPaper();

10.BaseAdaspter:

BaseAdapter是一個內容適配器,能夠把一個列表的內容按順序方在裏面。例如:

Spinner spinner=new Spinner();

String[]hobby={「籃球」,」足球」,」羽毛球」,」乒乓球」};

drawable[]={R.id….,R.id…,R.id….R.id….};

BaseAdapter ba=new BaseAdapter(){

//這裏省略一下須要重寫的方法,

Public View getView(int arg0,View arg1,ViewGroup arg2){

LinnerLayout ll=new LinnerLayout(thisActivity.this);

ll.setOritention(LinnerLayout.H….)

ImageView iv=new ImageView();

iv.setImagedrawable(hobby[arg0])

ll.add(iv);

//而後還能夠再裏面加上一些控件

}

}

//最後爲spinner設置適配器

Spinner.setAdapter(ba);

這樣就成功的利用了BaseAdapter了

相關文章
相關標籤/搜索