zoukankan      html  css  js  c++  java
  • 20169202 2016-2017-2《移动平台》第十周实验总结

    Android程序设计

    实验一 第一个Android Studio程序

    使用Android Studio创建第一个Hello World应用程序:
    1、打开Android Studio,加载画面如下图所示:

    2、选择”Start a new Android Studio project“
    3、输入应用程序名、选择项目路径,然后点击“Next”
    4、选择最小版本的SDK,然后点击“Next”
    5、选择“Blank Activity”,然后选择“Next”
    6、输入Activity名称、布局名称、标题等信息后,点击“Finish”
    7、创建过程中加载相应组件
    8、Android Studio系统窗口如下图所示:


    9、双击模拟器中的文字,可以对文字进行修改,当然也可以直接修改布局文件XML来实现,然后点击“运行”图标
    10、弹出Device Chooser对话框,选择默认模拟器设备,点击“OK”
    11、模拟器运行起来比较慢,需要耐心等待一段时间,模拟器加载成功的时间根据你机器的配置不同而不同,当然在开发的时候建议你直接使用真机进行调试

    Activity测试

    第一步:


    在“layout”文件夹中新建一个Layout XML File:

    将”activity_second“改写如下:

    <?xml version="1.0" encoding="utf-8"?>  
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
      
        android:layout_width="match_parent"  
        android:layout_height="match_parent"  
        android:weightSum="1">  
      
        <TextView  
            android:layout_width="wrap_content"  
            android:layout_height="100dp"  
            android:text="This is the Second page"  
            android:id="@+id/textView2"  
            android:textSize="@dimen/abc_action_bar_progress_bar_size" />  
    </LinearLayout>  
    

    第二步:在.Java文件处新建一个`Java class,取名为ThirdActivity:

    将"ActivitySecond"类改写如下:

    package com.example.zhaohui.thirdactivity;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    
    /**
     * Created by zhaohui on 2017/5/4.
     */
    
    public class ThirdActiviry extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
        }
    }
    

    第三步:

    在AndroidMainfest.xml文件中添加一个标签,添加如下内容:

    <activity  
                android:name=".ThirdActivity"  
                android:label="ThirdActivity">  
                <intent-filter>  
                    <action android:name="ThirdActivity"/>  
                    <category android:name="android.intent.category.DEFAULT"/>  
      
                </intent-filter>  
    </activity>  
    
    

    这样我们就新建Activity成功了,接下来再测试一下:
    在主界面添加一个“按钮”用于跳转Activity,修改action_main.xml文件如下:

    再次修改主界面的java类“MainActivity”,实现点击事件响应函数onClick:
    添加函数onClick

    public void onClick(View view)  
        {  
            startActivity(new Intent("myActivitySecond"));  
      
        }  
    

    Android Studio 在活动中使用Toast

    Toast 是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间内自动消失,并且不会占用任何屏幕空间
    主要用法

    Toast.makeText(Mainthis, “提示的内容”, Toast.LENGTH_SHORT).show(); 第一个是上下文对象!对二个是显示的内容!第三个是显示的时间,只有LONG和SHORT两种 会生效,即时你定义了其他的值,最后调用的还是这两个!
    Toast的方法很多,

    • 1 有默认显示的Toast , 一般这一种用法较多。
      实现代码:
    Toast.makeText(getApplicationContext(), "显示默认的Toast", Toast.LENGTH_LONG).show();
    
    
    • 2 显示带图片的Toast

    实现代码:

    Toast toast = Toast.makeText(getApplicationContext(), "显示带图片的Toast", Toast.LENGTH_LONG);
    
    toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
    
    LinearLayout toastView = (LinearLayout) toast.getView();
    
    ImageView imageCodeProject = new ImageView(getApplicationContext());
    
    imageCodeProject.setImageResource(R.drawable.wirelessqa);
    
    toastView.addView(imageCodeProject, 0);
    
    toast.show();
    
    
    • 3 显示自定义的Toast
    • 4 显示其它线程的Toast
    • 5 显示自定义的位置

    Android监听器

    android监听事件添加动作的三种方式:
    第一种也是最开始就接触的方式,通常在activity组件的oncreate事件中直接定义,直接动作。这种方式每个控件都定义一次,通常不方便.

    Button btn = (Button) findViewById(R.id.myButton);
     
     btn .setOnClickListener(new View.OnClickListener() {
     
             public void onClick(View v) {
     
     //do something
     
             }
     
         });
    

    第二种通常是在activity组件实现其接口,这样可以多外控件共享一个接口,这样相对方便

    public class TestMedia extends Activity implements View.OnClickListener{
     
    Button btn1 = (Button) findViewById(R.id.myButton1);
    Button btn2 = (Button) findViewById(R.id.myButton2);
     
     btn1 .setOnClickListener();
    btn2 .setOnClickListener();
     
    }
     
     public void onClick(View v) {
     
                 switch (v.getId()) {
     
                    case R.id. myButton1:
     
     //do something
     
                    break;
     
                    case R.id. myButton2:
     
     //do something
     
                    break;
     
                 }
    

    第三种类似第二种,这样的好处在于如果需要实现多个监听接口,这样更清晰

     
    public class TestMedia extends Activity {
     
    Button btn1 = (Button) findViewById(R.id.myButton1);
    Button btn2 = (Button) findViewById(R.id.myButton2);
     
     btn1 .setOnClickListener(new ClickEvent());
     
    btn2 .setOnClickListener(new ClickEvent());
     
    }
    class ClickEvent implements View.OnClickListener
     
     public void onClick(View v) {
     
                 switch (v.getId()) {
     
                    case R.id. myButton1:
     
     //do something
     
                    break;
     
                    case R.id. myButton2:
     
     //do something
     
                    break;
     
                 }
    

    代码链接

    困难及解决

    activity的实践老是出错,参考了很多博客论文得以解决。链接见参考资料

    参考资料

    使用Android Studio创建第一个Hello World应用程序
    Android 入门教程
    Eclipse新建Activity并启用
    Android Studio新建Activity
    开发第一个Android应用之前你需要知道的六件事
    Android常见应用
    编写安卓程序
    Toast的几种效果实现(附源码)
    android事件监听器绑定的方法详解

  • 相关阅读:
    python cook 整理
    Ajax
    跨站请求伪造 CSRF
    tornado web
    python hashable
    扩大了一个逻辑卷,resize2fs 保错:没有这个超级块
    linux重启后进入了救援模式,无法远程登录
    如何安装JDK以及配置win10的环境变量
    输出菱形
    6.28作业(2.使用3种方式求100以内偶数和)
  • 原文地址:https://www.cnblogs.com/zhaohui801/p/6819046.html
Copyright © 2011-2022 走看看