- Android ViewBinding 使用与封装教程
积跬步DEV
Android开发实战大全android
AndroidViewBinding使用与封装教程:一、ViewBinding是什么?核心功能:为每个XML布局文件自动生成一个绑定类(如ActivityMainBinding),直接暴露所有带ID的视图引用。优点:避免繁琐的findViewById(),类型安全且编译时检查。对比DataBinding:ViewBinding仅处理视图引用,无数据绑定功能。DataBinding支持双向数据绑定,
- el-timeline时间线(Plus)左边图标改为自定义图片
顾尘眠
javascript前端vue.js
(目前图片有点小,还需要自己去调整下大概样式,比较懒,就放了个大概样子)时间线左侧正常根据文档内容,是填写的icon,但通过icon属性还有另外一个类型,component,可以搭配h函数写一组img元素,实现将图标改为本地图片{{activity.content}}import{h}from'vue'constactivities=[{content:'Eventstart',timestamp
- 【Android】Android四大组件
Android四大组件ActivityServiceBroadcastReceiverContentProvider
- qemu vcpu的创建过程
inquisiter
qemu
在QEMU中,vCPU线程的启动流程涉及多个阶段,包括初始化、线程创建和执行逻辑。以下是基于搜索结果的详细分析:QEMUvCPU线程的启动流程1.初始化阶段设备实例化:QEMU使用QOM(QEMUObjectModel)系统进行设备的实例化。CPU设备也需要通过type_init()方法注册到QOM系统中,这样可以通过object_new()创建CPU实例。CPU模型初始化:在QEMU启动时,会根
- Android 通过adb发广播的形式开启activity
li_xianyuan
androidshell界面adb
Android中有很多时候需要通过adb中打开一个界面,这个时候就需要通过发广播的形式,开启一个界面了例如通过广播开启一个特定界面adbshellambroadcast-aandroid.settings.ACTION_NOTIFICATION_LISTENER_SETTINGSadbshellam具体参数如下amusage:am[subcommand][options]startanActivi
- 计算机的启动流程
Hx__
计算机系统硬件架构
关于计算机的启动流程在本科期间也有过了解,但是更多的时间是在学习关于计算机的上层应用,也就是在计算机启动之后的一些应用。该层面属于应用层,目前对计算机的启动进行一个大概的学习记录,并做描述。文章开始介绍一下整体的启动流程分为哪几个步骤。一、上电上电,也就是向电脑供给电源,也就是我们按下开机按钮的一刻。此时,最先供电的是电脑的主板,其中最核心的部件是CPU,并向CPU发送reset信号,当电源供给到
- Hera调度系统运行时架构源码分析
Code Monkey’s Lab
源码分析Java架构hera调度系统
目录一、Hera启动过程二、Master节点启动流程三、Worker节点启动流程四、心跳机制实现五、任务调度执行流程六、架构特点总结在笔者的职业生涯中,Hera调度系统是使用过的所有开源调度系统中最符合用户操作习惯、最贴近业务实际需求的一款产品——没有之一。若论产品成熟度与用户体验,或许只有部分大厂自研的调度平台才能与之比肩。与DolphinScheduler等主流开源调度系统相比,Hera的设计
- 进阶之App 测试
一只舰
性能测试
App知识点什么是activityActivity一个应用程序的组件,它提供一个屏幕来与用户交互。Activity:应用程序中,一个Activity就相当于手机屏幕,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含许多活动,比如事件的点击,一般都会触发一个新的Activity。Activity生命周期四种状态:1、运行2、暂停3、停止4、系统回收(killed)Andr
- idea 性能优化
1、cpu占用很高,导致经常卡顿排查:通过IDEAActivityMonitor,可以发现是JITcompiler占用的cpu较高。解决:help->EditCustomVMOptions,增加如下参数。重启IDEA。-XX:TieredStopAtLevel=1或者-XX:Tier4MinInvocationThreshold=100000-XX:Tier4InvocationThreshold
- 2048-Python 开源项目教程
瞿晟垣
2048-Python开源项目教程2048-python2048项目地址:https://gitcode.com/gh_mirrors/20/2048-python本教程旨在引导您了解并运行yangshun的2048-python开源项目,一个基于Python实现的经典小游戏2048。我们将深入探索其项目结构、启动流程以及配置详情。1.项目目录结构及介绍项目遵循简洁的组织结构,便于理解和维护:20
- 取消短按power键做出对应的功能
frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java@@publicbooleanisForegroundActivity(Stringpackage_name){cancelPendingScreenshotChordAction();if(interceptPowerKeyUp(c
- mysql报错1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL
今天有个业务要连表查数据来着。很久没写SQL了写完满意运行SELECTac.activity_complaints_id,ac.activity_id,ac.content,ac.complaint_time,u.user_uuid,u.nameasuserName,ac.status,a.nameasactivityNameFROMt_activity_complaintacleftJOINus
- 解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护
摘要本文以健康管理应用为例,展示鸿蒙系统如何通过细粒度权限控制、动态权限授予、数据隔离和加密存储四大核心机制,实现复杂场景下的用户隐私保护。我们将通过完整的权限请求流程和敏感数据处理代码,演示鸿蒙系统如何平衡功能需求与隐私安全。场景描述想象一个健康管理应用需要实现以下功能:读取步数传感器数据(ohos.permission.ACTIVITY_MOTION)获取位置信息绘制运动轨迹(ohos.per
- 关于 java:10. Java 逆向分析基础
shenyan~
java开发语言
一、APK中的Java层代码分析1.1Java层逆向的整体目标在逆向一个APK的Java层时,我们主要关注:关注点说明应用启动流程包括Application、Activity启动时做了哪些初始化加密/签名函数如getSign()、encrypt()、generateToken()等方法网络请求构造URL、Headers、参数构造、是否签名等检测函数是否有反调试、root检测、环境检查动态加载逻辑是
- WebView 安全之 addJavascriptInterface
WebView安全之addJavascriptInterface不会写代码的IT男关注2016.01.0318:14*字数474阅读5668评论0喜欢30x00addJavascriptInterface介绍WebView是Android平台下的一个重要组件,通常用来在Activity中嵌入一个简单的浏览器,实现在线网页浏览的功能。比如下面代码实现访问Google页面:WebViewwebView
- 安卓之ANR
巨蟹座的爱情
安卓
ANR是什么?怎么样避免ANR?安卓中,如果你的应用有一段时间响应不灵敏,系统会向用户显示一个对话框这个对话框称作应用程序无响应(Applicationnotresponding)对话框,用户可以选择让程序继续进行,但是,他们在使用你的程序时并不是每次都处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ARN给用户。Activity5秒broadc10秒耗时的操作workth
- 安卓之Service详解(三)【安卓IPC之AIDL】
AB小站
AndroidbindService安卓服务IPC和AIDL
AndroidBoundService详解1.一般实现步骤讲解在客户端(Activity中)要完成:1.客户端通过BindService()方法来绑定一个服务对象(业务对象)如绑定成功会回调ServiceConnection接口方法onServiceConnected()2.OnServiceConnection()方法的其中一个参数是在Service中OnBind()返回的Binder的实例。3
- Activity各类控件学习小结:实现简单的用户界面
giaoho
安卓开发学习学习uiwindows
Activity各类控件学习小结:实现简单的用户界面目标:实现不同用户的图片的选择与显示对应图片的demo(1)默认添加10个照片文件到app中,p1到p10(2)主要控件和逻辑:一个ImageView,显示用户头像;一个下拉框,显示用户的姓名列表信息,默认两个用户,下拉选择后更新用户头像,并显示年龄和身高在头像下面;三个输入框,输入姓名、年龄,身高;一个添加按钮,点击添加按钮后,把新增的用户添加
- 【软件系统架构】系列四:设备驱动与板级支持包(BSP)
34号树洞
自学软件系统架构系统架构php开发语言
目录1.设备驱动是什么?核心功能:关键特性2.板级支持包是什么?核心组成与功能:关键特性3.系统启动流程中的协作4.设备驱动与BSP的关系与区别5.重要性6.开发实践总结核心目标:让操作系统/应用程序能够透明地、高效地使用硬件资源。1.设备驱动是什么?设备驱动是一段软件代码(通常是内核模块或在某些RTOS中作为任务)。它的核心职责是充当特定硬件设备与操作系统内核或应用程序之间的翻译官和控制器。它直
- Linux 启动过程流程图--ARM版
进击的程序汪
linuxarm开发运维
以下是ARM版本Linux启动过程的超详细树状图,涵盖硬件上电到应用程序交互的全流程,并包含关键函数调用链及源码位置,适用于系统开发与调试场景:ARMLinux启动全流程(含函数调用链)ARMLinux启动流程(函数级调用链)│├───**1.硬件上电与BootROM阶段**│││├───硬件复位与初始化││├───CPU进入Reset异常向量(ARM异常向量表基址0x0或0xffff0000)│
- 从零开始学Linux:系统架构全解析
程序员弘羽
Linux系统编程linux
目录一、什么是Linux?简介核心特点:二、Linux的基本组成结构1.内核(Kernel)示例:查看当前内核版本2.Shell命令解释器示例:查看当前使用的Shell3.文件系统结构(FilesystemHierarchyStandard,FHS)常见目录及其用途:示例:查看目录结构4.用户与权限管理用户类型:权限分类:示例:查看文件权限三、Linux启动流程概述启动流程简图(知识树状流程图):
- Spring Boot加载与Bean处理的细节剖析
一)SpringBoot启动的核心流程SpringBoot的启动流程主要集中在SpringApplication#run方法中。该方法通过一系列监听器(SpringApplicationRunListener)来追踪启动过程中的各个阶段,包括加载配置文件、初始化上下文、实例化Bean等。以下是SpringBoot启动流程的详细步骤:创建SpringApplication实例:SpringAppli
- docker-compose编排saleor
obboda
运维docker容器运维
一、saleor简介Saleor是一个开源Headless电商系统Saleor,它被用于电子商务等场景。Saleor是现代堆栈上以客户为中心的电子商务。是一个无头的GraphQL商务平台,提供超快速、动态、个性化的购物体验。美观的在线商店,任何地方,任何设备。二、saleor的默认启动流程1、拉取存储库gitclonehttps://github.com/saleor/saleor-platfor
- PostgreSQL连接池监控与优化:pg_stat_activity详解及连接阻塞排查指南
1.引言PostgreSQL是一款功能强大的开源关系型数据库,广泛应用于各类企业级应用。在高并发场景下,数据库连接池的管理和监控至关重要。如果连接池使用不当,可能会导致连接泄漏、阻塞甚至数据库崩溃。本文将详细介绍如何使用pg_stat_activity监控PostgreSQL连接状态,并针对连接卡住、阻塞等问题提供解决方案。2.使用pg_stat_activity监控连接状态pg_stat_act
- 【Android】使用ViewTreeLifecycleOwner获取Lifecycle
fundroid
KotlinAndroidAndroidLifecycleKTX
ViewTreeLifecycleOwner是什么?ViewTreeLifecycleOwner是LifecycleKTX中提供的View的一个扩展方法,可以快速地获取一个最近的Fragment或者Activity的LifecycleOwner。view.findViewTreeLifecycleOwner()实现原理?ComponentActivity通过ViewTreeLifecycleOwn
- 深入解析u-boot-1.1.6源码与应用
kdbshi
本文还有配套的精品资源,点击获取简介:u-boot-1.1.6是一款重要的开源引导加载程序,广泛应用于嵌入式系统。本文对u-boot-1.1.6版本源码进行深入剖析,帮助读者理解其工作原理、主要功能及关键模块。内容涉及u-boot简介、源码结构、启动流程、关键功能、学习与调试方法,并总结了其在嵌入式系统中的重要性。本文旨在通过细致研究源码,提升开发者对嵌入式系统的理解与应用能力。1.u-boot概
- vscode添加源文件_VSCode源码自定义笔记-VSCode启动流程分析
weixin_39559079
vscode添加源文件
从开始到窗口加载与所有的Electron应用一样,入口点在package.json文件中定义。"main":"./out/main",说明了入口文件在out/main.js.这个是编译出来的文件,源文件在src/main.js。注意对于TS文件,由于有sourcemap的映射,我们在ts中打断点就可以跳转过来。这里的js应该是编译时候直接拷贝到out目录下的,我们在src下面的文件打断点无效,应该
- android stdio 工程问题
盼雨落,等风起
androidstdioandroid
在Android工程中的应用的启动入口Android应用的主入口由AndroidManifest.xml中配置了MAIN+LAUNCHER的Activity决定。开发者只需两步:创建Activity并重写onCreate()方法;在Manifest中正确声明其。任何入口变更都需同步修改Manifest,避免冲突或启动失败。一、核心机制:AndroidManifest.xml的配置Android应用
- 【小米App】AndroidStudio开发打开指定网站的应用示例
Botiway
移动APPwindowskotlinandroidstudiolinuxpython
AndroidStudio开发打开指定网站的应用示例下面我将为你展示如何使用AndroidStudio创建一个简单的应用,点击按钮后打开指定的网站。1.创建新项目打开AndroidStudio选择“StartanewAndroidStudioproject”选择“EmptyActivity”模板设置项目名称(如“OpenWebsiteApp”)、包名和保存位置选择语言(Kotlin或Java,本示
- 车载软件架构 --- SOC具备安卓系统ECU完整启动流程
汽车电子实验室
车辆信息安全汽车行业androidECU完整启动流程SOC具备安卓系统c++
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧!旧人不知我近况,新人不知我过往,近况不该旧人知,过往不与新人讲。纵你阅人何其多,再无一人恰似我。时间不知不觉中,来到新的一年。2025开始新的忙碌。成年人的我也不知道去哪里渡
- ztree设置禁用节点
3213213333332132
JavaScriptztreejsonsetDisabledNodeAjax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
- JVM patch by Taobao
bookjovi
javaHotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
- 将session存储到数据库中
dcj3sjt126com
sqlPHPsession
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
- Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
- 各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
- [简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
- struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
- IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
- String,int,Integer,char 几个类型常见转换
antonyup_2006
htmlsql.net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
- PL/SQL的游标类型
百合不是茶
显示游标(静态游标)隐式游标游标的更新和删除%rowtyperef游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
- 精通Oracle10编程SQL(12)开发包
bijian1013
oracle数据库plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
- 【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
javaeclipsespringtomcatWeb
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
- angular.element
boyitech
AngularJSAngularJS APIangular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
- java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
- sftp 异常,有遇到的吗?求解
Chen.H
javajcraftauthjschjschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
- [生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
- 通过LAC和CID获取经纬度信息
dai_lm
laccid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
- JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第二课
dcj3sjt126com
englishword
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
- linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
- Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环Map迭代Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
- Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
- Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
- 学习编程那点事
lampcy
编程androidPHPhtml5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- 架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
- org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$转义el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
- 用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
- 探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str