20162317袁逸灏 第十四周实验报告:实验四 Android程序设计
实验内容
- Android Studio
实验要求
- 学会使用Android Studio
- 学习 活动 以及相关知识内容
- 学习 UI组件 以及相关知识内容
- 学习 布局 以及相关内容
实验过程
- 下载安装Android Studio
- 自学 Java.for.Android.2nd 内的知识;通过写入书本中的代码以及运行来学习Android 的语句,从而来掌握Android程序开发的步骤和主要格式。
实验知识点
- 第二十四章:初识 Android Studio
Module Structure
模块中当前主要解除的节点是 应用程序 节点,其下又包含了三个节点:manifests(用于描述应用程序)、java(包含了所有Java应用程序和测试类)、res(包含了资源文件)
-第二十五章:活动(简单地说,没打开一个窗口都相当于激活了一个活动)
活动激活另一个活动(要用到"startActivity(intent)",但仅靠这一条语句还是不能完全实现活动的激活,你还需要新建一个intent的对象。一般的格式为:
Intent intent = new Intent();
intent.setClass(MainActivity.this,SecondActvity.class);//定义从哪一个活动到哪一个活动
PS:这里还能添加其他有关intent的方法来实现敌前一活动对后一活动的额外需求
startActivity(intent);//开启另一活动。
)
- 第二十六章:UI组件
Toast
Toast是指弹窗,用于显示一条信息作为给用户的反馈。现今我接触的有三种:默认、自定义位置、带图片自定义位置,它们的代码分别为:
默认:
Toast.makeText(getApplicationContext(),"想要弹出的字符串",Toast.LENGTH_LONG).show();
自定义位置:
customToast=Toast.makeText(getApplicationContext(),"想要弹出的字符串",Toast.LENGTH_LONG);
customToast.setGravity(Gravity.CENTER,0,0);//完美居中,不向左偏也不向右偏。
customToast.show();
带图片自定义位置:
private Toast twi;
twi=Toast.makeText(getApplicationContext(),"想要弹出的字符串",Toast.LENGTH_SHORT);
twi.setGravity(Gravity.CENTER,0,0);//定义位置
LinearLayout toastview = (LinearLayout)twi.getView();
ImageView imageCodeProject = new ImageView(getApplicationContext());
imageCodeProject.setImageResource(R.mipmap.ic_launcher);//载入图片
toastview.addView(imageCodeProject,0);
twi.show();
效果图:
Notification
Notification就是通知,出现在状态栏里的一条信息。
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder mbuilder = new NotificationCompat.Builder(Context);
mbuilder.setContentTitle("标题")//设置通知栏标题
.setContentText("通知内容")
.setTicker("弹出时显示的字符串")
.setWhen(System.currentTimeMillis())//显示通知弹出时的时间
.setSmallIcon(图标);//设置图标
Intent intent = new Intent(MainActivity.this,SecondActivity.class);//通知也是一种活动
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,0,intent,0);
mbuilder.setContentIntent(pendingIntent);
manager.notify(notifyid,mbuilder.build());
效果图:
第二十七:布局
Linerlayout:布局文件中的元件会程线性排列,主要有两种状态:垂直排列以及水平排列。
效果图:
水平分布:
垂直分布
RelativeLayout:其中的子视图可以相对于批次或者相对于它们的父视图来定位。
效果图:
Framelayout:实现将一个子视图定位于另一个子视图上。
效果图:
Tablelayout:将子视图排列成行或列
效果图:
实验感悟
- android studio又是一个全新的领域,刚刚接触的时候,对这一段不明意义的代码感到手足无措,但这与我们的专业有密切联系,放弃却是万万不可的。因此结合课本,我在网上大肆寻找一些方法的相关知识以及使用方法。慢慢地,对android Studio的基本操作也开始有了一定的认识。
- 本来我很想去仔细研究关于android中相关代码使用的意义以及拓展,因为对于android studio真的几乎一点也不认识,在课下除了课本外我也一直在找一些方法的用法,从而能够更好地去使用android studio以及程序的开发。无奈谢涛老师又出新题,在期末考试将至的压力下以及题目的压力下,我真的没有能力以及心思去仔细研究android studio了。因此我衷心向谢涛老师建议:在这期末这段时间希望能够放得松一点,给我们复习专业课科目以及复习Java的时间,不然的话我觉得大多数我们班的同学会出现Java又学不精,专业课又不会的状况,望理解。