开源社区技术专家
本博客对Gradle进行一个简单的介绍,以及它的安装。 Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具 可以切换的,基于约定的构建框架 强大的多工程构建支持 基于Apache Ivy的强大的依赖管理 支持maven, Ivy仓库 支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件。
到目前为止,Gradle已经出到2.1版本了,从1.12这个版本开始看,主要是因为我使用Gradle是Android开发所需要。公司里面是采用Android Studio来进行Android项目的开发的,而公司里普遍用的还是Android Studio的0.8.4及其之前的版本,暂时还不能更新到2.0或更新的版本。
在java的程序中,貌似都没有这个构建版本号的概念,用的诸如eclipse, idea和android studio的IDE也没有直接提供构建版本号的选项。不过我却想在android程序的版本号当中添加一个构建版本号,当然,这个只是个人的蛋疼需求。
在app的module里的build.gradle文件中,在android { ...}里面加上这样一段代码,即可修改生成的apk的文件名。 android.applicationVariants.
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用。 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在本文当中,我将与大家分享如何使用PopupWindow实现弹出菜单。
我们知道,在布局文件中设置textview的autolink及其类型,这时textivew上会显示link的颜色,并且文字下面会有一条下划线,表示可以点击。而在我们在点击textview时,应用将根据我们所设置的类型跳转到对应的界面。
过滤文件名中的非法字符: /* * Date: 14-7-18 * Project: Access-Control-V2 */ package cn.irains.access.v2.
1、不能左右滑动的ViewPager /* * Date: 14-7-28 * Project: Access-Control-V2 */ package cn.irains.access.
本文章的导航栏代码参考了viewpagerindicator的实现。本文叙述的是之前版本的qq或微信中,底部的图标加文字的导航栏的实现。 2014-09-14 13:59:42更新:library的代码已经从Demo中分离出来,见文末。
这次再对内容为View的ViewPager的适配器PagerAdapter进行简单的封装,支持List数据和SparseArray的数据,带更新视图功能。 首先,先贴上最上面的抽象类代码: /* * Date: 14-8-18 * Project: Access-Control-V2 */ package cn.
ViewPager是android的support库中的一个控件,也是一个在许多应用开发中都用得比较多的控件。目前为止,对ViewPager的使用,我一般是用ViewPager + Fragment的组合,偶尔也有ViewPager加View的组合。
在之前的文章中,和大家分享了在天朝下下载android 4.4.2源码的过程(详见下载android4.4.2源码全过程(附已下载的源码)),现在写下编译的笔记。 虽然在android doc中,有提到可以用open jdk来编译,见:https://source.
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。
Android Studio: http://zdz.la/iq4zSa
项目地址:https://github.com/msdx/androiddoc 访问短址: http://androiddoc.qiniudn.com/
1、android支持库未安装 编译不过,提示如下: Could not find any version that matches com.android.support:appcompat-v7:+ ....... Please install the Android Support Repository from the Android SDK Manager 其实原因和解决方法已经说得很清楚了,找不到支持库,请在Android SDK Manager中安装。
1、andriod gradle插件版本过低。 出错位置: dependencies{ classpath 'com.android.tools.build:gradle:0.10.2' } 提示信息:You must use a newer version of the Android Gradle plugin. The minimum supported version is 0.12.0 and the recommended version is 0.12.+ 这种情况一般出现在导入其他人的项目,或者更新了android studio之后。
andriod中修改对话框的风格,可以通过设置theme来实现,部分元素需要通过Java代码来修改,下面以修改对话框的标题为例说明各步骤。 1、编写一个文本样式。 DIALOG的标题是一个textview,在sytles.xml中,添加如下代码来设置你自己的文本样式: 22sp @color/font_dark_grey 2、设置对话框的标题主题。
本人未研读过android-studio使用文档,亦未去好好琢磨它的各种使用技巧等。以下内容均来自个人使用经验,如有讹误,还请指正。 1、主题。 File->Settings, 搜索Theme, 点开Appearance, 在右边面板的Theme中选择Darcula。
做个笔记,这里是Dialog的风格,如果是用AlertDialog创建的,不能直接用。在styles.xml的写法: 22sp @color/font_green 1 true @st...
先说明一下,我本身是做android开发的,java web是我的弱项,只是近来京东云免费,于是去折腾了几下,有了些许经验,特作分享。如果文章中内容有误,还请各高手指正。 我在web端,需要连接数据库进行查询插入等操作,但是每次进行操作都先获取连接用完后就断开的话,未免效率太低。
文件夹如下,含android studio多个版本的下载地址:http://pan.baidu.com/s/1ntmdCPN 目前有以下版本: 0.5.2: windows 0.
昨晚看到QQ群消息说gradle2.0发布了,今天去看了一下,确实是昨天发布的,为rc版本:Gradle 2.0-rc-2。于是决定试一下。 gradle可以在官网上下载,地址如下:http://www.gradle.org/release-candidate。
这两天遇到一个问题,关于使用java mail发送邮件的问题. 具体是这样子的:我使用java mail发送异常报告邮件,邮件中有一个包括异常日志的附件,和关于设备信息的邮件正文.如果日志为log后缀名,那么在我的qq邮箱中显示正常.
STOP MAINTENANCE(本文已过时)!(2017-05-25) 今天更新了android studio,从0.5.3升级到0.6.1版本,结果在IDE中编译时没有问题,但是在命令行时编译就会出现以下错误: :app:compileTestDebugJava FAILED FAILURE: Build failed with an exception.
android中的actionbar可提供自定义view,具体是先写好自定义view的布局,然后在代码中获取Actionbar对象,调用 setCustomView方法。 但是这样,它还是会显示前面的LOGO,即使你设置 不显示 LOGO和标题。
本文为阅读http://blog.csdn.net/xiaominghimi/article/details/6089594的笔记。 在Android游戏中充当主要角色的,除了控制类就是显示类。
目前我已经把框架放在了github了,地址如下:https://github.com/msdx/android-crash 使用方法见github上面的README.md。 本项目相关jar包已发布在jcenter,如果你使用gradle构建工具,可以直接添加依赖,具体见项目的README.
最近在写Android程序崩溃异常处理,完成之后,稍加封装与大家分享。 我的思路是这样的,在程序崩溃之后,将异常信息保存到一个日志文件中,然后对该文件进行处理,比如发送到邮箱,或发送到服务器。
最近做程序中,需要用到一张大图。这张图片是2880*2180大小的,在我开发所用的华为3C手机上显示没有问题,但是给米3装的时候,一打开马上报OOM错误。给nexus5装,则是图片无法出来,DDMS中打印堆溢出异常。
声明 17、推荐一行一个声明,因为这样有利于写注释。换句话说,下面的声明方法中, int level; // indentation level int size; // size of table要优于: int level, size;绝对不要将变量和方法的声明放在同一行,例如:long dbaddr, getDbaddr(); // WRONG!不要将不同类型的变量的声明放在同一行,例如: int foo, fooarray[]; //WRONG!注意:上面的例子中,变量与标识符之间只用了一个空格。
最近把一个用eclipse构建的项目,加上了Gradle脚本,用它来编译。虽然最后编译是显示BUILD SUCCESSFUL,但是在编译过程中,却打印出一大堆栈信息,似乎是在编译我自定义的注解时出现的异常。
今天在用ActionBar,需要增加一个菜单选项,按教程在/res/menu下对应的布局文件中添加了一个item,但是它却是显示在overflow中,而不是直接显示在ActionBar当中的。我的布局文件是这么写的: 最后在stackoverflow当中终于找到答案:Action Bar not displaying Action Items (All in overflow) Android 。
最近在做推送,采用的框架是androidpn,但对于客户端实在是修改得受不了了,特别是重连和连接那一块,有些BUG的修改实在是难以下手,比如在重连那里,原来的写法是在死循环中不断调用 xmppManager的连接登录,这样,就算是重连成功,依然会每20秒加入重连的任务(连接、注册、登录),然后不断地去执行。
今天clone了一份代码,跑gradle test时出现failed,从report上来看是这个错误:IllegalArgumentException,具体如下: java.lang.IllegalArgumentException at org.
STOP MAINTENANCE!(2017-05-25) 最近用android studio来做android开发的IDE,它是使用gradle来构建的,于是开始学习gradle. 现在有一个项目,里面有一个android-library的模块。
以下是我写的一个脚本,可以统计在某个项目中,自己修改代码的行数,包括增加多少行,删除多少行。 可以统计当天,24小时内或全部时间内。使用时需要把代码中的author对应的值换成自己的名字。 代码如下: #!/bin/bash function count() { local ...
最近使用android studio ,在IDE里面使用Gradle构建的时候,一直出现构建失败,失败信息显示Failed to set up SDK。然后 提示无法找到andriod-14平台,我更换为其他平台也是同样的错误。
买了一个无线网卡插在ubuntu系统的电脑上,却不能识别出来。lsusb,可以看到下面的结果: Bus 002 Device 002: ID 0bda:8179 Realtek Semiconductor Corp. 是我之前待的公司的网卡。
对git不熟悉的我,经常把git提交搞得很乱,导致在master上有许多无用的commit,最终决定好好地看一下git的使用教程,却不小心发现了还有一个git-flow的工具可以帮助我管理好git项目的代码。
在ubuntu下连接android设备,虽然不用像windows那样安装驱动,然而却会遇见一个错误:输入adb shell,会提示insufficient permissions for device,输入adb devices,设备名称会显示 ????????等一大堆问号。
上篇讲了androidpn的client端,这篇该讲一下我使用androidpn-server端的笔记了。 这里我使用的androidpn是tomcat版的,由不知哪位大神移植并修复了部分bug的版本。
这几天应业务需要,在搭建一个推送的DEMO。在参考了许多资料之后,最终使用了androidpn。 androidpn分server端和client端。server端几经折腾,最终采用了github上的一个版本,毕竟代码质量好控制。
公司配备了一台性能还算不错的电脑,不过是台式机。我在上面装了ubuntu,但是我的代码工作目录全部都在我自己的win7笔记本上。有时程序开多了就容易卡,于是想到用装ubuntu的台式机来访问我win7的工作目录,进行编程。
AlarmManager是Android中的一种系统级别的提醒服务,它会为我们在特定的时刻广播一个指定的Intent。而使用Intent的时候,我们还需要它执行一个动作,如startActivity,startService,startBroadcast,才能使Intent有用。
本文为《code conventions-150003》(JAVA代码规范)笔记。 文件组织 1、超过2000行代码的源文件将会比较难以阅读,应该避免。 2、每个Java源文件都包含单一的公共类或接口。
2011-09-06 今晚看到mars老师第二季第三集的视频,在看到第11分钟时,mars老师说到了设计宽高的一个参数match_parent的问题,这让我想起了之前自己的笔记。 mars老师以为这是谷歌文档的讹误,并说他自己试过,报错。
在这里,我所使用的是网易有道的接口,把网址http://www.youdao.com/smartresult-xml/search.s?type=id&q= + 要查询的身份证号,粘贴到浏览器上打开,可以看到返回的是一个表示结果的XML文件。
这两天,在看CSS,看的是圣思园的视频。里面对样式的优先级是这样说的: 一般来说所有样式有下面的规则(以下优先级由低至高) 1.Browser default 浏览器默认 2.External style sheet 外部样式表 3.Internal style sheet (inside the tag) 内嵌样式表 4.Inline style ( inside an HTML element) 行内样式 在学到后面时,对链接定义它的样式。
当模拟器太大遮住了大半个屏幕甚至无法完全显示时,可以通过改变它的分辨率以改变在它在电脑上显示的大小。 打开Android SDK and AVD Manager(在工具栏中点击按钮,或在Window菜单中点击Android SDK and AVD Manager)。