移动应用开发技术实验代码

实验二

实验2.1

main_activity.java

package com.example.text2;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioGroup;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private EditText name = null;
    private Button tixing = null;
    private CheckBox box1 , box2 , box3, box4;

    private List<CheckBox> checkBoxList = new ArrayList<CheckBox>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.name = (EditText)super.findViewById(R.id.edit1);
        this.tixing = (Button)super.findViewById((R.id.tixing));
        box1 = (CheckBox)super.findViewById((R.id.box1));
        box2 = (CheckBox)super.findViewById((R.id.box2));
        box3 = (CheckBox)super.findViewById((R.id.box3));
        box4 = (CheckBox)super.findViewById((R.id.box4));

        checkBoxList.add(box1);
        checkBoxList.add(box2);
        checkBoxList.add(box3);
        checkBoxList.add(box4);

        tixing.setOnClickListener(new ShowListerer());

    }
    private class ShowListerer implements View.OnClickListener {
        public void onClick(View v)
        {
            StringBuffer sb = new StringBuffer();
            for (CheckBox checkbox : checkBoxList) {
                if (checkbox.isChecked()){
                    sb.append(checkbox.getText().toString() + " ");
                }
            }
            String info = name.getText().toString();
            AlertDialog.Builder builder= new AlertDialog.Builder(MainActivity.this);//MainActivity.this为当前环境



            if(info.trim().equals(""))
            {
                builder.setMessage("请输入姓名");//提示内容
            }
            else
            {
                builder.setMessage("姓名是: "+info+"\n"+"性别"+"\n"+"专业"+"\n"+"兴趣爱好 "+""+sb.toString());//提示内容

            }

            builder.setPositiveButton("确认", null);//确定按钮

            builder.create().show();

        }
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:layout_marginLeft="10dp"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="姓名:"
            android:textSize="20dp"
            android:layout_weight="1"/>

        <EditText
            android:id="@+id/edit1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="李坤松 2012020047"
            android:textSize="20dp"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/gender"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="19dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="性别"
            android:textSize="20dp" />
        <RadioGroup
            android:id="@+id/Radio1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"

            android:orientation="horizontal">

            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:text="男"
                android:textSize="20dp"/>
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:text="女"
                android:textSize="20dp"/>
        </RadioGroup>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:orientation="horizontal">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="专业"
            android:textSize="20dp"/>
        <Spinner
            android:id="@+id/chose"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:prompt="@string/eduprompt"
            android:entries="@array/edu"
            android:spinnerMode="dialog"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginTop="20dp"
        android:orientation="vertical">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="兴趣爱好"
            android:textSize="20dp"
            android:layout_marginLeft="10dp"/>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:orientation="horizontal">
            <CheckBox
                android:id="@+id/box1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:textSize="18dp"
                android:text="音乐"/>
            <CheckBox
                android:id="@+id/box2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:textSize="18dp"
                android:text="运动"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:orientation="horizontal">
            <CheckBox
                android:id="@+id/box3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:textSize="18dp"
                android:text="游泳"/>
            <CheckBox
                android:id="@+id/box4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:textSize="18dp"
                android:text="阅读"/>
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/tixing"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="提交"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="取消"/>
    </LinearLayout>

</LinearLayout>

strings.xml

<resources>
    <string name="app_name">text2</string>
    <string name="eduprompt">请选择你的专业</string>
</resources>

edu.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="edu">
        <item>计算机科学与技术</item>
        <item>大数据开发</item>
        <item>信息安全</item>
        <item>人工智能</item>
    </string-array>
</resources>

实验2.2-1

MainActivity.java

package com.example.text22;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.HashMap;

public class MainActivity extends AppCompatActivity {
    private String listdata[] = {
        "移动应用开发技术","计算机组成原理","数据结构","操作系统","面向对象技术","逻辑设计"
        };
    private ListView listview;
    private TextView textview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ArrayList<HashMap<String,String>>list = new ArrayList<HashMap<String,String>>();
        
        HashMap<String ,String > map1 = new HashMap<String , String>();
        
        this.textview = (TextView) super.findViewById(R.id.title) ;
        this.listview = (ListView) super.findViewById(R.id.Mylistview);
        
        
        this.listview.setAdapter(new ArrayAdapter<String>(this,
                                                          android.R.layout.simple_expandable_list_item_1,
                                                          this.listdata));
        
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3)
            {
                String text = (String) listview.getItemAtPosition(arg2);
                textview.setText(text);
            }
        });
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              tools:context=".MainActivity">
  
  <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="MenuDemo"
            android:layout_marginLeft="20dp"
            android:gravity="left"
            android:textSize="20dp"/>
  
  <ListView
            android:id="@+id/Mylistview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
  
  
  
  
</LinearLayout>

实验2.2-2

Mainactivity.java

package com.example.test22_2;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ListActivity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends AppCompatActivity {
    private ListView listView;
    private List<Map<String,Object>> list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list = new ArrayList<Map<String,Object>>();
        listView = (ListView) findViewById(R.id.listView);
        
        Map<String,Object> map1 = new HashMap<String,Object>();
        Map<String,Object> map2 = new HashMap<String,Object>();
        Map<String,Object> map3 = new HashMap<String,Object>();
        Map<String,Object> map4 = new HashMap<String,Object>();
        Map<String,Object> map5 = new HashMap<String,Object>();
        Map<String,Object> map6 = new HashMap<String,Object>();
        
        map1.put("title","姓名");
        map1.put("info","李坤松");
        map1.put("picture",R.drawable.img);
        list.add(map1);
        map2.put("title","性别");
        map2.put("info","男");
        map2.put("picture",R.drawable.img);
        list.add(map2);
        
        map3.put("title","学号");
        map3.put("info","2012020047");
        map3.put("picture",R.drawable.img);
        list.add(map3);
        map4.put("title","年龄");
        map4.put("info","19");
        map4.put("picture",R.drawable.img);
        list.add(map4);
        map5.put("title","居住地");
        map5.put("info","开封");
        map5.put("picture",R.drawable.img);
        list.add(map5);
        map6.put("title","邮箱");
        map6.put("info","2012020047@henu.edu.cn");
        map6.put("picture",R.drawable.img);
        list.add(map6);
        
        
        //        SimpleAdapter simpleAdapter = new SimpleAdapter(this,list,R.layout.user,new String[]
        //                {"title","info","picture"},
        //                new int[] {R.id.title,R.id.info,R.id.picture});
        MyAdapter adapter = new MyAdapter(this,list,R.layout.user);
        listView.setAdapter(adapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                adapter.setCurrentItem(i);
                adapter.setClick(true);
                adapter.notifyDataSetChanged();
            }
        });
        
    }
    class MyAdapter extends BaseAdapter {
        private Context context;
        private int resource;
        private List<Map<String,Object>> list;
        private int mCurrentItem=0;
        private boolean isClick=false;
        
        /**
        * 有参构造
        *
        * @param context
        *            界面
        * @param list
        *            数据
        * @param resource
        *            列表项资源文件
        */
        
        public MyAdapter(Context context, List<Map<String, Object>> list, int resource) {
            this.context = context;
            this.list = list;
            this.resource = resource;
        }
        
        @Override
        public int getCount() {
            return list.size();
        }
        
        @Override
        public Object getItem(int i) {
            return list.get(i);
        }
        
        @Override
        public long getItemId(int i) {
            return i;
        }
        
        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            // 声明内部类
            Util util = null;
            
            final int flag = i;
            
            if(view == null){
                util = new Util();
                // 给xml布局文件创建java对象
                LayoutInflater inflater = LayoutInflater.from(context);
                view = inflater.inflate(resource, null);
                // 指向布局文件内部组件
                util.picture = (ImageView) view.findViewById(R.id.picture);
                util.info = (TextView) view.findViewById(R.id.info);
                util.title = (TextView) view.findViewById(R.id.title);
                // 增加额外变量
                view.setTag(util);
            }
            else {
                util = (Util) view.getTag();
            }
            // 获取数据显示在各组件
            Map<String, Object> map = list.get(i);
            util.info.setText((String) map.get("info"));
            util.title.setText((String) map.get("title"));
            util.picture.setImageResource((Integer) map.get("picture"));
            
            
            LinearLayout parent= (LinearLayout) view.findViewById(R.id.parent1);
            
            if (mCurrentItem==i&&isClick){
                parent.setBackgroundColor(Color.parseColor("#708090"));
            }else{
                parent.setBackgroundColor(Color.parseColor("#FFB6C1"));
            }
            
            return view;
        }
        
        
        
        public void setCurrentItem(int currentItem){
            this.mCurrentItem=currentItem;
        }
        
        public void setClick(boolean click){
            this.isClick=click;
        }
        /**
        * 内部类,用于辅助适配
        *
        * @author qiangzi
        *
        */
        class Util{
            TextView title;
            TextView info;
            ImageView picture;
        }
    }
}

activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              tools:context=".MainActivity">
  
  <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="个人信息"
            android:textSize="20dp"/>
  
  <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
  
</LinearLayout>

user.xml

<?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:id="@+id/parent1"
              android:cacheColorHint = "#2BE4D3">
  
  <ImageView
             // 图片在res/drawabale里面,自己放
             android:id="@+id/picture"
             android:layout_width="100dp"
             android:layout_height="80dp"
             android:layout_margin="5dip"/>
  <LinearLayout
                android:orientation="vertical"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
    <TextView
              android:id="@+id/title"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textSize="22sp"/>
    <TextView
              android:id="@+id/info"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textSize="16sp"/>
    
  </LinearLayout>
  
  
</LinearLayout>
posted @ 2022-04-13 11:08  无谓1636  阅读(173)  评论(0)    收藏  举报