• 20169207 2016-2017-2 《移动平台应用开发实践》第八周学习总结实验报告二


    进度条和学习过程可视化:避免半途而废
    阅读学习教材《Java和Android开发学习指南(第二版)(Java for
    Android.2nd)》第29、30、31、32章,,有问题「课程答疑小组)」提问,24小时内回复,鼓励解答别人问题,提问前请阅读「如何提问」。
    要在课程组织中建立学习项目,作业博客中要有statistics.sh脚本运行结果的截图
    参考示例 点评结对搭档的博客和代码
    教材深入学习关注豆列「《Java程序设计和Android开发》课程」。
    在本周日晚12:00前发学习博客(标题:学号 2016-2017-2 《移动平台应用开发实践》第五周学习总结),重点是遇到的问题和解决方案。不按时交作业会扣分。

    教材学习内容总结

    第29章 操作栏

    • 1.操作栏是一个矩形窗口区域,包含了应用程序图标,应用程序名称以及其他的导航按钮。
    getsupportActionBar().hide().
    getsupportActionBar().show().
    public boolean onCreateOptionsMenu(Menu menu){
            getMenuInflater().inflate(R.menu.main,menu);
            return true;//这里指的是设置按钮
        }
    
    • 2.添加操作项
    switch(item.getItemId())
        case R.id.action_1:
                //do something
    

    item可以拥有如下的元素:
    android:id.唯一的一个标识符。,引用程序中的操作项。
    android:orderInCategory。项的顺序编号。编号较小的项将会出现在编号较大的项的前面。
    android:icon。如果操作项显示为一个操作按钮的话,这是操作箱的图标
    android:title。操作标签
    android:showAsAction。这个值可以是如下值的一个或多个的组合:ifRoom、never、withText、always和callapseActionView。

    • 3.添加下拉式导航。一个下拉式的列表可以用作一种导航模式。
    • 4.回退一步。可以在一个活动的操作栏中设置应用程序图标和活动标签,以便按下该图标时,应用程序能够向上回退一个层级。

    第30章

    • 1.android中有3种类型的菜单:1.选项菜单。2.上下文菜单。3.弹出式菜单。
    • 2.菜单文件:group元素表示一个菜单分组。item元素表示一个菜单项。
    • 3.OptionsMenuDemo应用程序是一个简单的应用程序,它在操作栏中使用一个选项菜单。
    • 4.上下文菜单:contextMenuDemo应用程序展现了如何在应用程序中使用上下文菜单,该应用程序的主活动使用了一个图像按钮,可以长按该按钮以显示一个上下文菜单。
    • 5.弹出式菜单:弹出式和一个视图相关联,每次该视图中发生一个事件的时候,就会显示这个菜单。

    第31章

    • 1.ListView是一个可以显示滚动的列表项的一个视图,列表项可能来自于一个列表适配器或一个数组适配器。

    • 2.创建一个ListAdapter:ListAdapter的具体的实现之一是ArrayAdapter类。

    • 3.使用一个Listview:

    • 4.扩展ListActivity并编写一个定制的适配器。:如果你的活动个只有一个LISTVIEW组件,你应该考虑扩展ListActivity类而不是Activity。

    • 5.样式化选取的项:用户能够清晰的看到lISTVIEW中当前选择的项,这常常是想要的结果。

    第32章GridView

    • 1.android.widget.GridView类是一个创建GridView的模板。

    • 2.使用GridView:该程序使用一个GridView来填充整个显示区。

    教材学习中的问题和解决过程

    实验一

    任务:
    //定义一个数组
    int arr[] = {1,2,3,4,5,6,7,8};
    //打印原始数组的值
    for(int i:arr){
    System.out.print(i + " ");
    }
    System.out.println();
    // 添加代码删除上面数组中的5
    ...
    //打印出 1 2 3 4 6 7 8 0
    for(int i:arr){
    System.out.print(i + " ");
    }
    System.out.println();
    // 添加代码再在4后面5
    ...
    //打印出 1 2 3 4 5 6 7 8
    for(int i:arr){
    System.out.print(i + " ");
    }
    System.out.println();

    public class hello {
    public static void main(String[] args )
    {
    	int[] a =new int[]{1,2,3,4,5};
    	for(int i=0;i<a.length;i++)
    		 System.out.print(a[i]);
    	System.out.println("");
    	for(int j=a.length-1;j>=0;j--)
    		 System.out.print(a[j]);
    		 */
    	  int arr[] = {1,2,3,4,5,6,7,8};
    	  //打印原始数组的值
    	  for(int i:arr){
    	      System.out.print(i + " ");
    	  }
    	  System.out.println();
    	  // 添加代码删除上面数组中的5
    	 for(int i=4;i<arr.length-1;i++ )
    		   arr[i] = arr[i+1];
    	  arr[7] = 0;
    	  //打印出 1 2 3 4 6 7 8 0
    	  for(int i:arr){
    	      System.out.print(i + " ");
    	  }
    	  System.out.println();
    	  // 添加代码再在4后面5
    	  for(int i=arr.length-1;i>4;i-- )
    		   arr[i] = arr[i-1];
    	  arr[4] = 5;
    	  //打印出 1 2 3 4 5 6 7 8
    	  for(int i:arr){
    	      System.out.print(i + " ");
    	  }
    	  System.out.println();
    }
    } 
    

    实验二

    实验三

    实验三 Java面向对象程序设计(http://www.cnblogs.com/rocedu/p/4472842.html)
    对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
    1: 让系统支持Short类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印

    实验四

    任务:以TDD的方式开发一个复数类Complex,要求如下:

    // 定义属性并生成getter,setter
    double RealPart;
    double ImagePart;
    // 定义构造函数
    public Complex()
    public Complex(double R,double I)

    //Override Object
    public boolean equals(Object obj)
    public String toString()

    // 定义公有方法:加减乘除
    Complex ComplexAdd(Complex a)
    Complex ComplexSub(Complex a)
    Complex ComplexMulti(Complex a)
    Complex ComplexDiv(Complex a)

    实验实现代码:

    public class Complex {
        // 定义属性并生成getter,setter
        double RealPart;
        double ImagePart;
        // 定义构造函数
        public Complex(){
    
            this.RealPart=1;
            this.ImagePart=1;
        };
        public Complex(double R,double I){
    
            this.RealPart=R;
            this.ImagePart=I;
            System.out.println(R+"+"+I+"i");
        };
        public void setRealPart(double a)
        {
            this.RealPart=a;
        }
        public double getRealPart()
        {
            return this.RealPart;
        }
        public void setImagePart(double a)
        {
            this.RealPart=a;
        }
        public double getImagePart()
        {
            return this.ImagePart;
        }
    
        //Override Object
        public boolean equals(Object obj)
        {
            if(this.toString().equals(obj.toString()))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        public String toString()
        {
            return this.RealPart+"+"+this.ImagePart+"i
    ";
        }
    
        // 定义公有方法:加减乘除
        Complex ComplexAdd(Complex a)
        {
            Complex c = a;
            c.RealPart +=this.RealPart;
            c.ImagePart+=this.ImagePart;
            return c;
        }
        Complex ComplexSub(Complex a)
        {
            Complex c= a;
            c.RealPart -=this.RealPart;
            c.ImagePart-=this.ImagePart;
            return c;
        }
        Complex ComplexMulti(Complex a)
        {
            Complex c= a;
            c.RealPart = this.RealPart* c.RealPart-this.ImagePart*c.ImagePart;
            c.ImagePart=this.ImagePart*c.RealPart+this.RealPart*c.ImagePart;
            return c;
    
        }
        Complex ComplexDiv(Complex a)
        {
            Complex c= a;
            c.RealPart = this.RealPart* c.RealPart-this.ImagePart*c.ImagePart;
            c.ImagePart=this.ImagePart*c.RealPart+this.RealPart*c.ImagePart;
            return c;
        }
    }
    
    

    实验五

    实验六 使用starUML建模(这里选用猫和狗继承动物的例子)

  • 相关阅读:
    MySQL分页实现
    一周自学动态站点设计
    hdu 1233(还是畅通project)(prime算法,克鲁斯卡尔算法)(并查集,最小生成树)
    windows下使用lighttpd+php(fastcgi)+mysql
    Thinkpad E431 解决无线网卡无法开启
    创建与删除索引
    IC芯片
    Linux IPC(Inter-Process Communication,进程间通信)之管道学习
    POJ 3090 Visible Lattice Points 欧拉函数
    多区域显示(3)
  • 原文地址:https://www.cnblogs.com/littletang/p/6735118.html
Copyright © 2020-2023  润新知