寫在閱讀以前:我如今正在學習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了