Android Studio期末复习--复盘

立山  金牌会员 | 2024-6-21 13:25:10 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 579|帖子 579|积分 1737

Android Studio期末复盘

必要资料的,文章末端免费自提
1、选择题

1、下列不是手机操纵体系的是( )。
A Android
B Window Mobile
C Apple IPhone IOS
D Windows Vista

2、下列选项哪个不是 Activity 启动的方法 ( )
A startActivity
B goToActivity
C startActivityForResult
D startActivityFromChild

3、下列哪个不是Activity的生命周期方法之一( )
A onCreate
B startActivity
C onStart
D onResume

4、下列哪个可做 Android 数据存储( )
A SQlite
B MySql
C Oracle
D DB2

5、下列哪个可做EditText编辑框的提示信息()
A android:inputType
B android:text
C android:digits
D android:hint

6、Math.ceil(99.1) 的结果是()
A 99
B 100
C 99.1
D 99.0

7、android 中下列属于Intent的作用的是( )
A 实现应用程序间的数据共享
B 是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会由于切换页面而消失
C 可以实现界面间的切换,可以包罗动作和动作数据,连接四大组件的纽带
D 处置惩罚一个应用程序团体性的工作

8、下面哪种说法不准确
A. Android应用的gen目次下的R.java被删除后还能主动生成;
B. res目次是一个特殊目次,包罗了应用程序的全部资源,命名规则可以支持数字(0-9)下横线(_),大小写字母(a-z , A-Z);
C AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其中指定程序的包名(package=”…”)+指定android应用的某个组件的名字(android:name=”…”)构成了该组件类的完整路径
D assets和res目次都能存放资源文件,但是与res差异的是assets支持恣意深度的子目次,在它里面的文件不会在R.java里生成任何资源ID

9、在一个相对布局中怎样使一个控件居中
A. android:gravity=“center”
B. android:layout_gravity=“center”
C.android:layout_centerInParent="true"
D.android:scaleType=“center”

10、以下不属于SharedPreferences提供的方法来读取Preferences的数据的是( )
A. getBoolean
B. getFloat
C.getObject
D.getString

11、关于Activity的描述,下面哪个是错误的?
A. 一个Android程序中只能拥有一个Activity类
B. Activity类都必须在Androidmaniefest.xml中进行声明
C. 体系完全控制Activity的整个生命周期
D. Activity类必须重载onCreate方法

12、关于widget(组件)属性的写法,下面哪个是准确的?
A. android:id=”@+id/tv_username”
B. android:layout_width=”100px”
C. android:src=”@drawable/icon”
D. android:id=“@id/tabhost”

13、下面哪个不是Android SDK中的ViewGroup(视图容器)?
A. LinearLayout
B. ListView
C. GridView
D. Button

14、下列说法错误的是
A. Intent起着一个媒体中介的作用,专门提供组件相互调用的相关信息,实现调用者与被调用者之间的解耦
B. Intent 可以传递 View对象
C.对于直接Intent,Android不必要去做解析,由于目的组件已经很明白,Android必要解析的是那些间接Intent,通过解析,将 Intent映射给可以处置惩罚此Intent的Activity、IntentReceiver或Service
D.通过Intent可以删除程序

15、这是一个资源配置文件,下面描述准确的是?
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="line">
  3.         <stroke
  4.                         android:color="@color/gray"
  5.                         android:dashWidth="5dp"
  6.                         android:dashGap="3dp"/>
  7. </shape>
复制代码
A. 这个shape文件是画一个宽为5dp,高为3dp的色块
B. 这个shape文件是画一个宽从5dp到3dp的等腰梯形
C.这个shape文件是画一个底为5dp高为3dp的等腰三角形
D.这个shape文件是画一条虚线,实线段5dp,隔断3dp

16、下列哪个权限可以用于制作获取手机通讯录信息功能( )
A. android.permission.BATTERY_STATS
B. android.permission.READ_SMS
C. android.permission.READ_CONTACTS
D. android.permission.SUBSCRIBED_FEEDS_READ

17、Android应用程序主要包罗4中组件,其中_______通常就是一个单独的屏幕。( )
A. Service
B. Intente
C. SQLite
D. Activity

18、下列方法是不属于Fragment生命周期的方法的是( )
A. onStart
B. onFreeze
C. onDestroyView
D. onActivityCreate

19、Java是从()语言改进重新设计。( )
A.Ada
B.C++
C.Pasacal
D.BASIC

20、关于Socket和ServerSocket的说法不准确的是:()
A. Socket是客户端套接字,用于实现两台计算机之间的通讯
B. ServerSocket是服务器套接字,用于监听并接受来自客户端的Socket连接
C. 服务器端无需使用Socket
D. 客户端无需使用ServerSocket

21、android 关于service生命周期说法准确的是( )
A.如果service已经启动,将先后调用onStart()和onCreate()
B.当第一次启动的时间先后调用onCreate()和onStart()方法
C.当第一次启动的时间只会调用onCreate()方法
D.如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法

22、Java中的子类也称为( )
A. 内联类
B. 嵌套类
C. 派生类
D. 隐蔽类

23、下列语句哪一个准确()
A.Java程序经编译后会产生byte code
B.Java程序经编译后会产生DLL
C. Java程序经编译后会产生machine code
D.以上都不准确

24、不属于Android中常用的网络编程方式是:()
A. Socket和ServerSocket
B. HTTPClient
C. HTTPURLConnection
D.Firefox

25、Android的VM虚拟机是哪个?
A.Dalvik
B.JVM
C.KVM
D. framework

26、 AndroidVM虚拟机中运行的文件的后缀名为()
A.class
B.apk
C.dex
D.xml

27、下面关于Android DVM的进程和Liunx的进程,应用程序的进程说法准确的是
A.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Liunx中的一个进程,所以说可以以为是同一个概念。
B.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Liunx中的一个进程,所以说可以以为不是一个概念。
C.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Liunx中的一个进程,所以说可以以为不是同一个概念。
  D.DVM指dalivk的虚拟机.每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Liunx中的一个进程,所以说可以以为是同一个概念。

28、在AndroidManifes.xml中描述一个Activity时,该Activity的label属性是指定什么()
A.指定Activity的图标
B.指定Activity的显示图标
C.指定Activity和类相关联的类名
D.指定该Activity的唯一标识

29、关于ContentValues类说法准确的是( )
A.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String范例,而值都是基本范例。
B.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是恣意范例,而值都是基本范例。
C.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名可以使空,而值都是String范例。
D.它和Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String范例,而值也是String范例。

30、Activity对一些资源以及状态的操纵生存,最好是生存在生命周期的哪个函数中进行()
A.onPause()
B.onCreate()
C.onResume()
D.onStart

31、如果在android应用程序中必要发送短信,那么必要在AndroidManifest.xml文件中增加什么样的权限().
A.发送短信,无需配置权限
B.permission.SMS
C.android.permission.RECEIVE_SMS
D.android.permission.SEND_SMS

32、下面说法错误的是()
A.Android采用单线程模型
B.Android会默认会为线程创建一个关联的消息队列
C.Handler会与多个线程以及该线程的消息队列对应
D.程序组件起首通过Handler把消息传送给Looper,Looper把消息放入队列

33、关于广播以下陈述准确的是().
A.广播接收器只能在配置文件中注册
B.广播接收器注册后不能注销
C.广播接收器只能接收自定义的广播消息
D.广播接收器可以在Activity中单独注册与注销

34、关于应用程序的生命周期,一个Activity从启动到运行状态必要执行3个方法,请选择一个准确的执行顺序。
A. onCreate()->onStart()->onResume()
B. onStart()->onCreate()->onResume()
C. onCreate()->onResume()->onStart()
D. onStart()->onResume()->onCreate()

35、对Android项目工程里的文件,下面哪个描述是错误的?
A. res目次:该目次存放程序中必要使用的资源文件,在打包过程中android的工具会对这些文件做对应的处置惩罚
B. R.java文件是主动生成而不必要开发者维护的。在res文件夹中内容发生任何变革,R.java文件都会同步更新
C. Assets目次:在该目次下存放的文件,在打包过程中将会颠末编译后打包在APK中
D. AndroidManifest.xml是程序的配置文件,程序中用到的全部Activity、Service、BroadcastReceiver、Intent和Content Provider都必须在这里进行声明

36、下列属于AsyncTask的方法是( )
A. run
B. execute
C. doInBackground
D. handler

37、关于AlerDialog的描述不准确的是( )
A. 使用new 关键字创建AlerDialog的实例
B. 对象框的显示必要调用show方法
C. setPositiveButton方法是用来添加确定按钮的
D. setNegativeButton 方法是用来添加取消按钮的

38、下列对SharePreferences文件说法中不准确的是( )
A. 属于移动存储方案
B. SharePreferences存储情势是key-value键值对
C. 默认的存储路径是 /sdcard/shared_prefix
D. 信息的生存格式是xml

39、数据源如果为sqlite数据库中查出的信息最适合的适配器是( )
A. SimpleAdapter
B. SimpleCursorAdapter
C. ArrayAdapter
D.ListAdapter


2、填空题

1、Android中全部的UI组件都是继承_View__类

2、Android体系中,轻量级的关系数据库是_SQLite,快速的数据存储方式是__SharedPreferences__。

3、可以同时选择多个选项的控件是 CheckBox, 而_ RadioButton _则是仅可以选择一个选项的控件 。

4、Android中要是Toast显示,最后必须调用其_show()_方法。

5、发送广播使用的方法是__ sendBroadcast()____。

6、给ListView设置适配器的方法是__ setAdapter()__。

7、Android中必要调用摄像头硬件的权限是_android.permission.CAMERA_。

8、定义 LinearLayout 水平方向布局时至少设置的三个属性:_androidrientation (androidrientation),android:layout width 和 android:layout height _。(android:layout height)

9、为了使 android 顺应差异分辨率机型,布局时字体单元应用( sp ),像素
单元应用( sp )和( dp )

10、layout 布局文件的命名不能出现字母( 大写 )

11、 设置 TextView 字体的属性是:( android:typeface )。

12、Android 四大组件是( Activity),(Service),(BroadcaseReceiver)和(ContentProvider)。


3、判断题

1、一个Activity就是一个可视化的界面或者当作是控件的容器。(√)

2、SQLite 属于Android体系布局中的应用程序层。(×)

3、Android 工程中,放在 res/和 assets/下的资源文件都会在 R.java 文件里生成相应的编号。(×)

4、EditText编辑框的提示信息可以通过android:hint来设置。(√)

5、树中元素之间是多对多的关系。( × )

6、顺序查找方法只能在顺序存储布局上进行。( × )

7、当待排序记录规模较小时,选用直接插入排序算法比较好。(√)


4、简答题

1、简述在界面设计中对View控件设置fill_parent与wrap_content的区别?
   fill_parent => match_parent:它会布满整个父容器,无论父容器有多大,该View将扩展以填充父容器的全部可用空间。
  wrap_content:意味着View的大小将根据内容的大小而主动顺应,而不会占据多余的空间。
  2、简述R.java和AndroidManifest.xml文件的用途?
   R.java 文件用于管理应用程序的资源;
AndroidManifest.xml 文件用于描述应用程序的配置和元数据,以确保应用程序能够准确运行并与Android体系进行交互。
  3、简述Android体系的4种基本组件的用途
   Activity是Android中用户界面的展示单元,用于用户与应用程序进行交互。通过Activity,用户可以浏览应用的差异页面,并执行各种操纵。
Service是在后合执行长时间运行操纵的组件,与用户界面无关。Service可以在后台下载文件、播放音乐、执行网络请求等多种任务,而不会妨碍用户与应用的交。
Broadcast Receiver是用于接收并相应体系或应用中的广播消息的组件。
Content Provider是用于在应用程之间共享数据的组件。
  4、Fragment是什么?请先容一下它的优点?
   碎片、片断。其目的是为了解决差异屏幕分辩率的动态和机动UI设计。
1.Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI。
2.Fragment可以轻松得创建动态机动的UI设计,可以顺应于差异的屏幕尺寸。从手机到平板电脑。
3.Fragment是一个独立的模块,牢牢地与activity绑定在一起。可以运行中动态地移除、加入、交换等。
4.Fragment提供一个新的方式让你在差异的安卓装备上同一你的UI。
5.Fragment 切换流通,轻量切换。
6.Fragment 替代TabActivity做导航,性能更好。
7.Fragment 在4.2.版本中新增嵌套fragment使用方法,能够生成更好的界面结果。
  5、简述Intent的定义和用途
   Intent(意图)是Android操纵体系中的一个核心概念,它用于在应用程序和操纵体系之间传递信息和启动操纵。简单来说,Intent是一种可以在差异组件之间传递消息和指令的机制。可以用于实现差异组件之间的通讯和数据传递。
Intent主要用于以下两个方面:
  

  • 启动Activity、Service或BroadcastReceiver:通过指定Intent的组件名称或操纵举动,可以启动特定的组件,并将数据传递给这些组件进行处置惩罚。例如,可以使用Intent启动另一个Activity,以便在屏幕上显示新的用户界面。
  • 传递数据:Intent还可以用于在差异组件之间传递数据。例如,可以使用Intent在两个Activity之间传递数据,以便在其中一个Activity中处置惩罚数据,然后在另一个Activity中显示结果。
  6、Android有几种存储数据的方式,请写出各自的特点?
   文件存储:存储少量数据且数据格式无须布局化。
SharePreferences存储:是一个轻量级的存储机制,数据是以key-value键值对的方式进行组织和管理,生存在XML文件中存储少量且数据布局简单的数据。
SQLite数据库存储:是一个轻量级数据库,没有后台进程,整个数据库对应一个文件,便于移植,存储数据量较多且必要进行布局化的数据
  7、简述Android体系架构从高到低的几个条理?
   应用层→应用框架层→库层→Linux(内核层)
  8、简述在嵌入式体系中使用SQLite数据库的优势?
   SQLite是一个开源的嵌入式关系数据库,在2000年由D. Richard Hipp发布,其优势(特点)有:
更加实用于嵌入式体系,嵌入到使用它的应用程序中;
占用资源非常少,运行高效可靠,可移植性好;
提供了零配置(zero-configuration)运行模式。
  9、Android应用工程文件布局有哪些?
   1.src文件:项目源文件都生存在这个目次中
2.R.java文件:这个文件是IDE主动生成的,开发者不必要修改里面的内容
3.Android Library:包罗了应用运行所必要的Android库
4. assets目次:主要放置多媒体文件
5. res目次:主要放置会用到的资源文件
6. drawable目次:主要放置会用到的图片资源
7. layout目次:主要放置XML格式的布局文件
8. values目次:主要放置字符串(strings.xml)、颜色(colors.xml)、数组(array.xml)。
9. Androidmanifest.xml:相当于应用的配置文件,在这个文件里面必要声明应用的名称,应用的Activity,Service以及receiver。
  10、Android底层库包罗哪些?
   1、核心 Java 库:包括 Java 底子类,如集合、IO、线程等。
2、C/C++ 库:包括 libc、SQLite、OpenGL ES 等。
3、驱动程序:与硬件交互,如触摸屏、音频、Wi-Fi 等。
4、资源管理:用于加载和管理应用程序的资源,如布局、图像、字符串等。
5)\Android 平台:包括 Android 框架、Activity Manager、Window Manager 等。
  11、请先容下 Android 中常用的五种布局。
   

  • FrameLayout(框架布局)
  • LinearLayout(线性布局)
  • AbsoluteLayout(绝对布局)
  • RelativeLayout(相对布局)
  • TableLayout(表格布局)
  12、复习下面activity的生命周期图例,矩形框中的方法顺序,见下图所示:


5、程序分析题

根据已知程序分析运行结果?使用语言文字描述即可!
1、该程序的主要功能是点击 btn2 按钮后,异步地加载来自指定URL的图像,并将其显示在应用界面的 image 图像视图上。
  1. public class Main10Activity extends AppCompatActivity {
  2.     private Button btn1;
  3.     private ImageView image;
  4.     Bitmap bitmap1;
  5.     private Button btn2;
  6.     private Bitmap bitmap2;
  7.     Handler handler=new Handler(){
  8.         @Override
  9.         public void handleMessage(Message msg) {
  10.             super.handleMessage(msg);
  11.             if(msg.what==0x01){
  12.                 image.setImageBitmap(bitmap1);
  13.             }       }
  14.     };
  15.     @Override
  16.     protected void onCreate(Bundle savedInstanceState) {
  17.         super.onCreate(savedInstanceState);
  18.         setContentView(R.layout.activity_main10);
  19.         btn1 = (Button) findViewById(R.id.button);
  20.         image = (ImageView) findViewById(R.id.imageView);
  21.         btn2 = (Button) findViewById(R.id.button1);
  22.         btn2.setOnClickListener(new View.OnClickListener() {
  23.             @Override
  24.             public void onClick(View view) {
  25.                 new Thread(){
  26.                     @Override
  27.                     public void run() {
  28.                         super.run();
  29.                         try {
  30.                                                         URL url=new URL("https://gimg2.baidu.com/image_search/"+
  31.                                                         "src=http%3A%2F%2Fimg2.jiemian.com%2Fjiemian%2Foriginal%2F20180802%2F"
  32.                                                          +"153317808580568800.jpg&refer=http%3A%2F%2Fimg2.jiemian.com&app=2002&size=f9999,"+
  33.                                                           "10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1636676528&t=2e79dec61b347caa9eaac9568d7419ef");
  34.                        try {
  35.                                                 URLConnection urlConnection = url.openConnection();
  36.                                                 InputStream inputStream = urlConnection.getInputStream();
  37.                                                 bitmap2 = BitmapFactory.decodeStream(inputStream);
  38.                                                 handler.sendEmptyMessage(0x02);
  39.                             } catch (IOException e) {
  40.                                 e.printStackTrace();
  41.                             }
  42.                         } catch (MalformedURLException e) {
  43.                             e.printStackTrace();
  44.     }      }
  45.   }.start();}  });
复制代码
2、该应用程序的主要功能是在用户点击项目名称时,动态地更新屏幕上的内容,显示选中项目的相关信息。
  1. public class MainActivity extends AppCompatActivity {
  2. private  String[] item={"人工智能","大数据","移动开发","物联网","云计算","AR"};
  3. private String[] content={"研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学", "所涉及的资料量规模巨大到无法透过主流软件工具","以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作","通过各类可能的网络接入,实现物与物、物与人的泛在连接","通过网络“云”将巨大的数据计算处理程序分解成无数个小程序","实时地计算摄影机影像的位置及角度并加上相应图像的技术"};
  4. private ListView listview;
  5. private TextView text;
  6. private com.example.administrator.teestdemo19.fragment fragment;
  7.      @Override
  8.      protected void onCreate(Bundle savedInstanceState) {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.activity_main);
  11.         text = (TextView) findViewById(R.id.textView);
  12.         listview = (ListView) findViewById(R.id.listView);
  13.         listview.setAdapter(new ArrayAdapter<String>(getApplicationContext(),R.layout.item,item));  
  14.         listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  15.             @Override
  16.             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
  17.                 FragmentManager supportFragmentManager = getSupportFragmentManager();
  18.                 fragment = (com.example.administrator.teestdemo19.fragment)                        
  19.                 supportFragmentManager.findFragmentById(R.id.fragment1);
  20.                 final TextView text1 = fragment.getView().findViewById(R.id.fr_text);
  21.                 text1.setText(content[i]);
  22.                 text.setText("当前选中的是" + item[i]);
  23.             }  });  } }
复制代码
3、该应用程序的主要功能是实时显示时间,并每隔一秒更新一次。
  1. public class Main6Activity extends AppCompatActivity {
  2.     private TextView txt;
  3.     private String time;
  4.     Handler handler=new Handler(){
  5.         @Override
  6.         public void handleMessage(Message msg) {
  7.             super.handleMessage(msg);
  8.             if(msg.what==0x01){
  9.                 String time = (String) msg.obj;
  10.                 txt.setText(time);
  11.             }     }    };
  12.     @Override
  13.     protected void onCreate(Bundle savedInstanceState) {
  14.         super.onCreate(savedInstanceState);
  15.         setContentView(R.layout.activity_main6);
  16.         txt = (TextView) findViewById(R.id.textView);
  17.         new Thread(){
  18.             @Override
  19.             public void run() {
  20.                 super.run();
  21.                 while(true) {
  22.                     SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");                    
  23.                     simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
  24.                     time = simpleDateFormat.format(System.currentTimeMillis());
  25.                     Message message = new Message();
  26.                     message.what = 0x01;
  27.                     message.obj = time;
  28.                     handler.sendMessage(message);
  29.                     try {
  30.                         Thread.sleep(1000);
  31.                     } catch (InterruptedException e) {
  32.                         e.printStackTrace();
  33.                     }
  34.                 }
  35.             }
  36.         }.start();    }}
复制代码
4、该应用程序的主要功能是通过点击ToggleButton来控制灯胆的开关状态,并实时更新灯胆图像以反映状态的改变,同时显示通知以告知用户开关状态的变革
  1. public class Main7Activity extends AppCompatActivity {
  2.     private ToggleButton toggle;
  3.     private ImageView iamge;
  4.     @Override
  5.     protected void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.activity_main7);
  8.         toggle = (ToggleButton) findViewById(R.id.toggleButton);
  9.         iamge = (ImageView) findViewById(R.id.imageView);
  10.         //iamge.setImageResource(R.drawable.off);
  11.         toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  12.             @Override
  13.             public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
  14.                 if(b){
  15.                     iamge.setImageResource(R.drawable.on);
  16.                     Toast.makeText(getApplicationContext(),"已开灯",Toast.LENGTH_SHORT).show();
  17.                 }else{
  18.                     iamge.setImageResource(R.drawable.off);
  19.                     Toast.makeText(getApplicationContext(),"已关灯",Toast.LENGTH_SHORT).show();
  20.                 }  }   });   }}
复制代码
5、该应用程序的主要功能是展示一个包罗多个影戏选项的单选按钮组,根据用户的选择显示差异影戏的相关图片,并提供一个按钮用于切换到另一个活动
  1. public class Main7Activity extends AppCompatActivity {
  2.     private Button btn;
  3.     private ImageView imageview;
  4.     private RadioGroup radiogroup;
  5.     private RadioButton radiobtn;
  6.     private Button btn2;
  7.     @Override
  8.     protected void onCreate(Bundle savedInstanceState) {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.activity_main7);
  11.         initView();
  12.         btn2.setOnClickListener(new View.OnClickListener() {
  13.             @Override
  14.             public void onClick(View view) {
  15.                 Intent intent=new Intent(getApplicationContext(),Main8Activity.class);
  16.                 startActivity(intent);
  17.                 finish();
  18.             }
  19.         });
  20. radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()      {
  21.           @Override
  22.    public void onCheckedChanged(RadioGroup radioGroup, int i) {
  23.      switch (i){
  24.      case R.id.radioButton:
  25.        Toast.makeText(getApplicationContext(),"您选择的影片是水门桥",Toast.LENGTH_SHORT).show();
  26.        imageview.setImageResource(R.drawable.shuimenqiao);
  27.         break;
  28.       case R.id.radioButton2:
  29.        Toast.makeText(getApplicationContext(),"您选择的影片是铁道英雄",Toast.LENGTH_SHORT).show();
  30.        imageview.setImageResource(R.drawable.tdyx);
  31.         break;
  32.       case R.id.radioButton3:
  33.        Toast.makeText(getApplicationContext(),"您选择的影片是速度与激情9",Toast.LENGTH_SHORT).show();
  34.          imageview.setImageResource(R.drawable.sdyjq);
  35.         break;
  36.           case R.id.radioButton4:
  37.            Toast.makeText(getApplicationContext(),"您选择的影片是侏罗纪世界3",Toast.LENGTH_SHORT).show();
  38.          imageview.setImageResource(R.drawable.zhuluoji);
  39.           break;
  40.          case R.id.radioButton5:
  41.           Toast.makeText(getApplicationContext(),"您选择的影片是哥斯拉大战金刚",Toast.LENGTH_SHORT).show();
  42.          imageview.setImageResource(R.drawable.gsldzjg);
  43.            break;
  44.          case R.id.radioButton6:
  45.          Toast.makeText(getApplicationContext(),"您选择的影片是独行月球",Toast.LENGTH_SHORT).show();
  46.         imageview.setImageResource(R.drawable.duxingyueqiu);
  47.         break;
  48.   }
  49.   } });    }
  50.     private void initView() {
  51.         btn = (Button) findViewById(R.id.button);
  52.         btn2 = (Button) findViewById(R.id.button2);
  53.         imageview = (ImageView) findViewById(R.id.imageView);
  54.         radiogroup = (RadioGroup) findViewById(R.id.radiodroup);
  55.     }
  56. }
复制代码
6、该应用程序的主要功能是允许用户在EditText中输入文本数据,然后将数据生存到SharedPreferences中,并在必要时从SharedPreferences中读取并显示在TextView中。
  1. public class Main8Activity extends AppCompatActivity {
  2.     private EditText edittxt;
  3.     private TextView txt;
  4.     private SharedPreferences sharedPreferences;
  5.     private SharedPreferences.Editor editor;
  6.     @Override
  7.     protected void onCreate(Bundle savedInstanceState) {
  8.         super.onCreate(savedInstanceState);
  9.         setContentView(R.layout.activity_main8);
  10.         edittxt = (EditText) findViewById(R.id.editText);
  11.         txt = (TextView) findViewById(R.id.textView);
  12.         sharedPreferences = getSharedPreferences("clf", Context.MODE_WORLD_WRITEABLE);
  13.         editor = sharedPreferences.edit();
  14.     }
  15.         public void write(View view){
  16.             editor.putString("001",edittxt.getText().toString());
  17.             editor.commit();
  18.         }
  19.          public void read(View view){
  20.              String xx = sharedPreferences.getString("001", "");
  21.              txt.setText(xx);
  22.          }
  23. }
复制代码
7、静态加载fragment、动态实现加载fragment的代码,判断是静态加载fragment还是静态加载fragment!(了解一下红字部分)
   静态加载是指在XML布局文件中定义Fragment,然后通过FragmentManager将其添加到Activity中。
  XML布局文件(activity_main.xml):
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     tools:context=".MainActivity">
  6.     <fragment
  7.         android:id="@+id/staticFragment"
  8.         android:name="com.example.StaticFragment"
  9.         android:layout_width="match_parent"
  10.         android:layout_height="match_parent" />
  11. </RelativeLayout>
复制代码
MainActivity.java:
  1. import android.os.Bundle;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. public class MainActivity extends AppCompatActivity {
  4.     @Override
  5.     protected void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.activity_main);
  8.     }
  9. }
复制代码
StaticFragment.java:
  1. import android.os.Bundle;
  2. import androidx.fragment.app.Fragment;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. public class StaticFragment extends Fragment {
  7.     public StaticFragment() {
  8.         // Required empty public constructor
  9.     }
  10.     @Override
  11.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  12.                              Bundle savedInstanceState) {
  13.         // Inflate the layout for this fragment
  14.         return inflater.inflate(R.layout.fragment_static, container, false);
  15.     }
  16. }
复制代码
  动态加载是在运行时通过代码将Fragment添加到Activity中
  XML布局文件(activity_main.xml):
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:id="@+id/container"
  4.     android:layout_width="match_parent"
  5.     android:layout_height="match_parent"
  6.     tools:context=".MainActivity">
  7. </RelativeLayout>
复制代码
MainActivity.java:
  1. import android.os.Bundle;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import androidx.fragment.app.FragmentTransaction;
  4. public class MainActivity extends AppCompatActivity {
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         setContentView(R.layout.activity_main);
  9.         // 开始Fragment事务
  10.         FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
  11.         // 创建并添加Fragment
  12.         DynamicFragment dynamicFragment = new DynamicFragment();
  13.         fragmentTransaction.add(R.id.container, dynamicFragment);
  14.         // 提交事务
  15.         fragmentTransaction.commit();
  16.     }
  17. }
复制代码
DynamicFragment.java:
  1. import android.os.Bundle;
  2. import androidx.fragment.app.Fragment;
  3. import android.view.LayoutInflater;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. public class DynamicFragment extends Fragment {
  7.     public DynamicFragment() {
  8.         // Required empty public constructor
  9.     }
  10.     @Override
  11.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  12.                              Bundle savedInstanceState) {
  13.         // Inflate the layout for this fragment
  14.         return inflater.inflate(R.layout.fragment_dynamic, container, false);
  15.     }
  16. }
复制代码
如何判断:
   在 onCreate 方法中,你可以使用 findViewById 方法检查布局文件中是否包罗Fragment的容器。如果找到了对应的容器,说明该Fragment是静态加载的。
  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3.     super.onCreate(savedInstanceState);
  4.     setContentView(R.layout.activity_main);
  5.     // 尝试查找Fragment的容器
  6.     View staticFragmentContainer = findViewById(R.id.staticFragmentContainer);
  7.     if (staticFragmentContainer != null) {
  8.         // 存在Fragment容器,说明是静态加载的Fragment
  9.         // 可以执行相应的静态加载Fragment的逻辑
  10.     }
  11. }
复制代码
  如果你在代码中动态添加Fragment,可以通过检察Fragment是否在FragmentManager中来判断是动态加载的。
  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3.     super.onCreate(savedInstanceState);
  4.     setContentView(R.layout.activity_main);
  5.     // 尝试获取动态加载的Fragment
  6.     DynamicFragment dynamicFragment = (DynamicFragment) getSupportFragmentManager()
  7.             .findFragmentByTag(DynamicFragment.class.getSimpleName());
  8.     if (dynamicFragment != null) {
  9.         // 存在动态加载的Fragment,说明是动态加载的Fragment
  10.         // 可以执行相应的动态加载Fragment的逻辑
  11.     } else {
  12.         // 不存在动态加载的Fragment,可以执行其他逻辑
  13.     }
  14. }
复制代码
6、程序填空题

1、写一段代码,要求能够启动浏览器打开百度网页
  1.         Intent intent = new Intent();//创建了一个新的Intent对象,用于启动一个操作。
  2.         intent.setAction(Intent.ACTION_VIEW);// 该Intent的目的是要查看(浏览)某种内容。
  3.         Uri data= Uri.parse(http://www.baidu.com);// 创建了一个URI对象,用于表示要查看的数据的位置,
  4.                                                                                          //通过Uri.parse()方法将字符串转换为URI对象。
  5.         intent.setData(data);// 将前面创建的URI对象(代表百度的URL)设置为Intent的数据(Data),Intent的目标是要查看指定的网址。
  6.         startActivity(intent);//启动intent
复制代码
2、3秒延时主动跳转APP登录的代码。
通过Hander()中的postDelayed方法实现页面跳转时的延迟操纵。
  1. package com.example.myapplication01;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.os.Handler;
  6. public class BmiWelcomeActivity extends AppCompatActivity {
  7.     @Override
  8.     protected void onCreate(Bundle savedInstanceState) {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.activity_bmi_welcome);
  11.         
  12.                 //具体实现
  13.         new Handler().postDelayed(new Runnable() {
  14.             @Override
  15.             public void run() {
  16.                 Intent intent = new Intent(getApplicationContext(), BmiActivity.class);
  17.                 startActivity(intent);
  18.                 finish(); //回收内存
  19.             }
  20.         },3000);
  21.     }
  22. }
复制代码
3、学生管理体系中“增删改查”4个功能的java实现代码,如下图所示:

  1. package com.example.myapplication01;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.database.Cursor;
  4. import android.database.sqlite.SQLiteDatabase;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. import android.widget.Toast;
  10. public class StudentActivity extends AppCompatActivity {
  11.     private EditText bianhao;
  12.     private EditText name;
  13.     private EditText age;
  14.     private EditText czbianhao;
  15.     private EditText czname;
  16.     private TextView czresult;
  17.     private SQLiteDatabase database;
  18.     @Override
  19.     protected void onCreate(Bundle savedInstanceState) {
  20.         super.onCreate(savedInstanceState);
  21.         setContentView(R.layout.activity_student);
  22.         bianhao = findViewById(R.id.bianhao);
  23.         name = findViewById(R.id.name);
  24.         age = findViewById(R.id.age);
  25.         czbianhao = findViewById(R.id.czbianhao);
  26.         czname = findViewById(R.id.czxingming);
  27.         czresult = findViewById(R.id.result);
  28.         Mydatabase mydatabase = new Mydatabase(StudentActivity.this);
  29.         database = mydatabase.getWritableDatabase();
  30.     }
  31.     public void  insert(View view) {
  32.         String sql1 = "select * from user where 编号=?";
  33.         Cursor cursor = database.rawQuery(sql1, new String[]{bianhao.getText().toString()});
  34.         if (cursor.getCount() == 0) {
  35.             String sql = "insert into user(编号,姓名,年龄)values(?,?,?)";
  36.             database.execSQL(sql, new Object[]{Integer.parseInt(bianhao.getText().toString()), name.getText().toString(),
  37.                     Integer.parseInt(age.getText().toString())});
  38.             Toast.makeText(getApplicationContext(), "已成功添加!!!", Toast.LENGTH_SHORT).show();
  39.         } else {
  40.             Toast.makeText(getApplicationContext(), "数据已存在!!!", Toast.LENGTH_SHORT).show();
  41.             bianhao.setText("");
  42.             bianhao.requestFocus();
  43.         }
  44.     }
  45.     public void  delete(View view){
  46.         String sql = "delete from user where 编号=?";
  47.         database.execSQL(sql,new Object[]{Integer.parseInt(bianhao.getText().toString())});
  48.         Toast.makeText(getApplicationContext(),"数据已删除!!!",Toast.LENGTH_SHORT).show();
  49.     }
  50.     public void update(View view){
  51.         String sql = "update user set 姓名=?,年龄=? where 编号=?";
  52.         database.execSQL(sql,new Object[]{name.getText().toString(),Integer.parseInt(age.getText().toString()),
  53.                 Integer.parseInt(bianhao.getText().toString())});
  54.         Toast.makeText(getApplicationContext(),"数据已更新!!!",Toast.LENGTH_SHORT).show();
  55.     }
  56.     public void findbianhao(View view){
  57.         String sql="select * from user where 编号=?";
  58.         Cursor cursor = database.rawQuery(sql,new String[]{czbianhao.getText().toString()});
  59.         if(cursor.moveToNext()){
  60.             int bianhao1 = cursor.getInt(cursor.getColumnIndex("编号"));
  61.             String name1 = cursor.getString(cursor.getColumnIndex("姓名"));
  62.             int age1 = cursor.getInt(cursor.getColumnIndex("年龄"));
  63.             czresult.setText("查找结果->编号: "+bianhao1+"\t姓名:"+name1+"\t年龄:"+age1);
  64.         }else {
  65.             Toast.makeText(getApplicationContext(),"无记录!!!",Toast.LENGTH_SHORT).show();
  66.             czresult.setText("");
  67.         }
  68.     }
  69.     public void findname(View view){
  70.         String sql="select * from user where 姓名=?";
  71.         Cursor cursor = database.rawQuery(sql,new String[]{czname.getText().toString()});
  72.         if(cursor.moveToNext()){
  73.             int bianhao2 = cursor.getInt(cursor.getColumnIndex("编号"));
  74.             String name2 = cursor.getString(cursor.getColumnIndex("姓名"));
  75.             int age2 = cursor.getInt(cursor.getColumnIndex("年龄"));
  76.             czresult.setText("查找结果->编号: "+bianhao2+"\t姓名:"+name2+"\t年龄:"+age2);
  77.         }else {
  78.             Toast.makeText(getApplicationContext(),"无记录!!!",Toast.LENGTH_SHORT).show();
  79.             czresult.setText("");
  80.         }
  81.     }
  82. }
复制代码


4、ListView实现加载适配器,例如下图中适配器的java实现过程



5、电子相册的java实现


6、 显示当前体系时间java实现


7、 点击单选按钮实现选择影片和选座的程序






8、 简单对话框的实现

9、 线程实现显示体系时间



10、 体重丈量








11、 月球、地球、火星代码







7、UI界面设计填空题

请填写实现下面的按钮点击前后的代码,点击前是玫红色,点击后是天蓝色,见下图:



资料自提(过期请留言)

链接:https://pan.baidu.com/s/18v8Cz1ExauEu3tCRvVd1aw?pwd=j2p9
提取码:j2p9

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表