任何语言从初学到入门的过程其实就是掌握其规则的过程,其后的功能实现就是在她提供的规范内,想方设法达到自己的目的。就好像学开车,要熟悉各种交通指示灯、指示牌、指示线,以及车内各种表盘、按钮、手杆。这些都了如指掌之后,就可以开车从北京去上海。不论你挑哪种路线,都要遵循它的规范,并最终达到目的地,唯一不同的是,你达到目的地的路程比别人多了还是少了。所有这些都是在规范内,做出你自己的选择,并达到自己的目的,这样也就入门了。那不按规范又能达到自己的目的会是什么样?你是说拿刹车当油门开车从北京到上海?
最近学习了android,入门后,做了个应用,也算能够如臂使唤吧。总结了一些经验,在下边列出,给自己做个梳理。
1、一般android的视图,利用layout中的xml来规范视图组件和组件位置。
2、AndroidManifest.xml可以看做应用的入口,来定义权限,所用到的activity,名称图标等。
3、Activity的onCreate方法,先用setContentView(R.layout.XXX),来定义其用到的视图xml。再对XML中的组件进行声明。
4、对开发的android程序sd卡进行管理:运行\sdk\tools\monitor.bat,当然它所管理的不止sd卡哦。
5、修改程序包的名称,需要注意“AndroidManifest.xml”中“<manifest”里的package修改,其影响“gen/”下的BuildConfig.java和R.java的引用路径。也影响创建数据库的默认路径,以此包名为路径。要注意。
6、用“adb shell”启动Android的命令行终端。
7、view控件利用set渲染后,会及时实现。所以在监听程序中,set实现,会及时响应。
8、Intent实现Activity跳转,基本用法:
Intent intent = new Intent(); // 建立Intent
intent.setClass(Forwarding.this, ForwardTarget.class); // 设置活动
intent.putExtra("key", value);//传递参数
startActivity(intent);
finish();
在跳转到的Activity,利用“getIntent().getStringExtra("key");”接收传递过来的参数。
9、menu菜单实现:
public boolean onCreateOptionsMenu(Menu menu)菜单声明;
声明方式:super.onCreateOptionsMenu(menu);
menu.add(0, MENU_ID, 0, R.string.menu);//添加菜单
......//可声明多个菜单
return true;
public boolean onOptionsItemSelected(MenuItem item)点击响应菜单项的操作。响应方式:
switch (item.getItemId()) {
case MENU_ID:
//操作。
case ......//根据菜单ID声明多个菜单操作
}
10、长按菜单实现:public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)声明;
声明方式:super.onCreateContextMenu(menu, v, menuInfo);
if(v == arrange_layout)//arrange_layout为长按发生的区域,前边声明的控件
{
menu.add(Menu.NONE, MENU_ADD, 0, R.string.modify);//添加菜单
.......
}
11、对话框实现,在Activity中增加对话框响应:
new AlertDialog.Builder(this).setTitle(R.string.title)//设置对话框标题
.setMessage("对话框主体文字显示").//对话框主体部分显示
setPositiveButton(R.string.sure, //创建左边按钮,和按钮名称
new DialogInterface.OnClickListener() {//添加左边按钮的点击监听事件
@Override
public void onClick(DialogInterface dialog, int which) {
.......//事件响应。
}
}).setNegativeButton(R.string.back, null)//添加右边按钮及名称,并规定监听事件(为null)。
.show();//用.show()结尾,实现作用。