android学习笔记(android学习各种知识点)

写在阅读之前:我现在正在学习android开发,在学习的过程中记下了一些自己感兴趣的知识点,没有按照书本上面的抄下来,仅凭记忆和自己的理解进行记录的,所以一定有很多地方会出现各种各样的错误,学习嘛就是一个不断拓宽自己的知识纠正以前错误的一个过程,如果大家发现有错误的地方请您一定要纠正我,这样大家都能进步!!!!

1.Cursor:在一些需要检索联系人的程序中,我们会用到cursor对查询出来的联系人进行一些必要的排列,首先会用到ContentResolver的对象content,然后调用方法得到cursor=content.query(Contacts.People.CONTENT_URI, people_projection,

null, null, Contacts.People.DEFAULT_SORT_ORDER);

现在联系人的各项信息就在游标中了,我们可以利用游标找到我们需要的一项或者是多项信息,如姓名或者是电话号码等:

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()方法以处理获得的值。例如

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

{

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了

转载于:https://my.oschina.net/u/578095/blog/75934

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值