首页 文章 精选 留言 我的

精选列表

搜索[文档识别],共10000篇文章
优秀的个人博客,低调大师

Redisson官方文档 - 3. 程序接口调用方式

Redisson为每个操作都提供了自动重试策略,当某个命令执行失败时,Redisson会自动进行重试。自动重试策略可以通过修改retryAttempts(默认值:3)参数和retryInterval(默认值:1000毫秒)参数来进行优化调整。当等待时间达到retryInterval指定的时间间隔以后,将自动重试下一次。全部重试失败以后将抛出错误。 Redisson实例本身和Redisson框架提供的所有对象都是线程安全的。 Redisson框架提供的几乎所有对象都包含了同步和异步相互匹配的方法。这些对象都可以通过RedissonClient接口获取。同时还为大部分Redisson对象提供了满足异步流处理标准的程序接口RedissonReactiveClient。 以下是关于使用RAtomicLong对象的范例: RedissonClient client = Redisson.create(config); RAtomicLong longObject = client.getAtomicLong('myLong'); // 同步执行方式 longObject.compareAndSet(3, 401); // 异步执行方式 longObject.compareAndSetAsync(3, 401); RedissonReactiveClient client = Redisson.createReactive(config); RAtomicLongReactive longObject = client.getAtomicLong('myLong'); // 异步流执行方式 longObject.compareAndSet(3, 401); 3.1. 异步执行方式 几乎所有的Redisson对象都实现了一个异步接口,异步接口提供的方法名称与其同步接口的方法名称相互匹配。例如: // RAtomicLong接口继承了RAtomicLongAsync接口 RAtomicLongAsync longObject = client.getAtomicLong("myLong"); RFuture<Boolean> future = longObject.compareAndSetAsync(1, 401); 异步执行的方法都会返回一个实现了RFuture接口的对象。通过向这个对象添加监听器可以实现非阻塞的执行方式。 // JDK 1.8+ 适用 future.whenComplete((res, exception) -> { // ... }); // 或者 future.thenAccept(res -> { // 处理返回 }).exceptionally(exception -> { // 处理错误 }); // JDK 1.6+ 适用 future.addListener(new FutureListener<Boolean>() { @Override public void operationComplete(Future<Boolean> future) throws Exception { if (future.isSuccess()) { // 取得结果 Boolean result = future.getNow(); // ... } else { // 对发生错误的处理 Throwable cause = future.cause(); } } }); 3.2. 异步流执行方式 Redisson提供了满足Reactor项目的异步流处理标准的程序接口。所有Redisson异步流对象都可以通过一个单独的RedissonReactiveClient接口来获取。该功能要求JDK 7或以上版本。使用范例如下: RedissonReactiveClient client = Redisson.createReactive(config); RAtomicLongReactive longObject = client.getAtomicLong("myLong"); Publisher<Boolean> csPublisher = longObject.compareAndSet(10, 91); Publisher<Long> getPublisher = longObject.get(); 也可以在RxJavaReactiveStreams项目的帮助下,通过使用RxJava标准来达到使用异步流处理标准的目的。例如: RMap<String, Integer> map = client.getMap("mapMap"); Observable<Integer> observable = RxReactiveStreams.toObservable(map.put("1", 324));

优秀的个人博客,低调大师

CentOS 6.x + Apache+ PHP + MySQL + EduSoho[文档]

版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396619 参考:http://www.qiqiuyu.com/course/20/task/796/show切记:我们的edusoho访问目录是edusoho/web,只有在nginx或者Apache配置里面把根目录定位到web目录下,才不会出现奇怪的问题,否则就会出现图片不能显示或者文件无法上传的问题。 1、更新第三方源并升级系统 1.1、安装CentOS第三方yum源 #安装下载工具wget yum install wget #下载atomic yum源 wget http://www.atomicorp.com/installers/atomic #安装 sh ./atomic 1.2、升级CentOS系统 #更新yum软件包yum check-update #更新系统 yum update 2、安装和配置Apache 2.1、安装Apache #安装apache yum install httpd #编辑apache配置文件, vi /etc/httpd/conf/httpd.conf 在httpd.conf结尾添加如下配置: <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/html/edusoho/web <Directory /var/www/html/edusoho/web> # enable the .htaccess rewrites AllowOverride All Order allow,deny Allow from All </Directory> ErrorLog /var/log/httpd/edusoho_error.log CustomLog /var/log/httpd/edusoho_access.log combined </VirtualHost> #重启一下apache service httpd restart 3、安装和配置PHP 3.1、配置安装包源 rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 3.2、安装PHP和相关插件 yum install -y php55w php55w-cli php55w-curl php55w-fpm php55w-intl php55w-mcrypt php55w-mysql php55w-gd php55w-mbstring php55w-xml php55w-dom 3.3、修改PHP配置 #编辑php.ini , 将以下配置的值修改为1024M vi /etc/php.ini post_max_size = 1024M memory_limit = 1024M upload_max_filesize = 1024M 3.4、配置PHP-FPM #启动php-fpm /etc/rc.d/init.d/php-fpm start #设置开机启动 chkconfig php-fpm on 4、安装MySql和创建EduSoho数据库 4.1、安装MySql yum install mysql mysql-server #启动MySQL /etc/init.d/mysqld start #设为开机启动 chkconfig mysqld on #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可) cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 备注:默认安装结束,mysql的root密码为空 4.2、创建EduSoho数据库 #登录数据库 mysql -uroot -p #输入: CREATE DATABASE edusoho DEFAULT CHARACTER SET utf8 ; GRANT ALL PRIVILEGES ON `edusoho`.* TO 'esuser'@'localhost' IDENTIFIED BY 'edusoho'; quit; 注意:这里为edusoho数据库创建了一个用户名, 用户名为:esuser, 密码为edusoho, 在后面安装的第三步需要用到, 不建议直接填写root账户。 5、下载和解压EduSoho cd /var/www/html wget http://download.edusoho.com/edusoho-Version.tar.gz (注:将VERSION替换为当前EduSoho最新版本号,可从官网www.edusoho.com查询获取) tar -zxvf edusoho-Version.tar.gz chown apache:apache edusoho/ -Rf 6、安装和配置防火墙 #配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables #(允许80端口通过防火墙) -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #(允许3306端口通过防火墙) -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 保存后重启防火墙: /etc/init.d/iptables restart #重启防火墙使配置生效 关闭SELinux: 临时关闭,在命令行输入:setenforce 0 修改配置文件: sudo vi /etc/selinux/config SELINUX=enforcing改为: SELINUX=disabled 使用浏览器访问:example.com 就可以看到edusoho的安装了,备注:1、实际安装中,请将example.com替换成自己域名。如果您的服务器是公网ip,请在之前解析域名,将域名指定到ip。2、安装第二步,如果数据库链接不上,将数据库服务器改成localhost即可(或者在命令行输入:/usr/sbin/setenforce 0 关闭SELINUX即可)3、在edusoho的配置文件里,一定要把目录定位到edusoho/web目录下,只定位到edusoho目录会出现错误,请用户注意4、视频上传限制问题请访问 http://www.qiqiuyu.com/course/125/learn#lesson/163

优秀的个人博客,低调大师

【IBM Tivoli Identity Manager 学习文档】3 系统部署

ITIM 5.0 单服务器配置和部署。 部署ITIM之前要对其组件进行部署: IBM DB2 Enterprise 9.1 with FP2 IBM WebSphere Application Server 6.1 with FP9 IBM Tivoli Directory Server 6.2 IBM Tivoli Directory Integrator 6.1 我们安装系统的软硬件环境是: 地点:某公司 G3/G4机房。两台IBM的台式PC。 1.IP:9.123.108.101 Red Hat Enterprise Linux AS release 4 (Nahant Update 7) MemTotal: 513732 kB SwapTotal: 1048568 kB processor : 1 vendor_id : GenuineIntel model name : Intel(R) Pentium(R) 4 CPU 3.20GHz cpu MHz : 3201.973 cache size : 1024 KB 这台安装 IBM DB2 Enterprise 9.1 with FP2 IBM Tivoli Directory Server 6.2 2.IP:9.123.108.19 Red Hat Enterprise Linux AS release 4 (Nahant Update 4) MemTotal: 2063944 kB SwapTotal: 2031608 kB processor : 1 vendor_id : GenuineIntel model name : Intel(R) Pentium(R) D CPU 2.80GHz cpu MHz : 2793.843 cache size : 1024 KB 这台我们安装 IBM WebSphere Application Server 6.1 with FP9 ITIM 5.0 Fix Pack 3 首先进行DB2的安装配置: 1.运行安装程序: 选择Install a Product,然后按Install New。 在接受完协议后,选择典型安装,随后选择第一个选项,如下图: 进一步,选择安装路径,我们使用默认的路径/opt/ibm/db2/V9.1 然后我们新建一个对DB2 Adminstrator Server进行管理的用户,设定其密码: 选择创建一个DB2实例,并且使用单分区实例,并且设置DB2实例拥有者的信息: 设置保护用户的信息 第11步使用默认的,第十二步不安装DB2提醒。然后点击Finished。 然后就开始安装了: 安装完毕后在Terminal下验证安装是否成功: $su - db2inst1 $db2level 显示如下信息就是正确的了: DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL09010" with level identifier "02010107". Informational tokens are "DB2 v9.1.0.0", "s060629", "LINUXIA32", and Fix Pack "0". Product is installed at "/opt/ibm/db2/V9.1". 2.安装IBM DB2 Enterprise 9.1 Fixpack 2 首先关闭DB2实例和服务器: $su - db2inst1 $. /home/db2inst1/sqllib/db2profile $db2 terminate $db2stop 停止DAS的活动: $su - dasusr1 $. /home/dasusr1/das/dasprofile $db2admin stop 停止保护用户的活动: $su $. /home/db2inst1/sqllib/db2profile $cd /opt/ibm/db2/V9.1/bin $db2fmcu -d $db2fm -d 用grep查看关于db2的进程,没有一个就是对了。 看到所有停止的命令都是successfully就可以安装Fix Pack2了。 安装完毕后查看db2,发现Fix Pack2已经安装上了: 然后安装Tivoli Directory Server 6.2 1.运行安装脚本: 选择安装语言为English. 接受协议后选择自定义安装(Custom)。去掉TDI,稍后我们会另外安装。指定WAS目录时,选择稍后指定。 2.关闭配置工具 在安装完毕后可能会出现配置工具,我们在初次部署时暂时不用,请关闭。 接着部署WAS6.1 1.设置root的umask为0022: 用命令umask查看当前umask的值。 2.确保以下四个包的安装: compat-libstdc++-33-3.2.3-47.3 compat-db-4.1.25-9 xorg-x11-deprecated-libs-6.8.1 or xorg-x11-deprecated-libs-6.8.2 rpm-build-4.3.3-18.nonptl 用命令rpm -pa|grep XXXX检查 3.下载安装包: 在IBM内网中下载以下安装包: WebSphere Application Server V6.1 for Linux on x86Series, 32-bit Support German English International Spanish French Italian Japanese Korean Portuguese Brazilian Chinese Simplified Chinese Traditional (C87QXML) 4.开始安装: 运行launchpad.sh,然后选择“Launch the installation wizard for WebSphere Application Server” 进行安装。一直next就可以了(注意在选择安装类型时选择Application Server)。 然后在以下选项中选择第一个 5.安装IBM HTTP Server 我们暂时不配置Administration Server及其Authentication,在Plug-in里面进行如下配置: 6.安装IBM WebSphere Application Server 6.1 Update Installer 7.安装IBM WebSphere Application Server 6.1 Fixpack 9 和13 注意:在安装WAS 6.1FP9前,必须停掉IBM WebSphere Application Server, IBM HTTP Server, IBM HTTP Administration Server。 停掉服务:/opt/IBM/WebSphere/AppServer/bin/stopServer.sh server1 -username server1 -password XXXXXXX 运行:/opt/IBM/WebSphere/UpdateInstaller/update.sh 在这个地方指定升级的产品: 在这个步骤中指定升级包路径: 若出现CWUPI0026E错误,则说明你的UpdateInstaller版本太久,先删除UpdateInstaller的整个目录,然后再安装新的版本,我装的是7.0 8.启动Server /opt/IBM/WebSphere/AppServer/bin/startServer.sh server1 打开浏览器验证一下: http://localhost:9080/snoop http://localhost:9060/ibm/console 安装IBM Tivoli Directory Integrator 6.1.1 1.运行安装程序 最后我们部署TIM: 1.配置DB2 和 ITDS 6.1的中间件 解压配置中间件的应用程序,运行cfg_itim_mw_xLinux,选择英语 然后选择配置DB2和ITDS的中间件: 它会在DB2和ITDS中创建实例,一般设定密码就好了。 注意在我配置中发觉总是在创建TDS实例的时候失败,后来看了日志发现是默认的程序调用的竟然是V6.0目录中的TDS配置程序,而我安装的TDS是6.2.。。。太不智能了。。。解决方法就是ln -sf V6.2 V6.0就可以了,纯属蒙一下计算机,谁让他耍我。。。 2.安装ITIM 指定WAS,然后一路NEXT后INSTALL。 3.连接数据库 在以上这些需要填写的地方输入你配置中间件的一些信息。 若信息无错,则出现连接正确的提示 随后的配置如下: 大功告成! 4.测试安装结果 http://9.123.101.19:9080/itim/console/main 修改密码即可。 至此ITIM完全部署完毕 然后一步步进行就好了~ 本文转自gnuhpc博客园博客,原文链接:http://www.cnblogs.com/gnuhpc/archive/2012/01/16/2324006.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android2.2 API 中文文档系列(6) —— ImageView

正文 一、结构 java.lang.Object android.view.View android.widget.ImageView 已知直接子类: ImageButton, QuickContactBadge 已知间接子类: ZoomButton 二、类概述 显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。 三、XML属性 属性名称 描述 android:adjustViewBounds 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。 android:cropToPadding 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用,效果如下,实现代码见代码部分: android:maxHeight 设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置: 1)设置setAdjustViewBounds为true; 2)设置maxWidth、MaxHeight; 3)设置设置layout_width和layout_height为wrap_content。 android:maxWidth 设置View的最大宽度。同上。 android:scaleType 设置图片的填充方式。 matrix 0 用矩阵来绘图 fitXY 1 拉伸图片(不按比例)以填充View的宽高 layout_ height :30px layout_ width :120px fitStart 2 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边 fitCenter 3 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间 fitEnd 4 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边 center 5 按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示 layout_ height :60px layout_ width :80px padding :10px centerCrop 6 按比例放大原图直至等于某边View的宽高显示。 centerInside 7 当原图宽高或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。 android:src 设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小) android:tint 将图片渲染成指定的颜色。见下图: 左边为原图,右边为设置后的效果,见后面代码。 四、代码 4.1 android:tint < ImageView android:background ="@android:color/white" android:src ="@drawable/btn_mode_switch_bg" android:layout_width ="wrap_content" android:layout_height ="wrap_content" ></ ImageView > < ImageView android:layout_marginLeft ="5dp" android:background ="@android:color/white" android:tint ="#ffff00" android:src ="@drawable/btn_mode_switch_bg" android:layout_width ="wrap_content" android:layout_height ="wrap_content" ></ ImageView > 4.2 android:cropToPadding < ImageView android:background ="@android:color/white" android:scrollY ="-10px" android:cropToPadding ="true" android:src ="@drawable/btn_mode_switch_bg" android:layout_width ="wrap_content" android:layout_height ="wrap_content" ></ ImageView > < ImageView android:background ="@android:color/white" android:scrollY ="10px" android:cropToPadding ="true" android:src ="@drawable/btn_mode_switch_bg" android:layout_width ="wrap_content" android:layout_height ="wrap_content" ></ ImageView > < ImageView android:paddingTop ="10px" android:background ="@android:color/white" android:scrollY ="10px" android:cropToPadding ="true" android:src ="@drawable/btn_mode_switch_bg" android:layout_width ="wrap_content" android:layout_height ="wrap_content" ></ ImageView > < ImageView android:paddingTop ="10px" android:background ="@android:color/white" android:scrollY ="10px" android:cropToPadding ="false" android:src ="@drawable/btn_mode_switch_bg" android:layout_width ="wrap_content" android:layout_height ="wrap_content" ></ ImageView > 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582712,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android 3.1 r1 中文API文档 (121) —— ResourceCursorTreeAdapter

结构 继承关系 public abstract classtResourceCursorTreeAdapterextendsCursorTreeAdapter java.lang.Object android.widget.BaseExpandableListAdapter android.widget.CursorTreeAdapter android.widget.ResourceCursorTreeAdapter 直接子类 SimpleCursorTreeAdapter 类概述 一个简单的可扩展的ExpandableListAdapter,通过在XML文件来创建views。你可以指定一个定义了views外观的XML文件。 构造函数 publicResourceCursorTreeAdapter(Context context, Cursor cursor, int collapsedGroupLayout, int expandedGroupLayout, int childLayout, int lastChildLayout) 构造函数。 参数 context和正在运行的SimpleListItemFactory关联的ListView的上下文 cursor数据库游标 collapsedGroupLayout定义了收缩组的视图布局文件的资源标识 expandedGroupLayout定义了展开组的视图布局文件的资源标识 childLayout定义了除了最后一个的所有子视图的布局文件的资源标识 lastChildLayout定义了一组中最后一个子视图的布局文件的资源标识 publicResourceCursorTreeAdapter(Context context, Cursor cursor, int collapsedGroupLayout, int expandedGroupLayout, int childLayout) 构造函数。 参数 context和正在运行的SimpleListItemFactory关联的ListView的上下文 cursor数据库游标 collapsedGroupLayout定义了收缩组的视图布局文件的资源标识 expandedGroupLayout定义了展开组的视图布局文件的资源标识 childLayout定义了除了最后一个的所有子视图的布局文件的资源标识 publicResourceCursorTreeAdapter(Context context, Cursor cursor, int groupLayout, int childLayout) 构造函数。 参数 context和正在运行的SimpleListItemFactory关联的ListView的上下文 cursor数据库游标 groupLayout为所有组定义了视图布局文件的资源标识 expandedGroupLayout 定义了展开组的视图布局文件的资源标识 childLayout定义了除了最后一个的所有子视图的布局文件的资源标识 公共方法 protected abstract ViewnewChildView(Context context, Cursor cursor, booleanisLastChild, ViewGroup parent) 创建一个新的子元素视图并持有指向数据的游标cursor。 参数 context应用程序上下文对象 cursor获取数据的游标对象,它已经移动到正确的位置 IsLastChild子元素是否处于组中的最后一个 parent新视图(View)所依附于的父对象。 返回值 新创建的视图 protected abstract ViewnewGroupView(Context context, Cursor cursor, booleanisExpanded, ViewGroup parent) 创建一个新的组视图并持有组中指向数据的游标cursor。 参数 context应用程序上下文对象 cursor获取数据的游标对象,它已经移动到正确的位置 isExpanded该组是否展开状态 parent新视图(View)所依附于的父对象。 返回值 新创建的视图 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582335,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android2.2 API 中文文档系列(9) —— ZoomButton

正文 一、类结构 java.lang.Object android.view.View android.widget.ImageView android.widget.ImageButton android.widget.ZoomButton public class ZoomButton extends ImageButton implements View.OnLongClickListener 二、概述 缩放按钮,实际上是很普通的两个按钮,可以简单的理解为一个ImageButton加上一张缩放的图标。如下代码: 三、公共方法 public boolean dispatchUnhandledMove (View focused, int direction) 对于获得焦点的View,这个方法是捕获箭头事件最后的机会。这就是在获取焦点的View没有在内部处理、系统在要求的方向也不能找到一个新的View让其获得焦点时调用。 参数 focused 当前焦点View direction焦点移动的方向。其中之一:FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT和FOCUS_RIGHT. 返回值 如果为true,将清除这个View未处理的事件。 (注:从源码中可看出ZoomButton覆盖了父类的该方法,在super之前调用了一下clearFocus,如下代码: public boolean onKeyUp (int keyCode, KeyEvent event) 默认实现至KeyEvent.Callback.onKeyMultiple():当点击执行时KEYCODE_DPAD_CENTER或KEYCODE_ENTER被释放。 参数 keyCode按下按钮代表的键值,属于KeyEvent (注:KeyEvent的静态属性)。 event 该KeyEvent对象,定义按钮动作 返回值 如果您处理这一事件中,返回true。如果你想允许事件被下一个接收器处理,返回false。 public boolean onLongClick (View v) 当一个View被长按时调用。 参数 v 被长按的View。 返回值 如果返回true,这个回调在长按时被执行了,反之返回false. public boolean onTouchEvent (MotionEvent event) 实现这个方法处理触摸屏移动事件。 参数 event 该移动事件. 返回值 如果是true,该事件是触摸,反之返回false。 public void setEnabled (boolean enabled) 设置这个View启用状态。 参数 enabled设置true表示启用,反之表示禁用。 public void setZoomSpeed (long speed) (注:单独使用无实际意义,可以用来存放临时数据) 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582701,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android2.2 API 中文文档系列(5) —— View

正文 一、结构 java.lang.Object android.view.View 已知直接子类: AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView,TextView, ViewGroup, ViewStub 已知间接子类: AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView<T extends Adapter>, AppWidgetHostView, AutoCompleteTextView, Button, CheckBox, CheckedTextView, Chronometer, CompoundButton, DatePicker, DialerFilter, DigitalClock,EditText, ExpandableListView, ExtractEditText, FrameLayout, GLSurfaceView, Gallery, GestureOverlayView, GridView, HorizontalScrollView, ImageButton, ImageSwitcher, LinearLayout, ListView, MediaController, MultiAutoCompleteTextView, QuickContactBadge, RadioButton, RadioGroup, RatingBar, RelativeLayout, ScrollView, SeekBar, SlidingDrawer, Spinner, TabHost, TabWidget, TableLayout, TableRow, TextSwitcher, TimePicker, ToggleButton, TwoLineListItem, VideoView, ViewAnimator, ViewFlipper, ViewSwitcher, WebView, ZoomButton, ZoomControls 二、xml属性 属性名称 描述 android:background 设置背景色/背景图片。可以通过以下两种方法设置背景为透明:"@android:color/transparent"和"@null"。注意TextView默认是透明的,不用写此属性,但是Buttom/ImageButton/ImageView想透明的话就得写这个属性了。 android:clickable 是否响应点击事件。 android:contentDescription 设置View的备注说明,作为一种辅助功能提供,为一些没有文字描述的View提供说明,如ImageButton。这里在界面上不会有效果,自己在程序中控制,可临时放一点字符串数据。 android:drawingCacheQuality 设置绘图时半透明质量。有以下值可设置:auto(默认,由框架决定)/high(高质量,使用较高的颜色深度,消耗更多的内存/low(低质量,使用较低的颜色深度,但是用更少的内存)。 android:duplicateParentState 如果设置此属性,将直接从父容器中获取绘图状态(光标,按下等)。见下面代码部分,注意根据目前测试情况仅仅是获取绘图状态,而没有获取事件,也就是你点一下LinearLayout时Button有被点击的效果,但是不执行点击事件。 android:fadingEdge 设置拉滚动条时,边框渐变的放向。none(边框颜色不变),horizontal(水平方向颜色变淡),vertical(垂直方向颜色变淡)。参照fadingEdgeLength的效果图 android:fadingEdgeLength 设置边框渐变的长度。 android:fitsSystemWindows 设置布局调整时是否考虑系统窗口(如状态栏) android:focusable 设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,需要将这个EditText前面的focusable都设置为false才行。在Touch模式下获取焦点需要设置focusableInTouchMode为true。 android:focusableInTouchMode 设置在Touch模式下View是否能取得焦点。 android:hapticFeedbackEnabled 设置触感反馈。(译者注:按软键以及进行某些UI交互时振动,暂时不知道用法,大家可以找找performHapticFeedback或HapticFeedback这个关键字的资料看看。) android:id 给当前View设置一个在当前layout.xml中的唯一编号,可以通过调用View.findViewById()或Activity.findViewById()根据这个编号查找到对应的View。不同的layout.xml之间定义相同的id不会冲突。格式如”@+id/btnName” android:isScrollContainer 设置当前View为滚动容器。这里没有测试出效果来,ListView/ GridView/ ScrollView根本就不用设置这个属性,而EdidText设置android:scrollbars也能出滚动条。 android:keepScreenOn View在可见的情况下是否保持唤醒状态。常在LinearLayout使用该属性,但是模拟器这里没有效果。 android:longClickable 设置是否响应长按事件. android:minHeight 设置视图最小高度 android:minWidth 设置视图最小宽度度 android:nextFocusDown 设置下方指定视图获得下一个焦点。焦点移动是基于一个在给定方向查找最近邻居的算法。如果指定视图不存在,移动焦点时将报运行时错误。可以设置imeOptions= actionDone,这样输入完即跳到下一个焦点。 android:nextFocusLeft 设置左边指定视图获得下一个焦点。 android:nextFocusRight 设置右边指定视图获得下一个焦点。 android:nextFocusUp 设置上方指定视图获得下一个焦点。 android:onClick 点击时从上下文中调用指定的方法。这里指定一个方法名称,一般在Activity定义符合如下参数和返回值的函数并将方法名字符串指定为该值即可: public void onClickButton(View view) android:onClick=” onClickButton” android:padding 设置上下左右的边距,以像素为单位填充空白。 android:paddingBottom 设置底部的边距,以像素为单位填充空白。 android:paddingLeft 设置左边的边距,以像素为单位填充空白。 android:paddingRight 设置右边的边距,以像素为单位填充空白。 android:paddingTop 设置上方的边距,以像素为单位填充空白。 android:saveEnabled 设置是否在窗口冻结时(如旋转屏幕)保存View的数据,默认为true,但是前提是你需要设置id才能自动保存,参见这里。 android:scrollX 以像素为单位设置水平方向滚动的的偏移值,在GridView中可看的这个效果。 android:scrollY 以像素为单位设置垂直方向滚动的的偏移值 android:scrollbarAlwaysDraw HorizontalTrack 设置是否始终显示垂直滚动条。这里用ScrollView、ListView测试均没有效果。 android:scrollbarAlwaysDraw VerticalTrack 设置是否始终显示垂直滚动条。这里用ScrollView、ListView测试均没有效果。 android:scrollbarDefault DelayBeforeFade 设置N毫秒后开始淡化,以毫秒为单位。 android:scrollbarFadeDuration 设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android2.2中滚动条滚动完之后会消失,再滚动又会出来,在1.5、1.6版本里面会一直显示着。 android:scrollbarSize 设置滚动条的宽度。 android:scrollbarStyle 设置滚动条的风格和位置。设置值:insideOverlay、insideInset、outsideOverlay、outsideInset。这里没有试出太多效果,以下依次是outsideOverlay与outsideInset效果截图比较: android:scrollbarThumbHorizontal 设置水平滚动条的drawable。 android:scrollbarThumbVertical 设置垂直滚动条的drawable. android:scrollbarTrackHorizontal 设置水平滚动条背景(轨迹)的色drawable android:scrollbarTrackVertical 设置垂直滚动条背景(轨迹)的drawable注意直接 设置颜色值如”android:color/white”将得出很难看的效果, 甚至都不理解这个属性了,这里可以 参见ApiDemos里res/drawable/ scrollbar_vertical_thumb.xml和 scrollbar_vertical_track.xml,设置代码为: android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track" android:scrollbars 设置滚动条显示。none(隐藏),horizontal(水平),vertical(垂直)。见下列代码演示使用该属性让EditText内有滚动条。但是其他容器如LinearLayout设置了但是没有效果。 android:soundEffectsEnabled 设置点击或触摸时是否有声音效果 android:tag 设置一个文本标签。可以通过View.getTag()或for with View.findViewWithTag()检索含有该标签字符串的View。但 一般最好通过ID来查询View,因为它的速度更快,并且允 许编译时类型检查。 android:visibility 设置是否显示View。设置值:visible(默认值,显示),invisible(不显示,但是仍然占用空间),gone (不显示,不占用空间) 四、代码 4.1 android:duplicateParentState < LinearLayout android:clickable ="true" android:background ="#ff0fff" android:layout_width ="100dp" android:layout_height ="100dp" > < Button android:duplicateParentState ="true" android:layout_width ="wrap_content" android:layout_height ="wrap_content" /> </ LinearLayout > 4.2 android:scrollbars < EditText android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:minHeight ="50dp" android:background ="@android:drawable/editbox_background" android:scrollbars ="vertical" android:maxLines ="4" > </ EditText > 五、遗留问题 5.1 以下几个属性翻遍了资料试了很多次都没有效果,只能暂时搁置,以后补上,也欢迎的大家提供意见和线索,分享大家的经验: android:scrollbarAlwaysDrawHorizontalTrack android:scrollbarAlwaysDrawVerticalTrack android:isScrollContainer 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582718,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android2.2 API 中文文档系列(7) —— ImageButton

正文 一、结构 java.lang.Objectandroid.view.Viewandroid.widget.ImageView android.widget.ImageButton 已知直接子类: ZoomButton 二、类摘要 显示一个可以被用户点击的图片按钮,默认情况下,ImageButton看起来像一个普通的按钮,在不同状态(如按下)下改变背景颜色。按钮的图片可用通过<ImageButton> XML元素的android:src属性或setImageResource(int)方法指定。 要删除按钮的背景,可以定义自己的背景图片或设置背景为透明。(注:请看 原图和图片按钮,默认图片周围有按钮的背景,选中之后为黄色) 为了表示不同的按钮状态(焦点,选择等),你可以为各种状态定义不同的图片。例如,定义蓝色图片为默认图片,黄色图片为获取时焦点时显示的图片,黄色图片为按钮被按下时显示的图片。一个简单的方法可以做到这点——通过XML的"selector."配置,如下: 保存上面的XML到res/drawable/文件夹下(注:注意文件名大小写!),将该文件名作为一个参数设置到ImageButton的android:src属性(注:如xml文件名为myselector.xml,那么这里设置为"@drawable/myselector",设置android:background也是可以的,但效果不太一样)。Android根据按钮的状态改变会自动的去XML中查找相应的图片以显示。 <item>元素的顺序很重要,因为是根据这个顺序判断是否适用于当前按钮状态,这也是为什么正常(默认)状态指定的图片放在最后,是因为它只会在pressed和focused都判断失败之后才会被采用。(注:例如按钮被按下时是同时获得焦点的,但是获得焦点并不一定按了按钮,所以这里会按顺序查找,找到合适的就不往下找了。这里按钮被点击了,那么第一个将被选中,且不再在后面查找其他状态。) 参见Form Stuff tutorial。 三、 继承自父类的方法 public void setAlpha (int alpha) 设置ImageButton图片的透明度(注意不是背景图片的)。效果如图: 参数 alpha 透明值0~255,0为完全透明,255为完全不透明 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582708,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android2.2 API 中文文档系列(3) —— AccessibilityService

正文<!--[endif]--> 一、结构 java.lang.Object android.content.Context android.content.ContextWrapper android.app.Service android.accessibilityservice.AccessibilityService publicabstractclassAccessibilityServiceextendsService 二、类概述 当AccessibilityEvent事件被启动后AccessibilityService会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。一些辅助服务继承于此类并且实现它的抽象方法,像这样的一个服务和其他服务一样在AndroidManifest.xml中被声明但它必须被指定操纵 android.accessibilityservice.AccessibilityService的意图,下面的是一段例子: < service android:name =".MyAccessibilityService" > < intent-filter > < action android:name ="android.accessibilityservice.AccessibilityService" /> </ intent-filter > </ service > 辅助服务的声明周期只能被系统管理,启动或者停止这个服务必须由明确的用户通过启用或停用设备的设定,在系统通过呼叫onServiceConnected()方法与服务绑定后,这个方法才能被想要执行装载的客户端所重载使用,一个辅助服务通过呼叫setServiceInfo(AccessibilityServiceInfo)方法来设定AccessibilityServiceInfo而配置。你可以在任何时候改变这个服务的配置但最好是在重载方法onServiceConnected().中来使用。一个辅助服务可以在特定的包中注册事件以提供特殊的反馈类型并且当最后一个关联的事件被解除的时候发出明确的超时提醒。 三、通告策略 对于每个回馈类型只有一个辅助服务被通知,服务登记处按顺序被通知,因此,如果有两个服务为同一个包中的同一回馈类型注册那么第一个会被通知,然而有可能的是,可以为一个给定的回馈类型去把一个服务注册为默认的,这样的话如果没有其他的服务来取代这个事件这个服务就会被呼出使用,换句话说,默认的服务不会与其他的服务竞争并且不管注册的顺序而被通知。 四、公共方法: abstract void onAccessibilityEvent(AccessibilityEvent event) 回调AccessibilityEvents. 参数 event一个事件 public final IBinder onBind (Intent intent) 实现返回一个内部的辅助接口的实现,子类不能被重写。 参数 intent与服务相绑定的意图,注意其他任何包含在Intent的外部意图将不能在此使用。 返回值 返回一个客户端可以在服务上访问的IBinder。 public abstract void onInterrupt () 打断辅助回馈内容时呼叫。 五、保护方法: 5.1 protected void onServiceConnected () 这个方法是AccessibilityService声明周期的一部分,在系统成功与服务绑定后才被呼叫,如果用来设定AccessibilityServiceInfo.这个方法更为方便。 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582730,如需转载请自行联系原作者

优秀的个人博客,低调大师

Androids含文档erver结束(工具包 Httputils)两

在同server在...的基础上,本文client还登录界面 Andriod简单http get请求基础上,用户注冊后跳转到下载界面,本文下载界面仅仅有两个View,一个是textView显示注冊后username(本文未做登录界面,方法与注冊类似。仅仅是在server端查询数据库中username,password是否正确)。还有一个为下载button。点击后下载到sd卡中。 以下先将工具包,该类封装了Http请求,本文使用get方法,使用HttpURLConnection类来负责详细请求。 httpUtils类中加入sendDownloadPost方法 详细代码例如以下: public static void sendDownloadPost(URL urls) { InputStream inputStream=null; //String path="http://192.168.0.179:8080/Myweb/download.do"; OutputStream outputStream=null; try { //url = new URL(urls); //本文採用HttpURLConnection,HttpClient一样能够 HttpURLConnection connection=(HttpURLConnection) urls.openConnection(); connection.setRequestMethod("GET"); //超时请求设置为3s connection.setConnectTimeout(3000); //设置响应时间10s connection.setReadTimeout(10000); connection.setDoInput(true); connection.setDoOutput(true); //获取返回码 int responseCode=connection.getResponseCode(); //请求正确 if(responseCode==200) { Log.d(TAG, "返回正确!。"); inputStream=new BufferedInputStream(connection.getInputStream()); //生成sd卡文件路径 File file=new File(Environment.getExternalStorageDirectory()+File.separator +"A.pdf"); outputStream=new BufferedOutputStream(new FileOutputStream(file)); byte[] str=new byte[2048]; int len=-1; if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { Log.d(TAG, "有权限"); //将inpustream写入到sd卡 while((len=inputStream.read(str))!=-1) { outputStream.write(str, 0, len); } } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(inputStream!=null) { try { inputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(outputStream!=null) { try { outputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return; } 友情提示:本文须要加入的权限有:internet訪问权限,SD卡文件读写权限,SD卡文件创建权限 详细在manifest.xml 加入例如以下: <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission> ps:若想下载文件名称与server上文件名称同样,可在文件名称之前,中间处理了中文乱码问题 String filename = connection.getHeaderField("Content-Disposition"); filename=new String(filename.getBytes("iso8859-1"), "gbk"); filename=filename.split("filename=")[1]; 加入到 File file=new File(Environment.getExternalStorageDirectory()+File.separator +"A.pdf"); A.pdf阅读filename能够 版权声明:本文博客原创文章,博客,未经同意,不得转载。 本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4676439.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册