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了

相关文章
相关标签/搜索