移动开发考试复习总结

2018/1/12 NBU移动应用开发期末考试考点 移动应用开发卷子总共十道大题,其实准确说,是十大道简答题; 考的方法有写代码,给程序写注释,说明一些操作的处理过程,在下面进行细说。 第一题为程序注释,给了一个mainActivity的创建,里面写了onCreate()函数的重载,要求对每一句进行注释,包括@Override 第二题为写代码程序,给出XML中TextView和EditText的ID,要求在Activity中将其连接并设置对应 阅读详情

Android

代码填空

  1. 设置控件的可见性和不可见性

    • 设置控件可见
    myButton.setVisiblility(View.VISIBLE)
    
    • 设置控件不可见但保留空间
    myButton.setVisiblility(View.INVISIBLE)
    
    • 设置控件为不可见且不保留空间
    myButton.setVisiblility(View.GONE)
    
  2. sharepreferens存储和读取

    //存储数据
    SharedPreferences sharedPreferences = getSharedPreferences("MyPreferences",Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    edit.putString("key_string","hello world!");
    editor.apply();
    //读数据
    String valueString = sharedPreferences.getString("key_string","No value found");
    Toast.makeText(this,"Value: " + valueString,Toast.LENGTH_SHORT).show()
    
  3. 关闭当前页面

    • 在Activity内部关闭自身:简单调用finish()方法
    public void closeActivity(){
        finish()
    }
    //你可以在按钮的点击事件监听器、菜单项的选择监听器等地方调用这个方法
    
    • 另一个Activity中关闭前一个Activity: 使用startActivityForResult()和setResult() , 并在前一个Activity的onActivityResult()方法中调用finish().更常见的做法是让结果页面自己调用finish()
    • 在Fragment中关闭它的Activity: 如果你在一个Fragment中,并且想要包含该Fragment的Activity,你可以通过调用**getActivity.finish()**来实现
    public void closeContainingActivity(){
        if(getActivity != null){
            getActivity().finish();
        }
    }
    //注意:在调用 finish()之前检查 getActivity()是否返回 null 是很重要的,因为 Fragment 可能在 Activity 已经销毁之后仍然保留在内存中。
    
    • 对话窗弹出窗口中关闭背后的Activity: 通常需要在对话框某个回调中调用finish() . 但是,这通常意味着对话框是由该 Activity 管理的, 所以你应该在该 Activity 的某个方法中调用 finish()

    4.接受页面传递对象的序列化

    5.页面延时跳转

    6.应用样式到布局文件中

    7.video view 控件的使用

    简答题

    1. 如何实现数据回传

      • 启动Activity并等待结果:在原始Activity中,使用Intent启动另一个Activity,并调用startActivityForResult(intent,requestCode).

        其中,requestCode是一个用于在结果返回时区分不同请求的整数值

      • 在目标Activity中设置结果:在目标 Activity 中,当用户完成操作后,创建一个新的 Intent, 将需要回传的数据放入其中.

        调用 setResult(resultCode, intent)。其中,resultCode 通常 使用 RESULT_OK 或 RESULT_CANCELED来表示成功或取消.

        调用 finish()来关闭目标 Activity 并返回结果

      • 在原始Activity中接收结果:在原始Activity中,重写**onActivityResult(int requestCode,int resultCode,Intent data)**方法

        在这个方法中,你可以通过 requestCode 来区分不同的请求,通 过 resultCode 来判断操作是否成功,通过 data 来获取回传的数据。

        虽然这些方法主要用于持久化存储数据,但你也可以将它们 用于在 Activity 之间传递数据。然而,这种方法通常不是最佳实践,因为它可能会导致不必要 的 I/O 操作和性能问

    2. 创建对话框步骤

      • 确定对话框类型

      根据需求确定对话框的类型,如提示对话框、选择对话框(单选、 多选)、列表对话框等。

      • 设置对话框属性

      标题:为对话框设置标题,用于简要说明对话框的用途。

      图标:如果需要,可以为对话框设置图标,以增强视觉效果。

      内容:为对话框设置要显示的内容,这可以是简单的文本消息,也可以是复杂的布局。

      按钮:根据需要添加按钮,如“确定”、“取消”等,并为这些按 钮设置点击事件监听器。

      构 建 对 话 框: 使 用 Android 提 供 的 对 话 框 构 建 工 具 ( 如 AlertDialog.Builder)来构建对话框。

      • 显示对话框

      调用对话框的 show()方法来显示对话框。

      处理对话框关闭事件(可选):如果需要在对话框关闭时执行某些操作(如清理资源),可以设置 一个对话框关闭事件监听器。

    代码题

  4. SQLite创建增删改查四个方法:

public class MyDatabaseHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "MyDatabase.db";
    private static final int DB_VERSION = 1;
    private static final String TABLE_NAME = "MyTable";
    private static final String COLUMN_ID = "_id";
    private static final String COLUMN_NAME = "name";

    public MyDatabaseHelper(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,
        " + COLUMN_NAME + " TEXT " + ")"; db.execSQL(createTableQuery);
    }
// ... 其他方法,如 onUpgrade()等
}
2.插入(增)
        java public void insertData(String name){
        SQLiteDatabase db = myDatabaseHelper.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(MyDatabaseHelper.COLUMN_NAME,name);
        db.insert(MyDatabaseHelper.TABLE_NAME,null,values);
        db.close();
        }
3.删除(删)
        java public void deleteData(int id){
        SQLiteDatabase db=
        myDatabaseHelper.getWritableDatabase();
        db.delete(MyDatabaseHelper.TABLE_NAME,
        MyDatabaseHelper.COLUMN_ID+" = ?",
        new String[]{String.valueOf(id)});
        db.close();
        }
4.查询(查)
        java public Cursor getData(){
        SQLiteDatabase db=myDatabaseHelper.getReadableDatabase();
        return db.query(MyDatabaseHelper.TABLE_NAME,null,null,
        null,null,null,null);
        }
// 然后在某个地方使用 Cursor 遍历结果
        Cursor cursor=getData();
        if(cursor.moveToFirst()){
        do{
        int id=
        cursor.getInt(cursor.getColumnIndex(MyDatabaseHelper.COLUMN_ID));
        String name=
        cursor.getString(cursor.getColumnIndex(MyDatabaseHelper.COLUMN_NAME));
// 处理数据...
        }while(cursor.moveToNext());
        }
        cursor.close();
5.更新(改)
        java public void updateData(int id,String new newName){
        SQLiteDatabase db=myDatabaseHelper.getWritableDatabase();
        ContentValues values=new ContentValues();
        values.put(MyDatabaseHelper.COLUMN_NAME,newName);
        db.update(MyDatabaseHelper.TABLE_NAME,values,
        MyDatabaseHelper.COLUMN_ID+" = ?",
        new String[]{String.valueOf(id)});
        db.close();
        }
  1. Recycle View适配器

    // 定义数据源
    ArrayList<String> dataList=new ArrayList<>();
    // ... 填充数据到 dataList 中
    // 初始化 ListView
            ListView listView=findViewById(R.id.list_view);
    // 使用 ArrayAdapter
            ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,dataList);
    // 将适配器设置到 ListView
            listView.setAdapter(adapter);
    // 如果需要更新数据,只需更新 dataList 并调用 notifyDataSetChanged()(但ArrayAdapter 没有直接提供这个方法)
            // 一个简单的解决办法是重新创建适配器并设置到 ListView
            dataList.add("新增的条目");
            adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,dataList);
            listView.setAdapter(adapter);
           // Recycle View 适配器
    public class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.ViewHolder> {
        private ArrayList<String> dataList;
        public MyRecyclerViewAdapter(ArrayList<String> dataList) {
            this.dataList = dataList;
        }
        @NonNull
        @Override
        public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    // 创建 ViewHolder 并绑定视图
            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_list, parent, false);
            return new ViewHolder(itemView);
        }
        @Override
        public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    // 绑定数据到 ViewHolder 的视图上
            holder.textView.setText(dataList.get(position));
        }
        @Override
        public int getItemCount() {
    // 返回数据项的数量
            return dataList.size();
        }
        public class ViewHolder extends RecyclerView.ViewHolder {
            TextView textView;
            public ViewHolder(@NonNull View itemView) {
                super(itemView);
                textView = itemView.findViewById(R.id.text_view); //
               // 假设 item_list.xml 中有一个 TextView,其 ID 为 text_view
            }
        }
        // 如 果 需 要 更 新 数 据 , 只 需 更 新 dataList 并 调 用
        notifyDataSetChanged()
        public void updateData(ArrayList<String> newData) {
            this.dataList = newData;
            notifyDataSetChanged();
        }
    }
    
物联网移动开发技术期末复习 物联网移动开发技术期末 文章目录物联网移动开发技术期末一、创建新项目二、新建文件(考试的时候需要根据题目要求命名)重命名MainActivity文件重命名activity_main.xml文件创建java文件创建layout resource文件三、代码activity_login.xml文件activity_list.xml文件list_item.xml文件LoginActivity文件ListActivity文件四、测试五、项目压缩包(百度网盘) 一、创建新项目 二、新建文件(考试的时候需要根据题 阅读详情

相关推荐

中心对数比变换(Centered Log Ratio Transformation,CLR)的原理及scikit-bio介绍

中心对数比变换(Centered Log Ratio Transformation,CLR)是一种数据预处理方法,常用于成分数据分析领域。在成分数据中,各成分之间通常存在一定的约束关系,比如它们的和为固定值等,中心对数比变换可以有效地处理这种具有特殊约束的数据。官方文档scikit-bio是一个在Python3中处理生物数据的库成分统计 (skbio.stats.composition )模块中的,此函数将组合从Aitchison几何体转换到真实空间。这个clr。

RECORD LEARN PROGRESS 1万+

河南大学安卓移动应用开发复习(笔记纯手打,有错误见谅)

第三章: 安卓常见界面控件。第四章:Activity。第二章:安卓常见界面布局。

qq_60037141的博客 445

VisionPro九点标定实战:从相机拍照到机器人精准抓取的完整流程

本文详细介绍了VisionPro九点标定技术在工业自动化中的应用,从相机拍照到机器人精准抓取的完整流程。通过硬件配置、标定步骤和实战技巧的解析,帮助工程师实现高精度视觉引导系统,提升生产效率。特别适合需要解决二维图像坐标与物理空间转换问题的自动化项目。

weixin_30664051的博客 406

移动应用开发技术 服务(用于期末考试复习)

方法启动的服务,会长期在后台运行,并且启动服务的组件与服务之间没有关联,即使启动服务的组件被销毁,服务依旧会运行。服务是一个长期运行在后台的用户组件,没有用户界面。Service还具有较长的时间运行特性。在程序中通过startService。

weixin_74801903的博客 265

Ubuntu HackRF One、GNU Radio、Gqrx相关环境搭建

本文介绍Ubuntu HackRF One、GNU Radio、Gqrx相关环境搭建方法。

无线通信实验室 1万+

Notion访问卡顿?一键优化DNS与Hosts提升加载速度

本文针对Notion访问卡顿问题,提供了两种核心优化方案:修改Hosts文件与配置DNS。详细解析了卡顿根源在于网络链路,并手把手指导用户在Windows、Mac、iOS及Android设备上实施优化,旨在通过替换为更优线路,显著提升Notion的页面加载与同步速度。

fff88的博客 1195

GDPU移动应用开发(安卓)期末考试复习资料

移动应用开发复习

wy990880的博客 619

Origin软件XRD全峰拟合保姆级教程:从数据导入到弱峰处理技巧

本文提供了一份Origin软件进行XRD全峰拟合的深度实战指南。文章重点解析了从数据导入预处理、基线锚点视觉化设置,到弱峰拟合的锁定策略与手动干预等核心技巧,旨在帮助用户避开常见错误,获得可靠、精确的拟合结果,从而有效服务于材料结构分析。

rgv2345678的博客 706

郑州大学2022级大三期末复习总结(数据库,传感器,嵌入式,人工智能,移动终端开发,计算机英语)

2022级大三期末复习

qq_45809243的博客 2955

LinuxCNC开发实战:从安装到EtherCAT配置全解析

本文详细解析LinuxCNC开发实战,从系统安装到EtherCAT总线配置全流程。涵盖实时内核优化、伺服驱动器PDO映射、HAL配置及自定义运动学开发,帮助开发者快速搭建工业级数控系统,提升运动控制精度与稳定性。

rgv234567的博客 352

【Autosar从入门到精通到进阶实战篇】75 0x34/0x36/0x37:请求下载、传输数据、请求退出——刷写流程的“三兄弟”

文章摘要:UDS刷写流程0x34/0x36/0x37关键实现要点 本文通过一个真实ECU变砖案例,揭示了UDS刷写服务(0x34请求下载、0x36传输数据、0x37请求退出)的实现陷阱与最佳实践。核心要点: 安全架构设计: 0x34阶段只协商参数,不立即擦除Flash 采用缓冲区暂存数据,避免频繁写Flash 严格检查地址对齐和内存边界 关键改进措施: 实现数据包序列号校验(防错位) 传输层缓冲区溢出保护 0x37阶段必须包含完整性校验(如CRC32) 一次性批量写入Flash,减少擦写次数 典型错误模式:

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 69

移动应用开发期末复习(自用复习勿转)

掌握什么时候用这些单位。

广阔天地 1万+

零停机更新黑科技:Spring Boot应用实现无缝升级的实战指南

本文介绍了基于Spring Boot和Tomcat实现零停机更新的技术方案,通过动态端口切换和优雅关闭机制,确保服务更新过程中业务不中断。文章详细解析了核心原理,包括内嵌Tomcat的工作机制、零停机更新的三大技术基石(端口动态切换、优雅关闭和进程接管)。同时提供了完整的Java实现代码,重点展示了端口动态检查、参数动态调整、旧进程优雅终止等关键逻辑。该方案适用于高可用系统升级场景,能够有效避免传统部署方式导致的服务中断问题,实现100%无感知的应用更新。

墨夶的博客 818

移动应用开发技术 第一章(用于期末考试复习)

字符串</string><string></style>:定义主题的标签。<item></item>:设置主题样式的标签。<style>

weixin_74801903的博客 411

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android移动程序设计复习

Android程序设计课程复习资料的备份~

m0_62340891的博客 710

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

国科大-移动互联网期末考试-2023

国科大2023移动互联网考试复习自用笔记

m0_55846001的博客 962

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

移动应用开发技术 第二章 常见界面布局(用于期末考试复习)

android:orientation="vertical"> //设置布局内控件排列顺序。android:text="按钮1"/>除此之外 GridLayout ConstraintLayout(约束布局)等。线性布局 LinearLayout 通常指定布局内的子控件水平或者竖直排列。四种常用布局:线性布局 相对布局 帧布局 表格布局。控件使用权重属性时,布局宽度属性值通常设置为。属性 = "属性值"在布局内设置控件权重,属性值可直接写。FrameLayout的2个特殊属性。设置前景图像显示的位置。

weixin_74801903的博客 490

python+flask计算机毕业设计基于Android的模拟考试APP(程序+开题+论文)

最后,开发模拟考试模块,实现自动组卷、计时答题、成绩即时反馈等功能,并通过数据分析模块对考试结果进行统计分析,为用户提供个性化的学习建议和反馈。因此,开发一款基于Android平台的模拟考试APP,不仅能够打破传统考试模式的局限,为考生提供便捷、高效的复习工具,还能通过数据分析优化学习路径,提升学习效率和考试通过率。另一方面,通过智能算法分析用户的答题情况,APP能够为每位考生提供个性化的学习建议和反馈,帮助考生精准定位知识盲点,优化复习策略,从而达到事半功倍的效果。特点包括简单性、灵活性和易于扩展。

Node.js彤彤程序 984

移动应用开发技术 第四章 程序活动单元activity(用于期末考试复习)

singleTask模式下每次启动该Activity时,系统首先会检查栈中是否存在当前Activity实例,如果存在则直接使用,并把当前Activity之上的所有实例全部出栈。singleInstance模式会启动一个新的任务栈来管理Activity实例,无论从哪个任务栈中启动该Activity,该实例在整个系统中只有一个。用于开启一个Activity,当开启的Activity销毁时,会从销毁的Activity中返回数据。横屏 android:screenOrientation="landscape"

weixin_74801903的博客 413

移动应用开发技术 第三章 常见界面控件(用于期末考试复习

将TextView控件中的文本信息居中,并且将文本的字体设置为斜体进行显示。edittext 编辑框 textview子类 用户可以在此控件输入信息。自定义view的三种方法:onMeasure()方法 用于测量尺寸、android:text="TextView控件显示的文本信息"(1)在布局文件中指定onClick属性的方式设置点击事件。onLayout()方法 用于指定布局中子控件的位置。(2)使用匿名内部类的方式设置点击事件。android="请输入姓名"接口的方式设置点击事件。

weixin_74801903的博客 456

PMP第十部分-相关方管理

小伙伴们 大家好,这是我之前准备2021年 6月20的考试时做的笔记,如果觉得有帮助的话,可以看一下呢,这是认真做的笔记. 万一你看了我的笔记后也跟我一样考神附体呢. 哈哈哈. 也有我在有道云的笔记链接: *https://note.youdao.com/s/1SYJFYfa ...

weixin_50860750的博客 177

移动应用开发技术 第五章 数据存储(用于期末考试复习)

存储方式 :文件存储 SharedPreferences存储 SQlite存储 ContentProvider 网络存储。,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。是指数据库事务正确执行的四个基本要素。事务是以逻辑顺序完成的工作单位或序列。,是针对数据库的一组操作,它可以由。的关系型数据库管理系统。

weixin_74801903的博客 317

【NBU大三上期末考试实录】

宁波大学计算机大三上考试记录

weixin_62533201的博客 2796

移动应用开发技术 第六 七章 内容提供者 广播(用于期末考试复习)

内容提供者(ContentProvider)是Android系统四大组件之一,它是不同应用程序之间进行数据共享的标准API,通过ContentResolver类可以访问ContentProvider中共享的数据。//关闭cursor。完广播接收者之后还需要对广播接收者进行注册才可以接收广播。3. 通过while()循环语句遍历查询到的数据。//获取ContentResolver对象。1. 通过parse()方法解析Uri。2. 通过query()方法查询数据。种是通过在应用程序的包中。

weixin_74801903的博客 416

山东大学软件学院2022-2023第二学期移动互联网开发技术期末考试回忆版

山东大学软件学院2022-2023第二学期移动互联网开发技术期末考试回忆版

南河的南的博客 2377

软件项目管理(一)点考分析

一、题型 单选题 1分1个 共40个 判断题 1分1个 共20个 多选题 2分1个 共20个 二、复习训练

RONG_YAO的博客 483
上一篇: Mybatis中占位符和sql注入
下一篇: php第四次作业
JavaMonkeys
博客等级 码龄4年 32粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值