首页 文章 精选 留言 我的

精选列表

搜索[高度可定制],共10014篇文章
优秀的个人博客,低调大师

Android定制相关小技巧

1、开机图片: android-logo-mask.png android-logo-shine.png 这两个图片一个在上一个在下 ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/assets/images/android-logo-shine.png ./frameworks/base/core/res/assets/images/android-logo-shine.png 注意:如果源码没有make可以直接更改frameworks里的的图片就可以了 然后直接make否则必须全更改并且不能make只能make firmwar 2、默认开机墙纸的位置: default_wallpaper.jpg ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/res/drawable/default_wallpaper.jpg ./frameworks/base/core/res/res/drawable/default_wallpaper.jpg 注意:这个设置和上面的一样这俩个都不能更改文件名 3、更改PC机器删除硬件的文字kernel中 drivers/usb/gadget/f_mass_storage.c fsg->vendor = "XXXXXXXXXXXXX"; 4、更改卷标: bootable/recovery/etc/init.rc setprop UserVolumeLabel "XXXXXXXXXXXXX" 直接打包 5、修改屏幕锁: (1) frameworks/base/packages/SettingsProvider/res/values/defaults.xml 60000 60000改成想要的时间如果是不锁为-1 (2) frameworks/policies/base/phone/com/android/internal/policy/impl/KeyguardViewMediator.java private boolean mExternallyEnabled = true; 将其修改成false 这样更改就不会再进入休眠状态了 6、初始化语言: out/target/product/sdkDemo/root/default.prop rkdroid2.1/recovery/default.prop ro.product.locale.language = es_ES ro.product.locale.region = es_ES 不能make直接打包 7、设定初始化主页: package/app/Browser/res/values/String.xml 655行 后面的应该是书签里的 8、设定亮度0~255: frameworks/base/packages/SettingsProvider/res/values/defaults.xml def_screen_brightness-->这个值初始化好像是100多 9、音量: frameworks/base/media/java/android/media/AudioManager.java 数组DEFAULT_STREAM_VOLUME第4个值(最大我设置到30但是还是差2格才到最大--默认是11 建议将数组里的所有的数值都设为最大就OK了) mm frameworks/base 10、设置Google帐户,左上角提示“正在设置RK2818SDK”,要求改成“正在设置W9”: out/target/product/sdkDemo/root 中default.prop文件第13行 ro.product.model=rk2818sdk 改为 ro.product.model=W9 11、录音没有小时显示。要求增加: packages/apps/SoundRecorder/src/com/android/soundrecorder (1)SoundRecorder.java中: private void updateTimerView() 把 String timeStr = String.format(mTimerFormat, time/60, time%60); 改为:long hour=time/3600; String timeStr = String.format(mTimerFormat, hour, (time-hour*3600)/60, time%60); (2) /res/values中strings.xml改为: %02d:%02d:%02d 12、去掉Bluetooth: (主界面->添加文件夹->Bluetooth received) ic_launcher_folder_bluetooth.png(72*72): 在/packages/apps/Bluetooth/res/drawable-hdpi 解决方法:删除/out/target/product/sdkDemo/system/app下的Bluetooth.apk 13、充电锁屏时图片: frameworks/base/core/res/res/drawable-hdpi:ic_lock_idle_charging.png 14、去掉锁屏时显示充电百分比在: frameworks/base/core/res/res/values-zh-rCN中strings.xml 的lockscreen_plugged_in 括号中的内容及括号 !! 15、去掉动态桌面背景选项: packages/wallpapers/Basic 中AndroidManifest.xml的这些,如星系注释掉如下这些: <service< p=""> android:label="@string/wallpaper_galaxy" android:name="com.android.wallpaper.galaxy.GalaxyWallpaper" android:permission="android.permission.BIND_WALLPAPER"> 16、更改版本号: build/core/Makefile 79行 RK_VER := xxx 17、更改界面布局 位置:package/app/Launcher2/res/xml/default_workspace.xml 注意:adb shell 里当你点击任意的一个apk的时候,在后台会输出 I/ActivityManager( 728): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.estrongs.android.pop/.view.FileExplorerActivity bnds=[294,373][393,478] } I/WindowManager( 728): Setting rotation to 1, animFlags=0 看蓝色的部分就可以找到/前是包名/后面是类名-->这个是在default_workspace.xml里面需要用到的 launcher:packageName="com.android.browser" launcher:className="com.android.browser.BrowserActivity" 18、如何将pdf类的文件放到桌面上 客户要求将他们自己制作的pdf帮助文档放置到桌面上使客人可以直接点击就浏览 String urlString = "/system/app/Nvsbl P4Dv2 English Manual.pdf"; Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(urlString)),"application/pdf"); startActivity(intent); finish(); 解释下: 首先将pdf文档放到out/target/product/sdkDemo/system/app下 将固定地址给出urlString,使用Intent intent.setAction(android.content.Intent.ACTION_VIEW);启动View intent.setDataAndType(Uri.fromFile(new File(urlString)),"application/pdf"); application/pdf可以指定别的格式包括音频,视频,图片等等但是没有试过有需要可以试试 注意:这个方法很不到如果只放置一些图片还可以但是如果放置文件比较大那么打包出来的 system.img文件会很大也就是占用本身的系统内存----->所以不推荐使用!

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

Android 定时任务高度【schedule】与【scheduleAtFixedRate】差别

在android中调度定时任务有两种方法 1.schedule 2.scheduleAtFixedRate 这两种方法的差别在于首次调用时间(Date when)这个參数 <span style="font-family:SimHei;font-size:14px;"> // TimerTask task = new TimerTask() { @Override public void run() { // 输出当前毫秒为单位的时间 Log.i("Test", ">>>" + System.currentTimeMillis()); } }; // 获取毫秒为单位的当前时间 long crt = System.currentTimeMillis(); timer = new Timer(); // 调度,以当前毫秒时间减10秒 // timer.schedule(task, new Date(crt - 10 * 1000), 2000); timer.scheduleAtFixedRate(task, new Date(crt - 10 * 1000), 2000);</span> schedule调度不会去计算首次调用时间 它会马上调用一次 在之后每2秒调用一次 scheduleAtFixedRate 调度则会计算首次调用时间,因为我们首次调用时间设置为当前时间减10秒。那么在运行时会先计算出这10秒内应task应运行的次数,再去按设定频率去运行。 本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5337093.html,如需转载请自行联系原作者

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

[Android Pro] ScrollView使用fillViewport设置高度为MatchParent

reference to :http://blog.csdn.net/u012975705/article/details/49275001 之前遇到一问题,就是当使用ScrollView时,ScrollView控件里的布局无法充满整个手机屏幕,通过阅读源码发现,ScrollView中有个mFillViewport属性: When set to true, the scroll view measure its child to make it fill the currently visible area 大概意思就是当mFillViewport设置为true的时候,其子视图能够自动填充满当前可见的整个区域。即,在xml布局文件中为ScrollView控件添加 android:fillViewport="true" 能使ScrollView里的元素填满整个ScrollView。 分类: Android Pro 本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/6048418.html如需转载请自行联系原作者 demoblog

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

搭建yum仓库定制rpm包

YUM源优先级 1年前 (2015-12-18) 听风吟 Linux攻略 0评论 来源:本站原创 155℃ 字体:小中大 生产案例:OpenStack Icehouse novncproxy无法启动解决 这个企业案例随着我们的课程升级已经过时了,但是解决问题的方法还是值得学习的。 广告:全国最新OpenStack之Liberty版本深度讲解,欲知详情,请加文末交流群。 使用启动脚本执行正常,但进程没有启动。手动启动发现报错 [root@linux-node1~]#nova-novncproxy--config-file=/etc/nova/nova.confTraceback(mostrecentcalllast):File"/usr/bin/nova-novncproxy",line10,in<module>sys.exit(main())File"/usr/lib/python2.6/site-packages/nova/cmd/novncproxy.py",line87,inmainwrap_cmd=None)File"/usr/lib/python2.6/site-packages/nova/console/websocketproxy.py",line47,in__init__ssl_target=None,*args,**kwargs)File"/usr/lib/python2.6/site-packages/websockify/websocketproxy.py",line231,in__init__websocket.WebSocketServer.__init__(self,RequestHandlerClass,*args,**kwargs)TypeError:__init__()gotanunexpectedkeywordargument'no_parent' 原因 是由于python-websockify这个包的版本造成的问题。其实在fedora源中也提供了一些python的依赖包。http://mirrors.aliyun.com/epel/6/x86_64/真坑,9月份更新的!!!python-websockify-0.6.0-3.el6.noarch.rpm04-Sep-201519:2963556https://repos.fedorapeople.org/repos/openstack/EOL/openstack-icehouse/epel-6/python-websockify-0.5.1-1.el6.noarch.rpm2013-09-1009:3158Khttp://mirrors.ustc.edu.cn/epel/6/x86_64/python-websockify-0.6.0-3.el6.noarch.rpm04-Sep-201519:2963556#应该是国外的总源换了为什么6版本不行https://bugs.launchpad.net/nova/+bug/1334327https://bugs.launchpad.net/nova/+bug/1333746 解决方法 优先使用icehouse源提供的软件包,这里涉及到yum源优先级的问题。有的包需要epel源,但有的包epel太新了,不能用,用了就出问题,因此优先使用icehouse源提供的包。一些关键的python包icehouse源也提供了,不需要下载epel源的 Yum Priorities插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如Linux发行版的官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。 1. 安装Yum Priorities yum -y install yum-priorities 2. 配置使用Yum Priorities vim/etc/yum/pluginconf.d/priorities.conf#确保配置文件中包含下面的行[main]enabled=1 3. 修改阿里epel源优先级 #icehouse源默认有优先级了[root@linux-node1~]#greppriority/etc/yum.repos.d/rdo-release.repopriority=98#在epel源加一行,使epel源的优先级低于icehouse源[root@linux-node1~]#vi/etc/yum.repos.d/epel.repo[epel]…………priority=99 注1:优先级由1 ~ 99的99个数表示,1的优先级最高。优先级小的源即使有某软件的较新版本,如果优先级高的源中没有,在启用该插件的情况下,系统也无法安装/升级到该较新版本。 注2:要禁用 YUM 优先级功能,只需要将/etc/yum/pluginconf.d/priorities.conf 的enable=1 改为 enable=0 即可。 来自为知笔记(Wiz) AD:官方群:运维交流08群384467551 架构师交流QQ群390642196 本文转自浅景尘51CTO博客,原文链接:http://blog.51cto.com/857803451/1933265 ,如需转载请自行联系原作者

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

边缘计算:将物联网应用推向新高度

随着技术的发展,需要新方法的新问题也随之发展。随着智能设备(如智能开关、恒温器和第三代语音助手)的出现,数据量激增并降低了集中计算和分析的效率。边缘计算通过帮助这些智能设备处理数据来满足它们在边缘节点上的需求,从而使这些智能设备更加智能。 边缘计算仅传输集中计算所需的数据,从而解决了延时及带宽成本等诸多问题。边缘技术不仅提高了边缘设备的效率,而且还提高了集中式分析系统的效率。鉴于边缘计算的前景,它有望成为2020年及以后最重要的技术趋势之一。 例如,Google的Nest使用机器学习算法,根据每天的温度调整情况,了解居民在工作日或周末是在家还是外出。借助此信息,Nest可以在整个星期和周末自行调节温度。Nest的边缘处理与集中处理相结合,突显了企业数据管理面临的一个有趣挑战。 传统上,企业采用了一种分析数据并使用集中式方法从中获取情报的体系结构。例如,数据仓库是商业智能的主力军,是众所周知的中央存储库,可以将原始数据转化为洞察力。该过程称为ETL,它从操作系统中提取数据,将其转换为适当的格式,然后将其加载到数据仓库中。 多年来,这种架构已被证明是有效的。但是在边缘设备时代,传统的物理数据仓库失去了作为真理的中心来源的光泽。这是因为随着当今世界转向大量非结构化数据,它们只能存储结构化数据。而且,数据量呈指数增长。它已经变得如此庞大,以至于在许多用例中,将所有数据存储在单个数据仓库中在经济上不再可行。为了克服这些挑战,企业将其中央存储库过渡到了更便宜的替代方案(如Hadoop),后者还可以存储非结构化数据。 尽管有了这些发展,但从性能和成本的角度来看,仍然不希望将发布于世界各地的多个设备生成的所有信息收集到数千英里之外的一个中央存储库中。中央系统也无法有效智能地分析信息,然后再将这些信息一直建议给设备,以实现优秀性能。 那么,缺少什么呢? 在我们看来,这是一种在设备本身附近执行计算功能的技术。边缘计算架构的出现使设备能够将其生成的数据发送到边缘节点或距离设备更近的系统,以进行分析或计算。这样,设备从边缘节点获得所需的情报的速度比连接到中央系统时要快得多。 在此设置中,边缘节点连接到中央系统,因此它们仅传输中央系统在所有各种设备上进行分析所需的信息。结果,存在计算的双重性,其中某些计算在边缘节点上进行,达到了本地操作所需的程度,同时,数据被传输到中央分析系统以对所有对象进行整体分析企业系统。 如今,幸运的是,具有在边缘仅智能过滤所需数据并仅将减少的数据传输到集中式系统的功能。通过减少多达80%的移动数据,数据虚拟化可以实时执行这种选择性的数据处理和交付,而不必在其中复制数据。 当数据来自各种设备时,位于更靠近这些设备的边缘节点处的数据虚拟化实例将这些数据集成在一起,然后仅提取结果。然后,将它们传送到位于中心位置的另一个数据虚拟化实例,该实例更靠近数据使用者,后者使用报告工具来分析结果。因此,多位置架构中的数据虚拟化实例网络(其中一些位于边缘节点)连接到中央数据虚拟化实例,从而完善了边缘计算框架。 数据虚拟化多位置边缘架构(Source: Denodo) 为什么在边缘更智能? 边缘计算的较大好处是节省时间。在过去的几年中,该技术在存储和计算两个方面发展得比其他方面快得多。 今天的手机比30年前的台式电脑拥有更多的内存和计算能力。但是,边缘技术的一个方面发展得还不如传输数据的带宽快,因为数据从一个位置移动到另一位置仍需要几分钟和几小时。随着设备越来越远地迁移到云和跨大洲,必须传输尽可能少的数据以提高整体效率。 通过将计算委托给边缘,这些设备将实时学习和调整,而不会因与中央系统之间的信息传输而减慢速度。数据虚拟化将带宽需求以及存储成本降低了多达80%。

资源下载

更多资源
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应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册