- AndResGuard使用
CurtainSystem
androidandroidstudio
1、简介AndResGuard是一个帮助你缩小APK大小的工具,他的原理类似JavaProguard,但是只针对资源。他会将原本冗长的资源路径变短,例如将res/drawable/wechat变为r/d/a。AndResGuard不涉及编译过程,只需输入一个apk(无论签名与否,debug版,release版均可,在处理过程中会直接将原签名删除),可得到一个实现资源混淆后的apk(若在配置文件中输
- Android阴影效果的艺术与实现:从入门到精通
大模型大数据攻城狮
android安卓动画canvaspaintandroid阴影安卓面试android面经
目录1.阴影的本质:为什么它对UI如此重要?2.深入MaterialDesign:理解Z轴与阴影层次3.兼容老版本:用Drawable实现阴影4.高级技巧:自定义OutlineProvider5.用Canvas绘制自定义阴影:解锁无限可能6.阴影性能优化:让丝滑体验飞起来7.JetpackCompose中的阴影实现:拥抱现代化8.动态阴影动画:打造炫酷交互效果9.RecyclerView中的阴影实
- Android 14.0 默认壁纸不好看,客户要换成他们喜欢的壁纸,Android 14.0 更换默认壁纸的方法
zzq1996
android
Android14.0默认壁纸不好看,客户要换成他们喜欢的壁纸,Android14.0更换默认壁纸的方法替换如下framework路径的壁纸图片。diff--gita/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.pngb//frameworks/base/core/res/res/drawable-nodpi/defa
- 一个滑块可变色的Seekbar
白水景东
gitee
因项目需要,做一个如下图的滑动条,要求如下:1、滑块跟着进度条改变颜色2、滑块有白色边和内部颜色组成大体思路,就是背景需要UI按照需求提供,然后变色时,根据滑动回调动态设置对应的颜色。直接上代码xml里面的布局使用到的stylefalse@drawable/atmosphere_thumb_bg@drawable/bg_color_palette@android:drawable/progress
- Android应用:深度解析资源管理与实战开发drawable资源详解(计算机器)
Android洋芋
经验历程Android开发资源管理矢量图标UI设计布局优化图形资源
简介本文将带领读者从零开始构建一个完整的Android应用,重点解析res/drawable/目录中的资源管理策略,并结合企业级开发实战案例,手把手教学如何通过代码示例和UI设计优化打造高质量应用。文章涵盖项目搭建、资源解析、功能实现、性能优化及发布全流程,适合开发者进阶学习。一、项目搭建与资源初始化1.创建Android项目通过AndroidStudio创建新项目,选择EmptyActivity
- java 生成 imageview,android 动态创建imageView,拖动imageView到任意位置
android动态创建imageView,拖动imageView到任意位置(android2.1工程)运行结果如图:这里只实现R.drawable.light对象的拖动,其他对象操作方法一样:.XML文件xmlns:tools="http://schemas.android.com/tools"android:id="@+id/root"android:layout_width="fill_par
- Android自定义按钮点击效果
kenkaneki
Androidandroidandroidstudio
android自定义按钮点击效果1.Android设置按钮的点击图片效果1)在androidstudio平台下,drawable目录下拷入两张.9图,一张作为点击前的图片,另一张作为点击后的图片,例如:红色为点击前的图片,黄色为点击后的图片。2)drawable目录下新建一个btn_seletor://当该按钮按下时,使用红色的图片//当该按钮正常时,使用黄色的图片3)在按钮的布局文件中加入一个b
- iOS使用Metal对采集视频进行渲染
Unlimitedz
app开发ios音视频
首先对于每一帧的采集成功后,都会有一个闭包回调,然后调用renderPixelBuffer再看renderPixelBuffer的实现会调用draw方法//MARK:-MTKViewDelegateextensionKFMetalView:MTKViewDelegate{funcmtkView(_view:MTKView,drawableSizeWillChangesize:CGSize){vie
- 【X11】_Window/WindowRec结构体记录
XiLong Liu
Linux图形图像子系统linuxx11XWayland
ypedefstruct_Window{DrawableRecdrawable;/*绘制窗口的Drawable对象*/PrivateRec*devPrivates;/*指向私有数据的指针*/WindowPtrparent;/*祖先链*/WindowPtrnextSib;/*下一个较低级别的兄弟窗口*/WindowPtrprevSib;/*上一个较高级别的兄弟窗口*/WindowPtrfirstCh
- 第二章:Android UI组件介绍
JackHCC
Android:移动端开发指南android
基本UI组件TextView(文本框)1.常用属性:text,textSize(单位sp),textColors,singleLine;EditText(输入框)1.常用属性:hint,inputType,drawableLeft(插入图片),drawablePadding;2.常用方法:getText();Button(按钮)与ImageButton(图像按钮)1.常用属性:text,onCli
- flutter 配置 安卓、Ios启动图
初遇你时动了情
flutterflutterandroidios
android配置启动图launch_background.xml-->注意:这里在drawable和drawable-v21目录中的两个文件都需要更换android:gravity=“fill”就是铺满,android:gravity=“center”,图片居中,通常用于logo+纯色背景AndroidManifest.xmlandroid:theme=“@style/LaunchTheme”如
- cadlib实现读取写入绘制dfx文件
jllllyuz
cadlib
读取:定义DxfModel类型的变量model,使用DxfReader或DwgReader的Read(String)读取dxf或dwg格式的CAD文件filename。显示:使用GIDGraphics3D类来显示CAD文件,基本步骤:1、使用CreateDrawables(DxfModel)创建中间可绘制对象(点/线/折线)。2、使用BoundingBox(Bounds3D)方法获取boundin
- android中xml文件的使用详解
2401_84545700
程序员androidxml
if(条件1){image.setBackground(R.id.xxx1);}elseif(条件2){image.setBackground(R.id.xxx2);}或者可以用另一个简便的方法实现相同的功能,在res/drawable下建立一个xml文件,内容如下然后在layout中把imageview的src设置成已创建好的xml文件,程序中变换图片时,只需要使用imageview.getDr
- Android 实现一个隐私弹窗
柯南二号
Androidandroid
效果图如下:1.设置同意、退出、点击用户协议、点击隐私协议的函数参数2.《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/layout/dialog_privacy_policy.xml文件res/drawable/bg_dialog_rounded.xml文件res/drawable/bg_button_outline.xml文件res/drawable/bg_button_pr
- [Android 15] 在GlobalActionsDialog 中新增项目
冬田里的一把火3
androidgitee
需求:在Power菜单弹出的对话框中新增“Volume/Shipmode/Suspend”1.新增ship_mode和suspend图标资源frameworks/base/core/res/res/drawable/ic_ship_mode.xml/frameworks/base/core/res/res/drawable/ic_suspend.xml2.frameworks/base/core/
- Android开发,实现一个简约又好看的登录页
浩宇软件开发
androidandroidstudioAndroid开发java
文章目录1.编写布局文件2.设计要点说明3.效果图4.关于作者其它项目视频教程介绍1.编写布局文件编写activity.login.xml布局文件在res/drawable创建顶部渐变背景gradient_background5.xml在res/drawable创建登录按钮背景gradient_background4.xml在res/drawable创建登录区域背景img_shape_login_
- android Bitmap总结
weixin_30772261
移动开发
位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。按照对位图的操作,分为以下几个功能分别介绍:从资源中获取位图获取位图的信息显示位图位图缩放位图旋转1.从资源中获取位图在前一篇幅介绍了:先获取Resource,然后可以通过资源ID获取Drawable,也可以通过资源ID获取资源文件的数据流。使用第一种方法比较容易,下面详细说明第二种方法。通过Resource的函数:InputS
- Android实现加载动画(附带源码)
Katie。
Android实战项目android
一、项目介绍1.背景与动机在现代移动应用中,加载动画不仅能向用户传达“正在努力加载中”的信号,缓解等待焦虑,还能通过视觉效果提升品牌识别度与用户体验。无论是网络请求、复杂计算、还是页面过渡,都离不开加载状态的优雅表达。本项目旨在演示如何在Android中从零实现多种常见的加载动画:系统原生ProgressBar:基于indeterminateDrawable的自定义风格属性动画:通过ObjectA
- Android 学习实例 Note笔记本
Rindia
Android实例学习参考Android
//学了个Android每年都要做个实例真是辛苦,现在贴个代码放这里看看xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/bg_sky"android:
- android canvas光晕绘制_Android Canvas绘图详解
周小囧
androidcanvas光晕绘制
Android中使用图形处理引擎,2D部分是androidSDK内部自己提供,3D部分是用OpenGLES1.0大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图形处理相关的:Canvas、ColorFilter、Point(点)和RetcF(矩形)等,还有一些动画相关的:AnimationDrawable、Bitmap
- Android: gradient 使用
stevenzqzq
android
在Android中使用gradient(渐变)通常是通过drawable文件来设置背景。下面是可以直接用的几种用法汇总,包括线性渐变、径向渐变、扫描渐变(sweep)等:✅1.LinearGradient(线性渐变)angle取值范围:0~360,表示渐变方向(0为从上往下,90为从左往右)。✅2.RadialGradient(径向渐变)centerX/Y:百分比(0.5表示中心)gradient
- Android——SQLite数据库使用详解,安卓开发面试基础
2401_84002771
2024年程序员学习数据库androidsqlite
edit_style.xml文本框样式:activity_main.xml登录页面:<EditTextandroid:id=“@+id/password”android:layout_width=“match_parent”android:layout_height=“wrap_content”android:background=“@drawable/edit_style”andr
- 安卓学习笔记21:常用控件 - 列表视图
酒城译痴无心剑
移动应用开发android列表视图
文章目录零、学习目标一、列表视图概述(一)继承关系图(二)列表视图四要素(三)四种适配器二、基于数组适配器使用列表视图案例——阅读古诗(一)数组适配器(二)运行效果(三)涉及知识点(四)实现步骤1、创建安卓应用【ReadAncientPoetry】2、将背景图片拷贝到drawable目录3、布局资源文件activity_main.xml4、诗歌列表项模板poem_list_item.xml5、字符
- osg自学笔记1——《OpenSceneGraph 快速入门指导》
jean7155
osg
这里写自定义目录标题《OpenSceneGraphQuickStartGuide》学习笔记1、1.3运行osgviewer2、1.5场景图形初步3、1.6OpenSceneGraph概览4、2.1内存管理5、2.2叶节点(Geode)和几何信息1、osg::Vec2,osg::Vec2Array,osg::Vec3Array2、Drawables类3、叶节点(Geode)6、2.3组节点(Grou
- CloudCompare 中ccDrawableObject 代码解析
点云SLAM
点云数据处理技术CloudCompareDrawableObject点云处理软件点云数据处理OpenGL3D可视化c++
CloudCompareccDrawableObject代码解析1.ccDrawableObject的作用ccDrawableObject是CloudCompare中所有可绘制3D对象的基类,它提供了一套通用接口用于管理可视化属性(如可见性、颜色、法向量、标量字段、材质、OpenGL变换、裁剪平面等)。CloudCompare的点云、网格、线段等3D对象类都继承自ccDrawableObject,
- Android 13.0 关于定制自适应AdaptiveIconDrawable类型的动态时钟图标的功能实现系列一
安卓兼职framework应用工程师
android13.0Rom定制化系列讲解androidromlauncher3动态时钟自定义时钟图标
1.前言在13.0的系统rom定制化开发中,在关于定制动态时钟图标中,原系统是不支持动态时钟图标的功能,所以就需要从新定制动态时钟图标关于自适应AdaptiveIconDrawable类型的样式,就是可以支持当改变系统图标样式变化时,动态时钟图标的背景图形也跟着改变,所以接下来就来实现相关的功能具体效果如图:2.关于定制自适应AdaptiveIconDrawable类型的动态时钟图标的功能实现的系
- 修改Android系统默认桌面壁纸
七个橘子多少钱
Android系统定制android
frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg找到这个路径下的文件直接替换
- Android 13 替换默认壁纸
大秦樗里疾
AndroidAndoridROMandroidWallPaper
Android13替换默认壁纸,替换如下图片即可,frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.pngframeworks/base/core/res/res/drawable-nodpi/default_wallpaper.pngframeworks/base/core/res/res/drawable
- 开源框架--Glide源码阅读下
Bonnie_cat
开源glide
接上半部分开源框架–Glide源码阅读上,我们接着看Glide源码的with和load。3.源码阅读3.2load上半部分分析知道了with()方法返回的是RequestManager,下面看RequestManager的load()方法,@OverridepublicRequestBuilderload(@NullableStringstring){returnasDrawable().load
- 鸿蒙 @ohos.arkui.drawableDescriptor (DrawableDescriptor)
淼学派对
harmonyos华为
鸿蒙@ohos.arkui.drawableDescriptor(DrawableDescriptor)在鸿蒙开发中,@ohos.arkui.drawableDescriptor模块提供了一种强大的方式来处理图片资源,包括普通图片和分层图片(LayeredDrawableDescriptor)。通过这个模块,开发者可以获取图片的PixelMap,并对其进行裁剪、融合等操作。一、模块功能概述@oho
- Nginx负载均衡
510888780
nginx应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
- RedHat 6.4 安装 rabbitmq
bylijinnan
erlangrabbitmqredhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
- FilenameUtils工具类
eksliang
FilenameUtilscommon-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
- 通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
- 如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
- spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
- 用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
- 1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
- 浅谈java转成json编码格式技术
百合不是茶
json编码java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
- web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
javaweb.xmlSSIspring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
- Installing SonarQube(Fail to download libraries from server)
sunjing
InstallSonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
- 【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
- Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
- Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
- 编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
- lunce创建索引及简单查询
chengxuyuancsdn
查询创建索引lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
- [IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
- flashback transaction闪回事务查询
daizj
oraclesql闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
- Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
- C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
- 今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
- 单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
- Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
- 公司项目NODEJS实践0.1
逐行分析JS源代码
mongodbnginxubuntunodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
- java.lang.Math
liuhaibo_ljf
javaMathlang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
- linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
- ZooKeeper3.4.6的集群部署
roadrunners
zookeeper集群部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
- Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
- 微信支付api返回的xml转换为Map的方法
xu3508620
xmlmap微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><