任何问题请联系WX:uu16853

买模板送网站采集器 让你轻松放开双手运营网站!

购买更多有优惠!

WP-LESS – WordPress plugin WordPress插件下载

点击下载 WP-LESS 插件描述 LESS 是基于CSS的模板语言。它提供了许多增强功能,可加快开发速度并简化维护。 主题开发人员甚至可以捆绑插件而不必担心冲突:只需包含特殊的 bootstrap-for-theme.php 并阅读其说明。 功能 VariablesMixins(继承规则)嵌套规则(少写,多做)访问者(从特定规则继承值)函数(动态结果的逻辑运算) 该插件可以让你专注于你需要的东西:编写CSS。从缓存管理到用户交付,其他​​所有内容都会自动处理。 说真的。 文档 Github项目文档上提供了有关如何使用插件API的高级主题。 要求 唯一要求是使用WordPress API和LESS约定: .less 扩展名。 最低要求:PHP 5.3和WordPress 3.2。 依赖于: Less.php , plugin-toolkit 。 注意:如果您想放弃使用此插件,可以安全地执行此操作。您只需将样式表转换回CSS即可。 屏幕截图 LESS到CSS转换的示例。 安装 自动 搜索插件名称( WP-LESS )单击安装按钮激活 手动 点击下载插件文件夹中pluginUnzip的最新稳定存档(默认情况下为 wp-content / plugins )通过WordPress插件管理页面激活它 FAQ 已经做了很多努力来编写一致的文档 来解决你可能遇到的问题。 它涵盖了路径自定义,从PHP声明LESS变量,创建新的LESS功能等主题。 安装说明 自动 搜索插件名称( WP-LESS )点击安装按钮激活它 手动 点击下载pluginUnzip的最新稳定存档在你的插件文件夹中(默认情况下, wp-content / plugins […]

What The File – WordPress plugin WordPress插件下载

点击下载 什么文件 插件描述 什么文件为工具栏添加一个选项,显示用于显示的文件和模板部件您当前正在查看的页面。您可以单击文件名以通过主题编辑器直接编辑它,但我不建议您进行更大的更改。该文件支持基于BuddyPress和Roots主题的主题。 更多信息可在 找到。 如需支持,请访问支持论坛。 屏幕截图 什么文件显示了使用的模板文件。 安装 上传什么文件到 / wp-content / plugins / 目录通过WordPress的“插件”菜单激活插件 FAQ 在哪里可以看到使用了哪个模板文件? 在工具栏中,您将找到“文件内容”选项。将鼠标悬停在此选项上将显示当前使用的模板文件,单击模板文件名将允许您使用WordPress文件编辑器编辑模板文件。请注意,无法在WordPress编辑器中编辑某些BuddyPress文件。 我找不到工具栏中的“文件内容”选项 您必须是管理员才能看到“文件内容”选项。 文件是什么支持BuddyPress 是的。 文件支持根主题 是的确如此。 你救了我这么多时间,有什么方法可以感谢你吗? 很高兴听到我能帮到你!您可以通过各种方式感谢我,请参阅我的捐款页面以了解更多信息。 评论

Query Monitor – WordPress plugin WordPress插件下载

点击下载 查询监视器 插件描述 查询监视器是WordPress的开发人员工具面板。它支持调试数据库查询,PHP错误,挂钩和操作,块编辑器块,排队脚本和样式表,HTTP API调用等。 它包括一些高级功能,例如调试Ajax调用,REST API调用和用户功能检查。它包括通过插件或主题缩小其大部分输出的能力,允许您快速确定性能不佳的插件,主题或功能。 Query Monitor重点关注以有用的方式呈现其信息,例如通过显示由负责它们的插件,主题或函数分组的聚合数据库查询。它添加了一个管理工具栏菜单,显示当前页面的概述,一旦您选择菜单项,就会在面板中显示完整的调试信息。 有关完整信息,请参阅 Query Monitor网站。 以下是每个页面加载显示内容的概述: 数据库查询,包括慢速,重复或错误查询的通知。允许按查询类型( SELECT , UPDATE , DELETE 等),负责组件(插件,主题,WordPress核心)和调用函数进行过滤,并提供每个单独的聚合视图。模板文件名,完整的模板层次结构和使用的所有模板部件的名称.PHP错误与其负责的组件和调用堆栈以及管理工具栏中的可见警告很好地呈现。块中的块和关联的属性使用WordPress 5.0+或Gutenberg插件时发布内容。匹配重写规则,关联查询字符串和查询变量.Enqueued脚本和样式表,以及它们的依赖关系,依赖关系和破坏依赖关系的警报。每个文本域的语言设置和加载的翻译文件(MO文件).HTTP API请求,响应代码,负责组件和时间,以及对失败或错误请求的警报。用户功能检查,以及传递给功能检查的结果和任何参数。环境信息,包括有关PHP,数据库,WordPress和Web服务器的详细信息。所有WordPress条件函数的值,如 is_single() , is_home()等。已更新的瞬态。 此外: 每当发生重定向时,Query Monitor会添加一个包含调用堆栈的HTTP标头,因此您可以使用自己喜欢的HTTP检查器或浏览器开发人员工具来跟踪触发重定向的内容。来自任何jQuery的响应 – 在页面上启动的Ajax请求将在其标头中包含各种调试信息。 PHP错误也会输出到浏览器的开发人员控制台。只要经过身份验证的用户有权查看Query Monitor的输出,来自经过身份验证的WordPress REST API请求的响应将在其标头中包含各种调试信息。 只是说

P3 (Plugin Performance Profiler) – WordPress plugin WordPress插件下载

点击下载 P3(插件性能分析器) 插件描述 此插件通过测量其影响来创建WordPress网站插件性能的配置文件在您网站的加载时间。很多时候,由于插件配置不当或者因为有很多插件,WordPress网站的加载速度很慢。当我开始扫描时,WP系统已经下降。我希望我能解决它..

WordPress 2.7 可能开发的功能

WordPress 2.6 刚刚发布,WordPress 2.7 就提上了日程,在官方 WordPress Codex 页面已经列出了 2.7 可能开发的功能。Weblog Tools Collection 做了详尽的分析,我按照自己的理解翻译一下,也加上一些自己个人的看法, 。 评论 API(Comments API) – 这个应该是最让人激动的功能,它能够让开发者创建桌面程序离线评论管理留言。这个功能让我觉得可以去创建一个关于 WordPress 独立博客的 SNS,通过一个中心去管理评论,实现评论同步和跟踪自己的评论。 通过快捷键管理评论(Keyboard shortcuts for comment moderation) – 这个功能能够帮助用户使用键盘快捷键快速管理评论,比如:Ctrl + S 把评论设为垃圾,Ctrl + A 通过评论。确实很方便,但是是否能够记住这些快捷键而不混淆呢? 主题更新 API(Theme Update API) – WordPress 2.5 及以上版本已经把插件更新管理变的非常容易,当一个插件有更新版本,你会收到通知,并且你不需要手动通过 FTP 上传就可以实现插件的更新。WordPress 2.7 这个特性也是为了缩短主题开发者和用户之间的差距,让用户更加容易的升级主题的更新。但是我想,一般用户使用主题之后,都会做一些适合自己的定制,这样更新之后,定制就会丢失,这个时候怎么办呢?这个应该是一个需要解决的问题。 一键插件安装(One Click Plugin Installs) – 一键插件安装这个功能会让安装插件变得非常容易,一个叫做 One Click […]

我开发的 WordPress 插件

使用 WordPress 一段时间,应该算是满久了,总有一些奇奇怪怪的想法,所以也整了一些奇奇怪怪的插件,今天把他们整理下给大家汇聚分享下。欢迎大家选用, 。 Top Friends 这是一个 WordPress BlogRoll 加强插件,它能够通过不同图标显示 Feed 更新时间,以及最新更新的两篇日志。 WordPress 用户体验插件 你的博客流量和订阅用户不多,那么就加强下你博客的用户体验吧。 WordPress Planet 想创建和 WordPress 火星一样的页面,那么它就是不二的选择。 滔滔 WordPress 插件 给大小朋友在博客上玩滔滔的。 Google PageRank for WordPress 你的 PR 很高,那就把显摆出来,这个插件会获取每个页面的 PR,然后显示在文章的后面。 中文 Dashboard WordPress Dashboard 一大推英文,我们的原则是替换掉他们,显示我们中文的 WordPress 文章。 Colorful Title 日志的标题颜色单一,不好玩,那就用 Colorful Title 替换掉它。 六间房精巧网址 六间房什么都很短,包括(以下隐去3个字),你想不想把你的日志链接也变得那么短呢?试试六间房精巧网址这个插件吧! Simple Archive 即建立一个存档页面,当时也是一个静态的 sitemap 页面。 Last Post Redirect […]

WordPress 3.1 开发的功能

WordPress 3.1 还在开发中,但是 WordPress 开发团队已经更新了 WordPress 3.1 开发的功能: Post Formats – 允许把日志设置为特定的格式,比如 aside, gallery, link, photo, video, quote 等,并且允许主题根据日志的格式样式化它们,其实这个功能 Tumblr 这个博客服务就是这样提供的,我觉得这个功能非常好,写博客其实并不是所有的时候都能写出长篇大论,有时候只想贴张照片,相册,放个视频,小侃两句而已。 Theme Search/Filter(主题搜索和过滤) – 从 WordPress.com themes.php 获取搜索和浏览的想法对 WordPress 主题页面进行改进。 Internal linking(内部链接) – 这个功能可以吧你日志的搜索结果或者按照标题,日志或者时间等方式浏览的日志列表保存为一个内部链接。 Admin Bar – 3.1 可能提供一个 administration bar。 Ajaxified Admin – 后台的大部分栏目都能排序,引入新的分页样式,排序,分页和搜索都无需刷新页面,直接 AJAX 完成。 Update TinyMCE – 后台可视化编辑器更新到 TinyMCE 3.3.9.2。 Multi-Taxonomy Queries(多重分类方式查询) […]

Android Theme主题样式开发注意点 Android开发技术

  Android默认情况下提供了一些实用的主题样式,比如说Theme.Dialog可以让你的Activity变成一个窗口风格,而Theme.Light则让你的整个Activity具有白色的背景,而不是黑色那么沉闷。具体使用方法很简单在Androidmanifest.xml文件中对你的Activity节点上加入些代码,如图所示   部分代码为 android:theme="@android:style/Theme.Dialog"  和  android:theme="@android:style/Theme.Dialog"  ,这里Android123提醒大家,有关@后面是android:的定义均在Android内部的Framework层由系统自带。

Live Wallpaper动态壁纸开发 Android开发技术

  对于Android 2.1来说Live Wallpapers动态壁纸的加入为Android桌面加入了更好的动态效果。如何开发一个Android动态桌面呢? 下面Android123给大家一个详细的步骤创建属于你自己的Live Wallpaper吧。   1. 首先我使用Eclipse创建一个标准的Android工程这里package name我们使用cn.com.android123.cwj,然后进入工程的/res/文件夹,删除layout这个文件夹,当然里面的main.xml也会被删除的,对于Live Wallpaper来说传统的布局文件是不需要的。   2. 类似AppWidget一样,我们可以加入动态壁纸的设置界面,我们在/res/文件夹中新建一个名为xml的文件夹,新建一个utf8编码的xml文件,名为livewallpaper.xml,内容为    <?xml version="1.0" encoding="utf-8"?>  <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" android:settingsActivity="cn.com.android123.cwj.LiveWallpaperSettings" android:thumbnail="@drawable/icon"/>    这里我们可以看到上面的节点名为wallpaper,而设置的界面为 cn.com.android123.cwj.LiveWallpaperSettings  这个Activity,而在添加动态壁纸时显示图标为/res/drawable/icon 这个文件,同时我们再创建一个xml文件用于LiveWallpaperSettings这个Activity的布局,我们起名为livewallpaper_settings.xml内容为   <?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/livewallpaper_settings" android:key="livewallpaper_settings">  <ListPreference  android:key="livewallpaper_testpattern"  android:title="标题"  android:summary="简单描述"  android:entries="@array/livewallpaper_testpattern_names"  android:entryValues="@array/livewallpaper_testpattern_prefix"/>  <CheckBoxPreference android:key="livewallpaper_movement"  android:summary="动态描述"  android:title="动态标题"  android:summaryOn="动态测试"  android:summaryOff="静止测试"/></PreferenceScreen>   3. 创建一个名为LiveWallpaper的类作为动态壁纸的主类,从WallpaperService父类继承,这里我们可以像写标准Android服务那样开发,代码为   public class LiveWallpaper extends WallpaperService{  public static final String SHARED_PREFS_NAME = "livewallpapersettings";  @Override public void onCreate() {  super.onCreate(); }  @Override public void onDestroy() {  super.onDestroy(); }  @Override public Engine onCreateEngine() {  return new TestPatternEngine(); } […]

Android 3.1 USB配件开发之介绍篇 Android开发技术

  从Android 3.1开始将支持USB配件连接到Android设备,通过附件通讯协议,同时在Android 2.3.4中通过附加库也可以兼容这些功能,目前可以在Nexus S、Nexus One上进行开发测试,可以实现两种工作模式,分别为Host Mode和Accessory Mode,前者Android设备将作为宿主为USB设备供电,比如连接一个键盘,而Accessory Mode将作为附件模式,这时可能Android设备变成一个辅助的设备,比如作为PC上的手写板,这时PC为Android设备供电,如下图所示:     无论何种模式,Android设备都和连接的USB设备进行类似串口的通讯,对于调试,我们仍然可以使用adb来实现,比如说连接Android设备到PC上,输入  adb tcpip 5555  接着输入  adb connect <device-ip-address>:5555  其中device-ip-address为android设备的ip地址, 如果你的设备是监听USB连接,可以输入 adb usb

Android NDK C++开发注意事项总结 Android开发技术

   相信Android开发者都喜欢用C++编写一些高效的应用,有关Android NDK的C++开发相关知识Android123总结如下:   1. 从Android NDK r5开始支持了STL Port,在这个版本开始就可以使用部分STL库的功能了,比如说vector、string摆脱c下面容易出现的数组未初始化、越界,增强应用的健壮性。   2. 很多网友包含了include <vector> 这样头,但仍然无法编译,这里你首先要检查当前文件是否为.cpp后缀,同时为了使用标准库必须加入 APP_STL := stlport_static 在Application.mk文件中。相关对应还有  system              使用默认最小的C++运行库,这样生成的应用体积小,内存占用小,但部分功能将无法支持 stlport_static      使用STLport作为静态库,这项是Android开发网极力推荐的 stlport_shared     STLport 作为动态库,这个可能产生兼容性和部分低版本的Android固件,目前不推荐使用。 gnustl_static      使用 GNU libstdc++ 作为静态库   默认情况下STLPORT是不支持C++异常处理和RTTI,所以不要出现 -fexceptions 或 -frtti ,如果真的需要可以使用gnustl_static来支持标准C++的特性,但生成的文件体积会偏大,运行效率会低一些。   3. 支持C++异常处理,在Application.mk中加入 LOCAL_CPPFLAGS += -fexceptions这句,同理支持RTTI,则加入LOCAL_CPPFLAGS += -frtti,这里Android123再次提醒大家,第二条说的使用gnustl静态库,而不是stlport   4. 强制重新编译 STLPort ,在Application.mk中加入 STLPORT_FORCE_REBUILD := true 可以强制重新编译STLPort源码,由于一些原因可能自己需要修改下STLPort库,一般普通的开发者无需使用此项。   5 Android目前最新的NDK版本为r6,相关的学习可以查看NDK中的Samples整体和在PC上开发没有太大的不同。

Android框架层开发从入门到精通 Android开发技术

   对于Android框架层(Framework) 仍然有很多开发者不是很理解,Android123用三周时间总结 《Android框架层开发从入门到精通》准备出版,考虑到时间,将免费在Android123开发站点上连载分享。    前置知识    一、Java虚拟机    二、Binder    三、JNI和C++    Android Framework开发    四、GIT源码管理    五、RILD    六、图形和音频    七、编译自己的ROM

Android 4.0和WP7.5开发技术对比 Android开发技术

  对于谷歌Android 4.0 Ice Cream SandWich和微软WP7.5 Mango在开发技术上作对比,可以看出早期Google学习了Microsoft的WPF的设计方式,由于微软Windows Phone 7发布缓慢,导致Google在技术上将微软复杂的设计方式改进,从现在来看安卓冰激凌三明治和微软WP7芒果来看开发技术上仍然存在着巨大的差异。对于准备步入移动开发的网友,就目前主流的系统做简单的分析:   一、UI控件和设计模式    对于WP7来说,整体控件数量不如Android丰富和实用,但也有一些创新的地方,比如说枢轴Piovt控件,在触控操作上比Android的TabHost强了很多,但没有提供类似GridView这样的控件在Siliverlight中,由于WP7的UI刷新机制基于MVVM模式,相对于Android的MVC有些不同,需要继承INotifyPropertyChanged接口,通过数据绑定来更新UI控件的值,相对比较繁琐。在控件自定义方面,WP7可以使用银光的UserControl或从任何已有的控件中直接派生,对于Android来说这点基本相同,但提供的方法比如触控、长按相关的微软这点都要 依赖Toolkit来实现,整体相对繁琐很多。   二、数据库层   微软在数据库方面一直有MS SQL,在手机上有SQL CE这样的轻量级数据库,但操作处理方面同样需要实现 INotifyPropertyChanged接口进行更新,修改表,似乎变得更加抽象。同时数据交换方面微软还有LINQ,在Web Services方面几乎和J2EE差不多,但相对于手机上而言Android的SQLite似乎更好用明了,这点微软确实输了。   三、系统执行模型   在WP7.5 Mango上支持了多任务,内存管理几乎和Android一模一样,同时新增了类似iOS上的数据推送,需要微软服务器中转的Push Notification,由于考虑应用随时被系统内存回收,必须保存每个页面的数据到持久化的存储中,比如类似Android的SharedPreferences而在WP中为银光的IsolatedStorageSettings,在很多地方微软都在学习着谷歌,相比WP7到WM6的改进来看。   四、图形系统   这点WP7和Android有着天壤之别,Windows CE下3D为DirectX,2D为GDI方式渲染,而Android下为OpenGL,同时WP7无法使用本地语言开发,导致iPhone和Android程序员在3D方面很是陌生。   五、文件系统   在WP7芒果上,微软学习了iOS那样的封闭,每个应用完全独立,所以没有文件管理器这个概念,导致了Adobe Reader这样的应用必须将pdf放入邮箱中,通过邮件附件来打开阅读。同样每个Windows Phone 7芒果手机一般不会有microSD卡,而是机身至少内置8GB或16GB的存储空间,同样无法用U盘功能,每个应用相对隔离,运行在自己的沙盒空间里,对于应用可靠性和安全有了保障,但是对于部分实现方面确实不够好用。   六、运行流畅度   如果你看见WP7手机运行很流畅,那么你可能真的错了,在本质上Java虚拟机和微软的.Net Framework运行时库的底层效率差不多,但Android的手机一般运行着更复杂的桌面,比如左右N个主屏和一堆appWidget小插件,而微软似乎Windows Phone 7的应用一般限制在5个同时工作的,否则将会被结束任务,同时由于部分低价Android设备,导致整体硬件配置偏低,比如有ARM11的CPU,RAM只有256MB的情况,而微软WP7第一代手机至少配备了A8 1GHz的处理器,512MB的RAM,第二代的WP7 Mango手机配备了1.4GHz新一代高通Snapdragon,比如8X55系列,所以很多地方了看WP7更流畅,但其实从单个应用来看,WP7应用的启动速度远不如Android平台上的应用,所以微软甚至设计出了SplashScreenImage.jpg这样的图片为每个默认工程提供一个载入图片。如果是微软系统自带的应用由于可以调用本地的方法相对于第三方的Windows Phone应用来说启动会快很多。  最终结论是Android123仍然推荐大家在高效和开放的Google提供的平台开发,至少不会束缚你的想象力和实现速度,微软设计了很多限制和门槛,同时不开源在分析和实现上都会产生很多问题,至少Android的SDK可以工作在Mac OS、Windows各个平台和Linux上,而微软似乎将WP7 SDK锁定在Vista和Win7上。

Android NFC开发实战 Android开发技术

  对于Android 4.0 SDK中提供的Beam例子,对于NFC开发来说的确是一个不错的模板。对于了解NFC的NDEF消息处理过程不妨看下面的代码。 public class Beam extends Activity implements CreateNdefMessageCallback,        OnNdefPushCompleteCallback {    NfcAdapter mNfcAdapter;    TextView mInfoText;    private static final int MESSAGE_SENT = 1;     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);         mInfoText = (TextView) findViewById(R.id.textView);         mNfcAdapter = NfcAdapter.getDefaultAdapter(this);  //实例化NFC设备        if (mNfcAdapter == null) {            mInfoText = (TextView) findViewById(R.id.textView);            mInfoText.setText("NFC is not available […]

InputSream输入流转String字符串,Android开发工具类 Android开发技术

  在Android平台上使用Java层处理I/O时主要使用流,这里Android开发网给大家一个方便的类,可以处理InputStream输入流转为String字符串,在效率上,我们使用了字符串拼接StringBuilder类减少内存碎片以及BefferedReader类实现一个缓存。     private String Stream2String(InputStream is) {            BufferedReader reader = new BufferedReader(new InputStreamReader(is), 16*1024); //强制缓存大小为16KB,一般Java类默认为8KB            StringBuilder sb = new StringBuilder();                 String line = null;            try {                while ((line = reader.readLine()) != null) {  //处理换行符                    sb.append(line + "\n");                  }            } catch (IOException e) {                e.printStackTrace();            } finally {                try {                    is.close();                } catch […]

Android开发需要自己完善的类库总结 Android开发技术

  经历了目前最新的Android 2.1包括2.2透露出的特性来看,目前Android开发在实际项目中仍然存在很多问题。这里我们主要列举下开源中有哪些主要问题:   1. xml解析,虽然Android自带了XmlPull、Dom、SAX解析器,但是对于XML修改后的保存来看仍然不够完善,当做解析器获取数据可以,如果作为数据双向交换,考虑到自己实现来看,可以考虑JSON解决或挂载Dom4j库。  2. zip处理,对于压缩文件处理,Android平台底层支持zlib库,但是可以看到底层写死仅支持utf8编码的文件名,如果文件名是日文或中文如果自己不重新编译zlib底层,还是考虑使用apache ant库提供的方法,当然对于zip密码而言仍然不被支持。   3. gif动画,目前我们可能会发现很多手机不支持Gif动画的播放,仅仅显示开头一帧,当然GIF的原理就是开一个线程轮询播放每一帧,可能考虑到平台的性能或电池功耗,在CPU没有到1.5GHz时代时可能不会被加入吧。这可能也是直到Android 2.2才加入Flash的原因。   当然还有很多底层库都存在对宽字节和编码问题,而大多数对于标准的处理仅仅兼容utf8这样的,对于unicode的兼容度不够,可能造成部分地方为乱码,比如早期Android平台对于短信无法发送中文这样的BUG。

Android软件开发方向指导 Android开发技术

  目前Google Android平台可能算是第一阶段的成功,但是给开发者的感觉仍然是雷声大雨点小,利润方面和iPhone App Store还相差甚远,下面Android123主要谈下未来发展趋势以及更高的盈利方法。    1. Android目前精品游戏相当稀少,总体游戏数量和质量远远少于iPhone主要原因是设备的消费群体问题,如果你的技术够硬,数据结构算法过关的话沉着冷静开发一款像样的游戏可以带来不小的收获。   2. 界面技术单一,未来的趋势仍然是3D开发,目前手机CPU已经达到了GHz级别,同时GPU和硬件加速都已经有了雏形,视觉冲击将是未来的主要竞争力所以OpenGL一定要学习牢固,如果你的数学和物理不好有必要先补充下。   3. 本地语言开发,未来在一些核心处理上仍然需要借助NDK的支持Native C++可以在3D OpenGL ES上有很重要的用处,对于视频编码等方面这都是托管语言无法表达的问题。

Android游戏开发之旅八 SurfaceView类实例 Android开发技术

  有关SurfaceView我们将通过三个系统自带的例子来深入掌握Android绘图必会的SurfaceView,今天我们以SDK中的Sample游戏lunarlander中的LunarView具体实现,Android123建议大家导入该游戏工程到你的Eclipse然后自己编译先玩一下这个游戏,然后再看代码比较好理解。 class LunarView extends SurfaceView implements SurfaceHolder.Callback {    class LunarThread extends Thread {        /*         * Difficulty setting constants         */        public static final int DIFFICULTY_EASY = 0;        public static final int DIFFICULTY_HARD = 1;        public static final int DIFFICULTY_MEDIUM = 2;        /*         * Physics constants         */        public static final int PHYS_DOWN_ACCEL_SEC = 35;        public static […]

Android多点触控开发原理 Android开发技术

  Android多点触控在本质上需要LCD驱动和程序本身设计上支持,目前市面上HTC、Motorola和Samsung等知名厂商只要使用电容屏触控原理的手机均可以支持多点触控Multitouch技术,对于网页缩放、手势操作上有更好的用户体验。 在Android平台上事件均使用了MotionEvent对象方式处理,比如开始触控时会触发ACTION_DOWN而移动操作时为ACTION_MOVE最终放开手指时触发ACTION_UP事件。当然还有用户无规则的操作可能触发ACTION_CANCEL这个动作。   首先Android开发网提醒大家多点触控需要LCD驱动和应用软件两个支持才能实现,所以部分比较老的,比如Android 2.1以前或在北美上市的手机可能无法支持多点触控在固件上,由于Apple专利原因在欧洲和亚太地区的Android 2.1以后的新款机型固件均已经在屏幕驱动中支持,同时模拟器也无法实现多点触控的测试。   下面Android123一起用Android 2.0或以上SDK中的方法来实现如何通过应用层支持多点触控操作,对于常规的控件触控操作在内部为View的setOnTouchListener()接口实现的onTouchEvent()方法来处理。对于onTouchEvent方法的参数MotionEvent我们可以详细处理来实现对多点触控的了解,比如    event.getAction() //获取触控动作比如ACTION_DOWN   event.getPointerCount(); //获取触控点的数量,比如2则可能是两个手指同时按压屏幕   event.getPointerId(nID); //对于每个触控的点的细节,我们可以通过一个循环执行getPointerId方法获取索引   event.getX(nID); //获取第nID个触控点的x位置   event.getY(nID); //获取第nID个点触控的y位置   event.getPressure(nID); //LCD可以感应出用户的手指压力,当然具体的级别由驱动和物理硬件决定的   event.getDownTime() //按下开始时间   event.getEventTime() // 事件结束时间   event.getEventTime()-event.getDownTime()); //总共按下时花费时间    有关Android多点触控的更详细技术由于目前兼容性和固件问题android123将会在以后的内容中详细讨论,这里给大家起到抛砖引玉的作用。

Android多人项目开发指导 Android开发技术

  很多新的公司招聘了多个开发人员一起完成自己的Android项目开发,这里Android123就分工和开发模式以及部分实现细节给大家说下大概的多人开发分配。   1. 很多公司可能需要一个CAO架构出项目的各个细节用UML图表示,参照传统的开发模式可能类似于一些人写公共代码,比如I/O、相关的文件系统、数据库、网络通讯,部分完成UI相关的控件子类化和一部分的核心功能实现,这里更类似于MVC来实现所有的细节。   2. 目前就常规的中小型项目而言,使用SVN管理项目更清晰明了,公司已经假设好SVN服务器来管理整个项目的代码。   3. 模块的分工,这里我们给大家一些典型的方法,比如package名上使用类似 provider、util、data、view、model,由不同的人负责完成。   4. 项目的性能测试,对于Android开发要比iPhone麻烦的多,由于设备的性能、分辨率和固件的差异,可能导致软件运行的异常,这里我们推荐大家使用官方原版固件进行测试,第三方的固件存在很多类似“优化”这样的情况,可能对于软件的调试产生了很多的问题,同时手机尽量干净,后台不要运行太多任务,观察内存和CPU的执行,这里参考android.os.Debug和traceview的使用方法。   5. 异常处理,很多情况软件可能遇到Force Close的尴尬情况,FC和ANR的出现大大降低了用户体验,这里我们可能通过对代码更多的try和catch来防止OOM或Thread同步导致的问题。   6. 发布测试,对于软件发布时还要考虑用户体验度,删除不必要的permission,不要让用户感觉一个手电筒软件就有发送短信和拨打电话以及访问联系人的权限出现,同时尽量不要包含广告客户端,广告客户端可能是导致用户泄露隐私,影响系统运行效率,占用GPRS或3G上网流量等问题,对于靠广告作为盈利模式的软件可以目前考虑放弃或者说不适合竞争。   对于常规的中小型项目而言,遵循以上6点可以应付90%的问题,当然还有10%可能是长期的维护,分析用户的反馈和评论以及细节的调整问题,总而言之要考虑用户的感受,做软件要迎合不同年龄和人群,比如很多软件对于MM或非IT类人士可能不理解如何使用的,可以考虑推迟等等。

Android平板开发注意事项 Android开发技术

  很多时候,我们可能需要考虑Android平板开发时需要注意问题,随着Galaxy Tab、Dell streak等产品的出现,未来Android平板可能将比iPad更具价格优势,至少品牌和定位将会更丰富。Android123今天就来和大家一起谈谈平板gPad相关的开发技术和注意事项。   目前Android 2.2 Froyo对平板的支持度不是很好,目前Google正在着手处理3.0中针对平板电脑的支持,未来将于2011年初有多款平板电脑上市,我们平时处理界面时尽量使用不依赖设备的,比如常规的图片使用dip这样的单位,文字使用sp,而对于px这样的应该尽量少用。对于简单的素材尽可能的大一些,但对于缩小时不能有严重的失真,这点Google Android似乎没有Symbian先进,没有使用svg这样的矢量方法解决,但是给我们提供的9patch方法来拉伸一些简单图形还是很有效的。   对于布局来说尽量使用相对布局和线性布局,平板的分辨率可能使用1024×576等等的非常规分辨率,处理背景图片时要格外注意,对于控件自绘来说计算好相对位置是十分关键的,我们可以在创建Android AVD的同时设置好类似平板的分辨率,看看应用的运行效果。   平板很多低端的可能没有GSM模块,无法拨打电话或GPRS等数据链接,我们应用在调用某些API时要做到异常处理,比如IMSI的获取。我们无需坐等Android 3.0或3.5的自然支持,经过简单的兼容性设计处理可以很好的让你的应用兼容更大的设备显示。  

使用OpenGL开发一个指南针 Android开发技术

  在Android设备中具备了很多新的特性,比如各种感应器,GL图形库支持。在大部分Android设备中都有磁力感应器,相对于重力感应而言它可以感应出方向,今天Android123就以Google的Samples的指南针例子和大家说下OpenGL的指南针的实现。  public class CompassActivity extends Activity implements Renderer, SensorEventListener {    private GLSurfaceView mGLSurfaceView; //GL View    private SensorManager mSensorManager;     private float[] mGData = new float[3];    private float[] mMData = new float[3];    private float[] mR = new float[16];    private float[] mI = new float[16];    private FloatBuffer mVertexBuffer;    private FloatBuffer mColorBuffer;    private ByteBuffer mIndexBuffer;    private float[] mOrientation […]

Android NDK开发技巧一 Android开发技术

  平时我们开发Android应用时可能部分要求由于性能问题需要使用NDK来实现,比如OpenGL、OpenCore这样的多媒体应用,使用本地C/C++语言可以处理一些性能敏感或复杂的算法,Android123就我们日常NDK开发中遇到的问题以及技巧逐一总结方便网友查阅。      1. Android NDK编译的应用可以运行在Android 1.5或更高的操作系统上,在Android平台中本地调用主要通过JNI方式处理,JNI调用开销不小如果很简单的操作没有必要画蛇添足。      2. 一般NDK生成的so文件如何打包到apk中去呢?一般工程目录下创建一个libs文件夹,当然了手动释放也可以比如说 data/data/cn.com.android123.cwj/files/rmvb-decoder.so      3. 在JNI下面,我们常用的命名方式:     static JavaVM *g_VM;   //全局环境指针     static jclass jNativesClass;   (*env)->GetJavaVM(env, &g_VM);   //获取env环境指针,这样以后用g_VM就可以了。      4.   jobjectArray jargv // java数组 int getArrayLen(JNIEnv * env, jobjectArray jarray): //获取一个Java数组长度,返回为jsize类型 jstring jele = (jstring)(*env)->GetObjectArrayElement(env, jargv, n);  //从将Java数组元素n转为本地的jstringconst char *word = (*env)->GetStringUTFChars(env, jele, 0); //将java的utf字符转为c下面的char*    5.  […]

Android开发调试工具TraceView多图演示 Android开发技术

  有关Android SDK自带的性能分析调试工具TraceView使用方法,我们在android.os.Debug调试工具使用方法 简单的说过,有关实际使用如下   public void android123_method()   {            android.os.Debug.startMethodTracing("cwj");             //dosomething           android.os.Debug.stopMethodTracing();   }  一般会保存在 /sdcard/cwj.trace 当然2.2或以上可能在/mnt/sdcard/cwj.trace中,同时因为写sdcard需要加入WRITE_EXTERNAL_STORAGE 这个permission ,我们执行adb pull /sdcard/cwj.trace可将文件从sdcard传到pc上,也可以通过ddms的file explorer,等等,执行 traceview cwj或直接从Android SDK中鼠标执行traceview导入cwj.trace文件可以看到如下图   (点击下图 查看原始大图):         我们可以看到每个方法或类型执行的时间百分比,分析Android程序的性能。  

Android加速感应器开发平衡球代码解析 Android开发技术

   如何使用Android的加速感应器开发一个控制铁球滚动的游戏: public class AccelerometerPlayActivity extends Activity {     private SimulationView mSimulationView; //游戏主显示View    private SensorManager mSensorManager; //感应器管理类    private PowerManager mPowerManager; //电源控制,比如防锁屏    private WindowManager mWindowManager;     private Display mDisplay;     private WakeLock mWakeLock;      @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);          mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); // 实例化感应器管理类         mPowerManager = (PowerManager) getSystemService(POWER_SERVICE);         mWindowManager = (WindowManager) […]

Android开发环境搭建图文教程 Android开发技术

Android开发首先需要搭建完整的开发环境,由于软件均是基于Dalvik Java Virtual Machine运行的所以Google官方推荐使用主流的Java开发IDE Eclipse。我们需要下载必要的开发组件。   1)Java运行时库(JRE),由于Eclipse使用Java开发,所以需要它才可以正常运行IDE。   2)Eclipse集成开发环境,官方提供的Android开发插件ADT Plugin是基于Eclipse编写的,当然用户可以使用NetBean、JBuilder当作代码编辑器使用,但目前没有完整的调试集成。   3)Eclipse ADT Plugin插件是Android Develop Tool Kit的插件,用户需要安装它才能在Eclipse中建立和调试Android程序。   4)Android SDK,它包含了完整的Android模拟器 、Android开发文档和调试工具,Google官方也会定时更新,最新的公开版本为2008-3-3 m5-rc15   以上提到的4个必备工具需要在下面页面中下载安装 Android开发包下载   首先我们将下载的JRE安装,然后解压缩Eclipse和Android SDK。运行Eclipse开发环境。

oms和android在开发上有什么不同? Android开发技术

  部分网友对中移动OMS平台和谷歌Android相比到底有什么不同,这里我们主要来说下它们之间几个不一样的地方。首先有必要了解下OMS,OMS是根据开源Android修改而来,由中国移动主持和北京博思通讯联合开发,支持TD-SCDMA、CMMB等特性的中国特色Android手机。全称为Open Mobile System,详细的可以在oms手机网了解。   1.OMS在很多组件上和Android是完全一样的,仅仅是UI改变了,在RIL层上部分会兼容TD,还有OMS还有很多中移动的附件组件,139邮箱、手机电视、飞信等等都是CMCC所有,当然还有部分第三方小公司的产品,比如词典了、部分游戏等等。   2.目前我们测试的Dopod Magic使用了OMS系统,从关于信息可以看到使用了Android1.1固件,但版本号比较有意思和过去MOTO的某款经典机型一样为A188,在开机时也可以看到,在基带、内核上版本和我们的熟悉的RC33没有太大区别,不过最终还是使用了cupcake更新,在输入方面可以看到已经完善了。   3.开发方面我们可以看到最终OMS的桌面将会有两套方案,G1主屏和博思主屏,博思主频多出了一个名为Widget家园的程序,这里可以让我们看到整个Home Screen变换成了类似iPhone的外观或者说魅族M8的桌面,虽然不是很有什么创意不过还是算做了些改进,否则和Android也太像了,更多的都是在UI上的修改。   4.最终OMS上怎么开发呢? Java的IDE还是Eclipse,编译器还是ADT,生成的还是APK文件,最终不同的仅仅是运行在国产的手机上,目前已知的终端有HTC Magic的Dopod G2版本还有联想oPhone。可以在oPhone手机网中了解。

Android 1.5开发体验 Android开发技术

  很多网友对于Android 1.5 SDK还是比较陌生了,过去出现的问题,我们已经在前期内容中讲到API兼容问题,以及ADT 0.9插件无法安装的解决方法,此前出现两个版本的1.5 SDK一个为preview预览版和release 1正式发行版。需要android开发人员注意,同时最新的adt插件是时 0.9.1.v200905011822-162 ,需要大家确认,这里新增的Android Virtual Devices Manager可以帮助开发人员快速的配置自己的API Level以及模拟器的各个特性,比如Sdcard映像的大小、最终的固件版本可选1.1和1.5以及模拟器的屏幕,比如HVGA、QVGA以及相对应的横屏模式。 而新的layout布局工具也有很大的改进,界面的设计基本上可以做到可视化,但是复杂些的xml结构或细节的出错都会遇到null空指针的bug,这里Eclipse配合插件明显不如微软的Visual Studio来的稳定。

Android过后Chrome OS又是如何开发? Android开发技术

  很多网友不知道对于目前Android SDK是否满意,但是如果Google操作系统 Chrome OS 真的上市后留给第三方开发人员的又是什么呢? Dalvik运行在PC Linux绝对是不太可能的,Linux PC平台的运算能力还是很强的,甚至是未来的Server考虑,可能又回到了Linux卡发难的老路。除非Google推出自己的OS API,类似Win32 API那样在应用层面上有一个统一。  Chrome OS最终运行Sun Java这样的方式开发出来的程序和Windows相比优势不是很明显,至少我们仍然看到Dot Net这样的东西仅仅适合数据库和Web应用,在桌面应用上的效率和稳定性十分低,反倒P/Invoke增加了开发难度以及运行效率。如果Linux平台上还是用GCC那样的去写最终仍然还是拍拖不了OOP这样的设计方式,可以想象没有Visual Studio这样稳定的IDE后,Eclipse也仅仅是Java或Ruby、Python这样的玩具脚本,比过去的Sun Applet先进不到哪里?  值得我们考虑的是Chrome OS和Android不同,会不会有一个Win32 API和DDK提供给大家。

Android UI开发专题(四) View自绘控件 Android开发技术

  很多时候想要设计漂亮的Android UI,使用Android自带的控件无法满足我们的需要就要考虑自绘控件,在Android界面显示类View,可以通过继承扩展重写相关方法来实现我们的图形绘制。   首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,相关的界面计算可以重写onMeasure方法,对于相关的按键可以重载onKeyDown、onKeyUp以及onTouchEvent等,下面android开发网就以一个实例来表示。 public class cwjView extendsView{  public cwjView(Context context)  {     this(context,null);  }   public cwjView(Context context,AttributeSet attrs)  {     this(context,attrs,0);  }   public cwjView(Context context,AttributeSet attrs,int defStyle)  {     super(context,attrs,defStyle);     //这里是本类的构造,相关初始化可以在这里添加代码   }  @Override  protectd void onDraw(Canvas canvas)  {     super(canvas);      //绘图的关键,可以看到已经包含了一个canvas句柄,可以直接通过我们前面讲到的Canvas类进行相关的操作,完整的例子,大家可以参考Android SDK中例子Snake贪食蛇游戏的实现。   } }  有关View类的更新,我们直接通过调用invalidate(int l,int r,int r,int b)来更新一个Rect矩形区域,或更新全部,同时在线程中我们使用需要调用postInvalidate来更新界面。 

Android控件开发之ToggleButton原理 Android开发技术

  在Android平台上比较有特色的就是ToggleButton控件,虽然它的功能和CheckBox有些类似,但是他们的用处还是有一定的区别比如ToggleButton原本有图片装饰,通过ToggleButton可以很清楚的显示某些状态。它们均从Button为基类的CompoundButton中实现,其真假事件从Checkable来实现。   public abstract class CompoundButton extends Button implements Checkable {    private boolean mChecked; //状态是否选中    private int mButtonResource;    private boolean mBroadcasting;    private Drawable mButtonDrawable; //按钮的图标    private OnCheckedChangeListener mOnCheckedChangeListener; //选中状态改变监听    private OnCheckedChangeListener mOnCheckedChangeWidgetListener;     private static final int[] CHECKED_STATE_SET = {        R.attr.state_checked    };     public CompoundButton(Context context) {        this(context, null);    }     public CompoundButton(Context context, […]

Android本地化开发技巧 Android开发技术

   很多开发者考虑使自己的Android程序兼容多国语言,其实Google在设计Android时已经考虑了本地化问题,通过定义相关的资源可以自适应当前手机的语言来加载响应的资源文件。Android开发网列出主流的本地化:   语言自适应    在Android工程的res目录下,通过定义特殊的文件夹名称就可以实现,比如我们的程序兼容 简体中文、日文、英文、法文和德文,常规的字符strings.xml保存的目录在values文件夹中,这里我们就需要定义 values-zh-rCN、values-ja、values、values-fr和values-de。当然如果涉及到参数配置类xml文件夹也要改成xml-zh、xml-ja、xml、xml-fr和xml-de。    当然我们用代码如何获取本机的语言类型呢? 通过代码 :    String cwjLocale = getResources().getConfiguration().locale.getCountry();  即可获取,其中cwjLocale保存了国家代码,这些定义在java.util.Locale的字段中,直接对比即可,比如我们英文版固件设备为US。   当然我们需要测试,可能会强制加载某国语言,可以使用在Activity的SetContentView之前调用,比如强制简体中文,代码如下:          Resources resources = getResources();         Configuration config = resources.getConfiguration();         config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文         DisplayMetrics dm = res.getDisplayMetrics();         resources.updateConfiguration(config, dm);   屏幕分辨率自适应      这里我们需要判断两种大体情况,屏幕的方向,比如常规的纵向port和横屏land,我们定义的图片资源为     layout或drawable,而横屏情况下位layout-land和drawable-land,当然还有一种情况就是分辨率。   目前Android手机分辨率有    HVGA (320×480) 的G1、G2、G3 对应标准的 drawable-mdpi   QVGA (240×320) […]

Android中文短信开发技巧 Android开发技术

  提起Android中文短信发送其实实现原理过去我们已经在 谈谈Android中文短信的实现一文讲述了,这里不再赘述。主要是构造PDU header,使用16bit的编码方式即可。   开发过程中需要实现: 1.使用Android 0.9 SDK,该版本的andrid.jar文件实现比较完善,文件大小在11MB左右比最终的Android 1.0 SDK的9MB大了不少。直接引入一个外部的Jar即可。其中0.9版SDK下载地址可以在 Android SDK 0.9 beta测试版发布和下载 该页找到。 2.主要实现就是通过 android.telephony.gsm.SmsMessage.SubmitPduandroid.internal.telephony.gsm.SmsRawData 3.  最终发送时使用 sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent) 或着是 sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String> parts, ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent> deliveryIntents)  不要忘了加入<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>权限,查看内容如图:

100% Secure Checkout

PayPal / MasterCard / Visa