当前位置: 首页 > news >正文

没有网站怎么做外贸广州番禺发布网

没有网站怎么做外贸,广州番禺发布网,网络服务提供者发现未成年秘密信息应采取,网站开发要什么基础目录 实验目的实验内容实验要求项目结构代码实现代码解释结果展示 实验目的 充分理解Service的作用,与Activity之间的区别,掌握Service的生命周期以及对应函数,了解Service的主线程性质;掌握主线程的界面刷新的设计原则&#xff…

目录

  • 实验目的
  • 实验内容
  • 实验要求
  • 项目结构
  • 代码实现
  • 代码解释
  • 结果展示

实验目的

充分理解Service的作用,与Activity之间的区别,掌握Service的生命周期以及对应函数,了解Service的主线程性质;掌握主线程的界面刷新的设计原则,掌握启动service的方式,及其工作原理;
在此实验中,掌握启动式和绑定式Service之间的原理及区别,了解其性能上的不同

实验内容

  1. 在service中实现一个加法函数add(int x,int y)
  2. 并在Activity界面实现对service方法add的调用,实现加法计算。
  3. 在activity界面上有两个文本框输入数字,第三个文本框实现显示计算结果,一个button实现计算触发。

实验要求

1、配置service的运行环境以确保service的正确使用
2、熟悉绑定service的方式和使用的操作步骤
3、充分理解service的工作原理与其生命周期

项目结构

在这里插入图片描述

代码实现

mainActivity

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;public class mainActivity extends Activity {private EditText etNum1, etNum2;private TextView tvResult;private Button btnCalculate;private AdditionService additionService;private boolean isBound = false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etNum1 = findViewById(R.id.et_num1);etNum2 = findViewById(R.id.et_num2);tvResult = findViewById(R.id.tv_result);btnCalculate = findViewById(R.id.btn_calculate);btnCalculate.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (isBound) {int num1 = Integer.parseInt(etNum1.getText().toString());int num2 = Integer.parseInt(etNum2.getText().toString());int result = additionService.add(num1, num2);tvResult.setText(String.valueOf(result));}}});}@Overrideprotected void onStart() {super.onStart();Intent intent = new Intent(this, AdditionService.class);bindService(intent, serviceConnection, BIND_AUTO_CREATE);}@Overrideprotected void onStop() {super.onStop();if (isBound) {unbindService(serviceConnection);isBound = false;}}private ServiceConnection serviceConnection = new ServiceConnection() {@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {AdditionService.LocalBinder binder = (AdditionService.LocalBinder) service;additionService = binder.getService();isBound = true;}@Overridepublic void onServiceDisconnected(ComponentName name) {isBound = false;}};
}

AdditionService

import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;public class AdditionService extends Service {private final IBinder binder=new LocalBinder();public class LocalBinder extends Binder{AdditionService getService(){return  AdditionService.this;}}@Overridepublic IBinder onBind(Intent intent){return binder;}public int add(int x,int y){return x+y;}
}

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"android:padding="16dp"><EditTextandroid:id="@+id/et_num1"android:layout_width="match_parent"android:layout_height="48dp"android:hint="请输入第一个数字"android:inputType="number" /><EditTextandroid:id="@+id/et_num2"android:layout_width="match_parent"android:layout_height="48dp"android:hint="请输入第二个数字"android:inputType="number" /><Buttonandroid:id="@+id/btn_calculate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="计算" /><TextViewandroid:id="@+id/tv_result"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="结果是"android:textSize="24sp" /></LinearLayout>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><applicationandroid:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Exp4"tools:targetApi="31"><activityandroid:name=".mainActivity"android:exported="true"android:label="@string/app_name"android:theme="@style/Theme.Exp4"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><service android:name="com.example.exp4.AdditionService" /></application></manifest>

代码解释

代码分为三个部分:

mainActivity.java: 这是主活动类,负责创建用户界面和与服务绑定。它包含以下内容:

一些私有变量,用于存储两个输入框(etNum1和etNum2)、一个显示结果的文本视图(tvResult)、一个计算按钮(btnCalculate)和一个AdditionService的引用(additionService)。
一个布尔变量(isBound),用于标记是否与服务绑定。
一个onCreate方法,用于初始化界面元素,并为计算按钮设置点击监听器。当用户点击按钮时,如果已经与服务绑定,就从输入框中获取两个数字,并调用服务的add方法,将结果显示在文本视图中。
一个onStart方法,用于在活动启动时创建一个意图(intent),并用它来绑定服务。绑定服务时,需要传入一个服务连接对象(serviceConnection),用于监听服务的连接和断开状态。
一个onStop方法,用于在活动停止时解除服务的绑定,并将isBound设为false。
一个serviceConnection对象,用于实现ServiceConnection接口的两个方法:onServiceConnected和onServiceDisconnected。当服务连接时,会获取服务的IBinder对象,并将它转换为LocalBinder对象,然后通过它获取服务的引用,并将isBound设为true。当服务断开时,会将isBound设为false。
AdditionService.java: 这是一个服务类,负责提供两个数字相加的功能。它包含以下内容:

一个IBinder对象(binder),用于返回给绑定服务的活动。
一个内部类(LocalBinder),继承自Binder类,用于提供一个getService方法,返回服务本身的引用。
一个onBind方法,用于返回binder对象,当活动绑定服务时,会调用这个方法。
一个add方法,用于接收两个整数参数(x和y),并返回它们的和。

activity_main.xml: 这是一个布局文件,用于定义用户界面的外观。它包含以下内容:

一个线性布局(LinearLayout),用于垂直排列所有的子视图,它的宽度和高度都是填充父视图,它的内边距是16dp。
两个编辑框(EditText),用于让用户输入两个数字,它们的宽度都是填充父视图,高度都是48dp,它们的提示文字分别是“请输入第一个数字”和“请输入第二个数字”,它们的输入类型都是数字。
一个按钮(Button),用于触发计算操作,它的宽度是包裹内容,高度也是包裹内容,它的水平居中,它的文本是“计算”。
一个文本视图(TextView),用于显示计算结果,它的宽度是包裹内容,高度也是包裹内容,它的水平居中,它的初始文本是“结果是”,它的字体大小是24sp。

结果展示

在这里插入图片描述
在这里插入图片描述

http://www.hkea.cn/news/795210/

相关文章:

  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字
  • 广州企业网站制作怎么做营销推广
  • 网站建设服务器在香港郑州网站建设专业乐云seo
  • 河北建设工程交易信息网海口关键词优化报价
  • 全国网站建设公司有多少家微信朋友圈广告投放收费标准
  • 免费做网站公司黑帽seo排名技术
  • apk连接wordpress上海seo
  • 企业建网站租用服务器好还是买一个好石家庄网站关键词推广
  • wordpress文件解析外贸网站优化
  • 建设工程竣工备案网站百度保障中心人工电话
  • 韶关城乡建设部网站首页营销型网站建设策划书
  • 建设银行手机银行下载官方网站谷歌浏览器网页版入口在哪里
  • 网站建设 好域名注册信息