/*安卓开发入门经典实例*/My notes
//Android开发入门/
与安卓开发中的一些重要知识,如:相关
构成开发环境
在APP中的单个屏幕抽象:活动
画面间跳转:英特尔
构成画面显示视图组件:显示图像的ImageView、显示文本的TextView、将组件合并为一个列表的视图ListView
使用Adapter控制模型和视图组件之间的通信。 这意味着: OnClickListener在视图中显示特定数据如何通过事件处理用户交互
主活动的代码框架。 此Activity表示App启动时我们看到的画面。 此Java文件定义了Activity,当执行APP应用程序时,主Activity类将启动Activity
加载activity_main.xml布局文件并将其显示在屏幕上。
Acitvity与layout的关联是通过MainActivity的onCreate ()方法进行的: setcontentview (r.layout.activity _ main );
app/src/main/Android manifest.XML
Android Manifest文件是描述Android APP应用程序的基本信息,它定义了APP应用程序中的各个组件。 活动是一个组件。
app/src/main/res目录包含APP应用程序所需的资源文件:
drawable/-图像资源文件layout/-用户界面布局描述文件
menu/- APP应用程序的菜单布局
values/字符串、颜色数值等常数值
显示列表
$$ activity_main.xml布局文件
Android : id=' @ id/teacher_listView '定义了此listview的id为teacher _ listview。
Android : id=' @ id/teacher _ listview '
Android : layout _ alignparentleft=' true '
Android : layout _ alignparentstart=' true ' /
适配器设置
用于将数据传递到ListView的适配器是阵列适配器。 这里有字符串的排列,所以我想
他们创建阵列适配器类。
部分代码将:添加到MainActivity.java的onCreate方法中
注意初始化适配器的代码:
arrayadapterteacheradapter=new array adapter (this,Android.r.layout.simple _ list _ item _ 1,teacher.getallteay )
this,当前活动
Android.r.layout.simple _ list _ item _ 1、列表元素或列表中每行的布局
由Teacher.getAllTeachers ()中的所有数据组成的列表或数据源
将一些属性添加到模型优化器类中
公共纹理(字符串名称,int imageId,字符串磁盘)。
this.name=name;
}
公共静态列表获取器(
列表
}
改进列表-新布局-添加图像xml
res/layout
*创建自定义阵列适配器
我们将创建自定义的阵列适配器。 创建名为TeacherAdapter的类,继承ArrayAdapter并提供构造函数。
publicclassteacheradapterextendsarrayadapter { }
*getView ()方法的重载实现
listView.setAdapter
还需要修改MainActivity.java中的代码。 在这种情况下,请创建TeacherAdapter对象并将其设置为listView的Adapter。
理解:
ArrayAdapter -大框-按行排列
TeacherAdapter -每行内容- ImageView,ImageView
我们已经介绍了如何在Activity中创建视图,以及如何通过Adapter将数据传递到视图。
创建第二个活动
编辑teacher_item.xml布局,并将ImageView和TextView拖动到预览区域
TeacherAdapter的getView ()方法在最后一个return语句之前添加:
在返回oneTeacherView之前,OnClick设置用于单击事件的监听程序,并在事件发生时执行公共void onclick (viewv )内部的代码。
oneteacherview.setonclicklistener (new view.onclick listener ) )。
@Override
公共语音在线(查看) {
//在这里跳
}
);
oneTeacherView是“布局”
活动跳转:英特尔
公共语音在线(查看) {
准备跳转到teacherdetailactivity英特尔
intent intent=new intent (get context (,TeacherDetailActivity.class ) );
//准备跳跃
getContext ().startactivity ) intent;
}
通过Intent传递参数
设置Intent的Extra数据
Intent的putExtra方法用于传递参数。 初始化Intent对象后,只需传递老师的数据即可。
需要注意的是,为了访问teacher变量,必须在声明时添加final修饰符。
(final关键字可用于限定类、变量和方法。 不能重新赋值final变量。 子类不能覆盖父类的final方法。 final类不能有子类。 )
公共类技术适配器
公共语音在线(查看) {
//
teacherdetailactivity英特尔
intent intent=new intent (get context (,TeacherDetailActivity.class ) );
//
intentteacherteacherdetailactivityintent.put extra (' teacher _ image ',teacher.getImageId );
intent.putextra('teacher_desc ',teacher.getDesc ) );
//
teacherdetailactivity英特尔
getContext ().startactivity ) intent; }
根据网络数据展示内容
publicclassteacherdetailactivity-oncreate () method
@Override
protectedvoidoncreate (边界维护实例state )。
super.oncreate (savedinstancestate; setcontentview (r.layout.activity _ teacher _ detail;
//从互联网获取数据
int imageId=getIntent ().getintextra('teacher_image ',0 ); String desc=getIntent ().getstringextra ) ) teacher_desc );
//获取特定视图
imageviewimageview=(imageview ) findviewbyid (r.id.teacher _ large _ imageview ); textviewtextview=(textview ) findviewbyid (r.id.teacher _ desc _ textview );
//根据数据设定视图显示
imageview.setimageresource (imageid;
textview.settext(desc;
}