您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 安卓入门学习笔记-王老师
安卓入门2015年04月16日星期四上午10:19父类和子类的关系:类型包含关系。子类包含父类所有的方法和属性。继承是为了代码复用。安卓HelloWorld启动流程:1根据AndroidManifest.xml找到com.wnavy.HelloWorld.MainActivity2创建MainActivity类对象(反射)Activityactivity=newMainActivity();3通过对象调用OnCreate(......);//调用了MainActivity中的OnCreate函数(多态)publicclassMainActivityextendsActivity{//入口函数@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//调用父类中被重写的OnCreate方法,做初始化工作super.onCreate(savedInstanceState);//根据activity_main.xml文件中的内容做出界面setContentView(R.layout.activity_main);}}setContentView:setContentView(R.layout.activity_main);//根据传入的View类对象产生界面,其参数可以为任何View类的子类的对象,比如按钮,图片框......也可以是布局文件。颜色代码:ARGB用8为的十六进制数代表颜色与透明度。0xaaffbbccaa:代表透明度ff:红色bb:绿色cc:蓝色XML布局文件:根标签子标签1xxx子标签11xxx//子标签1子标签2xxxxxx//根标签长度单位:1fill_partent,wrap_content2sp--文字大小,40sp3dp--100dp监听器:监听事件的对象。事件:点击、长按、短按......事件源:点击的对象就是事件源。创建监听器步骤:--取出事件源对象Buttonbt=(Button)this.findViewById(R.id.button1);--创建监听器类必须实现OnClickListener接口。classMyListenerimplementsOnClickListener{@Override//回调方法,监听到点击事件后被回调publicvoidonClick(Viewv){//TODOAuto-generatedmethodstubButtonbt=(Button)v;v.setText=(hello);//在此方法中处理事件操作(点击按钮后的操作)}}--实例化监听器对象。MyListenerlistener=newMyListener();--为事件源对象绑定监听器对象。bt.setOnClickListener(listener);//可以把多个事件源绑定到同一个监听器对象上。//setOnClickListener该方法属于所有控件的父类:view,所以所有空间都可以绑定监听器this:方法内部的this,哪个对象调用该方法,this就代表谁。弹出框:Toast.makeText(this,hello,Toast.LENGTH_LONG).show();Contex:场景Buttonbtn=newButton(Ctx);//Ctx是Contex的一个直接或间接子类的对象安卓MVC模式:M:模型层---业务层V:视图层---xml布局文件C:控制层---Activity另外一种事件触发机制:---在布局文件中设置OnClick属性Buttonandroid:id=@+id/Buttonandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=@string/hello_worldandroid:onClick=ButtonPress1/---在MainActivity.java中编写事件监听方法publicButtonPress1(Viewv){System.out.println(ButtonPress1);}所有的Activity都必须放在同一包中。所有的Activity都需要配置。常用控件:Button按钮:TextView文本显示:EditText编辑框:CheckButton单选框:RadioButton多选框:Menu菜单:AlertDialog对话框:方式一://在布局文件中添加监听方法Buttonandroid:id=@+id/Buttonandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=@string/hello_worldandroid:onClick=ButtonPress1///编写监听函数publicvoidButtonPress1(Viewv){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);//新建builder.setTitle(错误!);//标题builder.setMessage(输入内容有误\n请重新输入);//内容builder.setIcon(R.drawable.ic_launcher);//图标builder.show();//显示}//运行结果如下图:方式二:用布局文件控制对话框的显示方式---dialog2.xml//新建对话框布局文件?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:layout_width=match_parentandroid:layout_height=match_parentandroid:orientation=verticalTextViewandroid:id=@+id/Dialog2android:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=对话框2/Buttonandroid:id=@+id/Sureandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=确定/Buttonandroid:id=@+id/Exitandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=退出//LinearLayout---MainActivity.java//编写对话框触发事件publicvoidButtonPress2(Viewv){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);Viewview=this.getLayoutInflater().inflate(R.layout.dialog2,null);builder.setView(view);finalAlertDialogdialog=builder.create();Buttonsure=(Button)view.findViewById(R.id.Sure);sure.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv)//内部类{Toast.makeText(MainActivity.this,你好,1).show();}});Buttonexit=(Button)view.findViewById(R.id.Exit);exit.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){dialog.cancel();}});builder.show();}//运行结果如下图:方式三:新的Activity(启动新界面)---新建Activity和布局文件//TwoActivity.javapublicclassTwoActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//调用父类中被重写的函数,做初始化工作super.onCreate(savedInstanceState);//根据twoactivity.xml文件做出界面this.setContentView(R.layout.twoactivity);}}//twoactivity.xml?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:layout_width=match_parentandroid:layout_height=match_parentandroid:orientation=verticalButtonandroid:id=@+id/Dialog3android:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=对话框3//LinearLayout---把新Acitvity加入到Manifest.xml文件中activityandroid:theme=@android:style/Theme.Dialogandroid:name=.TwoActivityandroid:label=对话框3/activity---在MainActivity中启动对话框publicvoidButtonPress3(Viewv){Intentintent=newIntent();intent.setClass(this,TwoActivity.class);this.startActivity(intent);}//运行结果如下图:跳转到新的Activity:publicvoidButtonPress3(Viewv){Intentintent=newIntent();//意图对象Classc=TwoActivity.class;//获取TwoActivity类的代码信息intent.setClass(this,TwoActivity.class);//把TwoActivity的代码信息放入到意图对象intent中,后台通过反射根据intent中的代码信息创建TwoActivity类的对象this.startActivity(intent);//跳转到新的Activity(TwoActivity),原来的Activity被压栈。点击返回键会销毁当前的Activity,切换到被压栈的Activity。}带数据跳转://在父Activity中存放数据(键值对)publicvoidButtonPress3(Viewv){Intentintent=newIntent();//意图对象Classc=TwoActivity.class;//获取TwoActivity类的代码信息intent.setClass(this,TwoActivity.class);//把TwoActivity的代码信息放入到意图对象intent中,后台通过反射根据intent中的代码信息创建TwoActivit
本文标题:安卓入门学习笔记-王老师
链接地址:https://www.777doc.com/doc-4770520 .html