Android移动开发技术(慕课版)习题集题库及答案

这篇具有很好参考价值的文章主要介绍了Android移动开发技术(慕课版)习题集题库及答案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

填空题

1.在Android开发环境中,SDK组件的作用是用于(   开发    )Android应用。

2.在Android开发环境中,(   Dalvik    )组件的作用是虚拟机管理。

二、判断题

1.电子邮件客户端属于Android平台体系结构的应用程序框架层。(  F  )

2.Android 中使用AVD Manager工具进行SDK版本控制。(  F  )

3.Android 只能在Windows环境下开发。(  F  )

三、问答题

  1. 写出2种当前比较流行的移动操作系统并介绍其作用和特点。

  1. 简述Android平台体系结构的层次划分,并说明各个层次的作用。

第一层Linux内核,提供有操作系统内核管理的底层基础功能;第二层中间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了Android平台的管理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。

习题

填空题

1.Android项目打包后生成一个(   apk     )文件。

2.Logcat日志信息按照等级由低到高划分为五个等级,分别是(  verbose    )、(   debug    )、(     info  )、(     warn    )、(   error     )。

3.如果想根据日志信息的标签进行日志信息的过滤,需要添加的过滤条件是(   tag     )。

二、问答题

1.简述签名的意义。

a) 为了保证每个应用程序开发商合法ID

b) 防止部分开发商可能通过使用相同的Package Name来混淆替换已经安装的程序

c) 保证我们每次发布版本的一致性(如自动更新不会因为版本不一致而无法安装)

2.简述Release版本和Debug版本打包生成的文件的区别。

debug模式:系统自动生成debug签名;

debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名;Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效。

debug.keystore在不同的机器上所生成的可能都不一样,就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题,相当于软件不具备升级功能

通过在Android studio上运行直接在模拟机或手机上启动程序,只是调试程序而已;

release模式:用自己生成的key文件来签名;

release通常被称为发布版本。

3.简述APK文件反编译得到的几个文件的作用。

AndroidManifest  全局配置文件;

Classes.dex   java核心代码文件;

Resource  记录了资源文件的位置和id之间的映射关系;

Res文件夹  资源文件;

META-INF文件夹  用于保证apk文件的完整性和安全性;

  Mf 包含所有文件的文件名的编码值,保证apk的完整性;

  Rsa 非对称加密,被称为公钥加密标准;算法自己看;公钥加密;

  Sf 同manifest的结构,私钥加密;

习题

选择题

通过特定的接口类进行事件处理的是(   C )。

A.事件 B.事件源 C.事件监听器 D.事件处理器

二、填空题

Android的事件处理模型常用的有(   基于监听接口     )和(   基于回调接口     )。

三、问答题

1.简述基于监听接口的事件处理模型的编程步骤。

1)获取普通界面组件;

2)实现事件监听类,该监听类是一个特殊的java类,必须实现一个XXXListener接口;

3)调用事件源的setXXXListener方法注册事件监听器

2.简述Android中点击事件、长按事件、键盘事件、触摸事件、焦点改变事件、选择改变事件对应的事件监听接口。

单击事件:onClickListener;

长按事件:onLongClickListener;

键盘事件:onKeyListener;

触摸事件:onTouchListener;

焦点改变事件:onFocusChangeListener;

选择改变事件:onCheckedChangeListener

3.哪些监听方法的返回值为布尔值?其意义有何不同?

布尔值用来表示您是否已经处理完事件,以及是否应该将他继续传下去。也就是说,返回true表示已经处理事件并且事件应该就此停止;如果返回值为false表示您尚未处理事件或者事件应该继续传递给其他任何点击监听器。

四、编程题

写一个输入框,当对输入框进行触摸操作时可以获取触控行为的抬起、滑动、按下的状态,以及触摸操作的位置坐标。

   页面代码如下:

<EditText
    android:id="@+id/et_touch"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TextView
    android:id="@+id/tv_action"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

   其中,在输入框中显示当前坐标,在文本框中显示当前的鼠标状态值。

public class OnTouchActivity extends Activity {

    EditText et_touch;
    TextView tv_action;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ontouch_layout);

    et_touch = (EditText) findViewById(R.id.et_touch);
    tv_action = (TextView)findViewById(R.id.tv_action);

    et_touch.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int iAction = event.getAction();
            switch (iAction){
                case MotionEvent.ACTION_DOWN:
                    Log.i("tag","按下");
                    break;
                case MotionEvent.ACTION_MOVE:
                    Log.i("tag","滑动");
                    break;
                case MotionEvent.ACTION_UP:
                    Log.i("tag","抬起");
            }
            double x = event.getX();
            double y = event.getY();

            et_touch.setText("点的坐标为:("+x+","+y+")");
            tv_action.setText("action=="+iAction);
            return true;
        }
    });

习题

一、填空

1.设置Toast消息居中显示的方法是(   setGravity(Gravity.CENTER)     )。

2.创建Notification对象需要使用的是(    NotificationManager    ),发送通知栏信息使用的方法是(    notify()    ),取消发送通知栏信息的方法是(    cancel()    )。

3.创建一个AlertDialog对话框需要使用的对象类是(    AlertDialog.Builder    )。

二、简答题

1.简述Toast消息提示框的特点。

一种快速的即时消息。

消息内容简短。

悬浮于应用程序的最上方

不获得焦点

用于提示任务是否完成的消息提示机制

2.简述Notification通知栏的适用情况。

某些信息不需要用户马上处理,可以利用通知。即延迟消息,比如软件的更新、短信、新闻之类的。

3.简述一个对话框包含的内容。

图标、标题、内容、选择按钮

三、编程

编写Android程序,模拟实现用户注册功能。如果用户名是张三,密码是123,点击“登录”按钮,触发点击事件,使用Toast提示“登录成功”,否则提示“登录失败”。效果如图5.8所示。

图5.8  显示效果

activity_main.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:orientation="vertical">

   (1)         请补全代码

    <EditText

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/login_password"

        android:hint="请输入您的密码"/>

   (2)         请补全代码

</LinearLayout>文章来源地址https://www.toymoban.com/news/detail-499611.html

MainActivity代码如下。

public class MainActivity extends AppCompatActivity {

    //声明

     (3)         请补全代码

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

     (4)         请补全代码

}

代码如下:

(1)

<EditText
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/login_username"
       android:hint="请输入您的用户名"/>(2分)

       (2)

<Button
       android:layout_gravity="center"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:id="@+id/login"
       android:text="登录" />(2分)

       (3)

        private EditText et_name,et_pass;(0.5分)
 private Button btn_login;(0.5分)

(4)

setContentView(R.layout.activity_main);(1分)
//初始化
et_name=(EditText) findViewById(R.id.login_username);(0.5分)
et_pass=(EditText) findViewById(R.id.login_password);(0.5分)
btn_login=(Button) findViewById(R.id.login);(1分)
//创建适配器
btn_login.setOnClickListener(new View.OnClickListener() {
     @Override
    public void onClick(View v)(1分)
        String name= et_name.getText().toString();
        String pass=et_pass.getText().toString();(2分)
         if("张三".equals(name)&&"123".equals(pass)){
             Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();   (2分)
         }else {
             Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show();    (2分)
         }
     }
});

习题

一、填空

  1. 图片资源的存放路径(  res/drawable  )、字符串资源的存放路径(  res/strings   )、颜色资源的存放路径(  res/colors   )、尺寸资源的存放路径(  res/dimens  )。

2. 资源文件一般存放在(   xml   )格式的文件中。

3. 引用一个自定义的颜色资源,通过什么属性进行引用(  name      )。

4. 常用的数组资源中包含的子元素有(  array  )、(   integer-array  )、(string-array)

二、简答题

简述资源文件的引用方式。

自定义资源文件:@[pachage]type/name

系统资源文件:@android:type/name

R.java文件访问资源文件:R.type.name

三、编程

使用StateListDrawable资源编写一个资源文件,要求输入框在获得焦点和失去焦点时输入框中的字体分别呈现不同的颜色状态。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 获得焦点时的颜色 -->
    <item android:state_focused="true"
        android:color="@color/c4"></item>
    <!-- 失去焦点时的颜色 -->
    <item android:state_focused="false"
        android:color="@color/c6"></item>
</selector>

习题

一、选择题

如果将一个TextView的android:layout_height属性值设置为wrap_content,那么该组件的展示效果为(  D  )。

A.该文本域的宽度将填充容器的宽度

B.该文本域的宽度仅占该控件的实际宽度

C.该文本域的高度将填充容器的宽度

D.该文本域的高度仅占该控件的实际高度

二、简答题

简述TextView组件和EditText组件的区别。

TextView是一种用于显示字符串的控件

EditText则是用来输入和编辑字符串的控件

EditText是一个具有编辑功能的TextView

三、编程

编写Android程序,利用ArrayAdapter数组适配器实现图7.15的效果(注意:列表项布局使用android.R.layout.simple_list_item_1)。

图7.15  利用ArrayAdapter数组适配器实现的效果

activity_main.xml代码如下。

<?xml version="1.0" encoding="utf_8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent">

     (1)         请补全代码

</RelativeLayout>

MainActivity代码如下。

public class MainActivity extends AppCompatActivity {

    //声明

     (2)         请补全代码

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

     (3)         请补全代码

    }

}

代码如下:

(1)

<ListView

        android:id="@+id/listView"

        android:layout_width="match_parent"

        android:layout_height="wrap_content">

</ListView>

(2)

ListView listView; 

ArrayAdapter arrayAdapter;

(3)

setContentView(R.layout.activity_main); 

listView = (ListView)findViewById(R.id.listView); 

String[] arr_data = {"item1","item2","item3","item4"};

arrayAdapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,arr_data); 

listView.setAdapter(arrayAdapter);

习题

一、填空

1.通过(    TableRow    )标签划分TableLayout中的行。

2.通常使用(    layout_height    )和(   layout_weight     )常量来设置宽度或高度。

3.布局中的所有元素均使用(    View    )和(   View Group     )对象的层次结构进行构建。

二、简答题

简述Android开发过程中常用的五种布局的特点。

线性布局(LinearLayout),实现垂直或水平布局;

相对布局(RelativeLayout),根据控件之间的相对位置进行布局;

表格布局(TableLayout),将整个页面划分为行列表格进行布局;

帧布局(FrameLayout)控件只能放在页面的左上角,新添加的控件会覆盖已存在的控件;

绝对布局(AbsoluteLayout),控件的位置根据x,y坐标进行设定。

三、编程

使用RelativeLayout实现图8.16所示的布局。

图8.16  要求实现的布局

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tv_name"
        android:text="用户名"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/et_name"
        android:layout_below="@+id/tv_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn_cancel"
        android:text="cacel"
        android:layout_below="@+id/et_name"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/bn_ok"
        android:text="ok"
        android:layout_toLeftOf="@+id/btn_cancel"
        android:layout_alignTop="@+id/btn_cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

习题

一、填空题

1.Activity的生命周期包括运行状态、暂停状态、停止状态和( 死亡状态 )。

2.当处于暂停状态(Paused)的Activity由被覆盖状态回到前台或解锁屏时,系统会调用(  restart  )方法,再次进入( onResume   )。

3.Intent常用属性主要有(  组件  )、动作、动作的类别、数据、数据MIME类型以及附加信息等。

4.启动一个Activity并从新的组件获得返回值所需方法为(  onActivityResult()  )。

5.Intent调用可以分为(  显式  )和(  隐式  )两种类型。

6.广播接收端使用  OnReceive  )告知系统其可以接收的广播类型。

7.在Intent的Action属性中,用来标识应用程序入口的是(  ACTION_MAIN  )。

8.Android组件中运行于后台,没有界面交互的是(  Service  )。

9.使用Context的(  startActivity  )方法可以启动Activity。

10.在Android提供的通讯录数据库contact2.db中,用于存储联系人详细信息的表是(  contacts  )。

二、选择题

1.关于Activity生命周期的onCreate()和onStart()方法说法正确的是( D   )。

A.当第一次启动的时候先后调用onStart()和onCreate()方法

B.当第一次启动的时候只会调用onCreate()方法

C.如果Activity已经启动,将先后调用onCreate()和onStart()方法

D.如果Activity已经启动,将只调用onStart()方法

2.下面不是退出Activity方法的是(  C  )。

A.finish() B.System.exit() C.onStop() D.异常强制退出

3.下面在AndroidManifest.xml文件中设置访问网络权限正确的是(  A  )。

A.<uses-permission android:name="android.permission.INTERNET">

B.<uses-permission name="android.permission.INTERNET">

C.<uses-permission android:id="android.permission.INTERNET">

D.<uses-permission permission ="android.permission.INTERNET">

4.对一些资源以及状态的操作保存,最好是保存在生命周期的(  A  )函数中进行。

A.onPause() B.onCreate() C.onResume() D.onStart()

5.Android中属于Intent的作用的是(  C  )。

A.实现应用程序间的数据共享

B.Intent是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失

C.可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

D.处理一个应用程序整体性的工作

6.(  A  )通常就是一个单独的窗口界面。

A.Activity B.Intent C.Service D.Content Provider

7.关于Service生命周期的onCreate()和onStart(),说法正确的是(  D  )。

A.当第一次启动的时候先后调用onStart()和onCreate()方法

B.当第一次启动的时候只会调用onCreate()方法

C.如果Service已经启动,将先后调用onCreate()和onStart()方法

D.如果Service已经启动,只会执行onStart()方法,不在执行onCreate()方法

8.下列关于ContentProvider,说法错误的是(  C  )。

A.ContentProvider的作用是实现数据共享和交换

B.要访问ContentProvider,只需调用ContentProvider增、删、改、查的相关方法

C.Content Provider提供的URI必须以“content://”开头

D.Android对于系统里的音视频、图像、通讯录提供了内置的ContentProvider

三、简装题

描述Android中ContentProvider的作用。

内容提供者组件通过请求从一个应用程序向其他的应用程序提供数据。这些请求由类 ContentResolver 的方法来处理。内容提供者可以使用不同的方式来存储数据。数据可以被存放在数据库,文件,甚至是网络。

有时候需要在应用程序之间共享数据。这时内容提供者变得非常有用。

内容提供者可以让内容集中,必要时可以有多个不同的应用程序来访问。内容提供者的行为和数据库很像。你可以查询,编辑它的内容,使用 insert(), update(), delete() 和 query() 来添加或者删除内容。多数情况下数据被存储在 SQLite 数据库。

四、程序设计

设计一个应用,界面中有一个EditText控件和一个Button控件,当点击按钮时,能够打开在EditText中输入的网址。

习题

一、填空题

1.SharedPreferences最终的存储形式是(    xml    )文件。

2.使用SharedPreferences方式操作数据时,首先要通过Context的(   getDefaultSharedPreferences()     )函数获得SharedPreferences类对象。

二、选择题

1.下面关于SharedPreferences的表述正确的是(  D  )。

A.SharedPreferences pref=new SharedPreferences()

B.Editor editor=new Editor()

C.SharedPreferences.apply()操作会马上将数据写入磁盘文件

D.Editor对象存储数据最后都要调用commit()方法

2.下面关于Android数据存储方式描述错误的是(  B  )。

A.Android可以采用SharedPreferences数据存储

B.Android文件存储形式中,用户只能访问外部存储

C.Android可以使用数据库存储

D.Android可以采用ContentProvider存储数据

3.关于Android中文件操作描述正确的是(  C  )。

A.Android应用只能访问本应用程序的文件

B.Android应用可以获得图片、音频等公共存储空间中的文件

C.Android应用能够读取其他应用程序空间中的文件

D.Android应用能够修改其他应用程序空间中的文件

三、编程题

根据所学的Android文件操作知识,实现一个记事本功能的App。

习题

一、填空题

1.SQLite数据库中用于获取帮助的命令是( .help   )。

2.在用游标操作SQLite数据表时,获取数据表中记录数的方法是(  query()  )。

3.用SQLiteOpenHelper类操作数据库时,数据库表建立语句一般在(  onCreate()  )方法中执行。

4.SQLiteOpenHelper类操作数据库时,当数据库版本发生改变时,会自动调用( onUpdate()   )方法。

二、选择题

1.下面关于SQLite数据库描述正确的是(  D  )。

A.SQLite数据库中数据类型是强数据类型

B.SQLite数据库操作时,如果插入的数据类型与字段数据类型不一致,则一定不能插入

C.SQLite数据库只能应用在Android系统中

D.SQLite中能够使用事务操作

2.下面关于SQLite操作描述不正确的是(  C  )。

A.SqliteOpenHelper类主要用来创建数据库和更新数据库

B.SqliteDatabase类可以用来操作数据库

C.在每次调用SqliteDatabase类的getWritableDatabase()方法时,会执行SqliteOpenHelper类的onCreate()方法

D.当数据库版本发生变化时,可以自动更新数据库结构

三、论述题

简要论述在Android项目中,用MVC开发数据库系统的基本操作步骤。

视图层(View) 对应于xml布局文件和java代码动态view部分。

控制层(Controller) MVC中Android的控制层是由Activity来承担的,Activity本来主要是作为初始化页面,展示数据的操作,但是因为XML视图功能太弱,所以Activity既要负责视图的显示又要加入控制逻辑,承担的功能过多。

模型层(Model) 针对业务模型,建立的数据结构和相关的类,它主要负责网络请求,数据库处理,I/O的操作。

习题

简答题

简述android:visibility属性对应的属性值及区别。

可见(visible)

XML文件:android:visibility=“visible”

Java代码:view.setVisibility(View.VISIBLE);

不可见(invisible)

XML文件:android:visibility=“invisible”

Java代码:view.setVisibility(View.INVISIBLE);

隐藏(GONE)

XML文件:android:visibility=“gone”

Java代码:view.setVisibility(View.GONE)

二、编程题

编程实现图12.9所示的效果。当点击第1个按钮时,实现图12.10所示的效果;当点击第3个按钮时,实现图12.11所示的效果。

           

图12.9  实现效果1                               图12.10  实现效果2

图12.11  实现效果3 

代码如下:

Java代码:

public class MainActivity extends Activity {

private TextView txt222 = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

txt222 = (TextView)findViewById(R.id.txt2222);

findViewById(R.id.btn1).setOnClickListener(listener);

findViewById(R.id.btn2).setOnClickListener(listener);

findViewById(R.id.btn3).setOnClickListener(listener);

}

View.OnClickListener listener = new View.OnClickListener() {

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn1:

txt222.setVisibility(View.VISIBLE);

break;

case R.id.btn2:

txt222.setVisibility(View.INVISIBLE);

break;

case R.id.btn3:

txt222.setVisibility(View.GONE);

break;

}

}

};

}

Xml代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_marginBottom="20dip"

        android:orientation="horizontal" >

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:background="#F00"

            android:text="1111"

            android:visibility="visible" />

        <TextView

            android:id="@+id/txt2222"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:background="#0F0"

            android:text="2222"

            android:visibility="visible" />

    </LinearLayout>

    <Button

        android:id="@+id/btn1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="2222 VISIBLE" />

    <Button

        android:id="@+id/btn2"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="2222 INVISIBLE" />

    <Button

        android:id="@+id/btn3"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="2222 GONE" />

</LinearLayout>

到了这里,关于Android移动开发技术(慕课版)习题集题库及答案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 慕课版软件质量保证与测试(第五章.课后作业)

    1. 软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )   A. 集成测试   B. 单元测试   C. 系统测试   D. 验收测试 参考答案:B 2. 增量式集成测试有3种方式:自顶向下增量测试方法、( )和混合增量测试方式。   A. 自下向顶增量测试方法

    2024年02月05日
    浏览(52)
  • Android平台开发技术大作业:数独游戏

    目录 《Andriod平台应用与开发技术实验》 PAGEREF _Toc24643 h 1 实验报告 PAGEREF _Toc15437 h 1 第一章引言 - 1 - 第二章调研阶段 - 2 - 2.1项目背景 - 2 - 2.2前期调研 - 2 - 2.3开发必要性 - 2 - 2.4预期功能实现 - 2 - 第三章设计阶段 - 2 - 3.1页面设计 - 2 - 3.2角色设计 - 2 - 3.3元素、定位设计 - 2

    2024年02月10日
    浏览(58)
  • 【Android 应用开发】Android 无障碍开发简介 ( Android 无障碍开发辅助技术 | 启用 TalkBack 无障碍功能 | TalkBack 无障碍开发 示例 )

    官方文档 : Android 无障碍功能概览 Android 无障碍开发 的作用是 为 残障人士 提供 更好的移动设备使用体验 ; 借助 无障碍开发 可以 降低 访问设备应用程序 的难度 ; Android 为 无障碍开发 提供了 多种辅助技术 , 如 : TalkBack : 该技术 帮助 盲人 和 视力障碍者 更容易地使用 Andro

    2024年02月14日
    浏览(45)
  • 【第一章 | 操作系统概述】《操作系统 慕课版》课后答案 + 复习

    目录 | 本章概念 | 本章算法 单道批与多道批的图像绘制 利用率的计算与分析  | 课后简答题 1.OS的作用 作为用户与计算机硬件系统之间的接口 | 计算机系统资源的管理者 | 对计算机资源的抽象。OS的目标是: 方便性 有效性 可扩充性 开放性 2.虚拟机 覆盖了I/O软件的设备称为

    2024年02月02日
    浏览(52)
  • 【第六章 | 虚拟存储器】《操作系统 慕课版》课后答案 + 复习

    1.虚拟存储器概述 前面基础存储器的缺点 有一个共同特点: 作业全部装入内存后方能运行 常规存储器管理方式的特征:一次性:作业被一次性全部装入内存;驻留性:作业一直驻留在内存 一次性和驻留性使许多在程序运行中不用或暂不用的程序(数据)占据了 大量的内存

    2024年02月10日
    浏览(54)
  • 【第七章 | 输入输出系统】《操作系统 慕课版》课后答案 + 复习

    1.I/O系统的功能、模型和接口 I/O系统 管理的主要对象 : I/O设备 和对应的 设备控制器 I/O系统的主要任务: 完成用户提出的I/O请求、提高I/O速率、改善I/O设备的利用率 I/O系统的基本功能: 够隐藏物理设备的细节、保证OS与设备无关、提高处理机和I/O设备的利用率、对I/O设备

    2024年02月08日
    浏览(42)
  • Web端服务器推送技术原理分析及dwr框架简单的使用,html5移动web开发

    缺点  : a) 糟糕的用户体验 b) 对服务器的压力很大,并且造成带宽的极大浪费。 2.2 Ajax 轮询 Ajax隔一段时间(通常使用JavaScript的setTimeout函数)就去服务器查询是否有改变,从而进行增量式的更新。但是间隔多长时间去查询成了问题,因为性能和即时性造成了严重的反比

    2024年04月16日
    浏览(52)
  • 利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码

    智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术,提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平,实现工程施工可视化智能管理,并逐步实现绿色生态建造。 技术架构: 微服务 + Java+Spring Cloud +UniApp +M

    2024年02月06日
    浏览(62)
  • 以unity技术开发视角对android权限的讲解

    目录 前言 Android权限分类 普通权限  普通权限定义 普通权限有哪些 危险权限  危险权限的定义 危险权限有哪些  动态申请权限实例 申请单个权限实例 第一步:在清单文件中声明权限  第二步:在代码中进行动态申请权限 申请多个权限实例 第一步:在清单文件中声明权限

    2024年02月02日
    浏览(37)
  • 【第三章 | 处理机调度与死锁】《操作系统 慕课版》课后答案 + 复习

    目录 【第三章】处理机调度与死锁 | 本章概念 1.处理机调度概述 2.调度算法相关概念 3.实时调度相关概念 4.死锁 5.资源分配图 | 本章算法 1.周转时间与带权周转时间的计算公式 2.调度算法 FCFS  SJF  PR  RR 3.实时调度算法 EDF 4.避免死锁 —— 银行家算法 | 课后简答题 1.处理机调

    2024年02月01日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包