写在阅读以前:我如今正在学习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了