自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贝壳的博客

Android开发的学习之路

  • 博客(19)
  • 收藏
  • 关注

原创 Android 自动化测试

在日常的开发中,尤其是app开发,因为不像web端那样 出错以后可以热更新,所以app开发 一般对软件质量有更高的要求(你可以想一下 一个发出去的版本如果有重大缺陷 需要强制更新新客户端是多么蛋疼的事情)。恩,所以我们app的开发者 一定要学会自己测试自己的代码 自己测试自己的app,不要寄希望于测试来帮你找bug,实际上,我工作多年的经验告诉,绝大多数隐藏极深的bug 都是开发自己发现的

2017-04-21 09:43:51 528

原创 最近在写APP版本更新,本地版本号查询

android studio修改版本的地方变了,修改Module 的build.gradle文件中defaultConfig { minSdkVersion 16 targetSdkVersion 21 versionCode 1 versionName "v1.0" }以上边的更改为准,配置文件

2017-03-27 16:09:46 584

转载 Android 上线前的混淆

作者地址http://blog.csdn.net/lovexjyong/article/details/24652085为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤:1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没

2017-03-25 16:14:13 334

转载 关于fragment切换更新数据问题

作者链接http://blog.csdn.net/lantesi/article/details/45919479之前项目中遇到一个问题,一个activity中有4个fragment,互相切换,我需要在fragment切换时,将切入前台的fragment的页面数据刷新,网上很多方法都不太好用。之前一直在onResume()中调用,但是并不会在fragment

2017-03-22 17:01:07 1206

原创 ViewPager不能高度自适应?height=wrap_content 无效解决办法

ViewPager用的很多,主要用啦展示广告条。可是高度却不能自适应内容,总是会占满全屏,即使设置android:height="wrap_content"也是没有用的。。解决办法其实网上有很多,但是个人感觉不是很好比如:LinearLayout的时候,使用weight来自动调整ViewPager的高度。一般的代码如下:LinearLayout xmlns:android=

2017-03-02 19:17:15 825

原创 android listview 中adapter中 按钮点击跳 activity

// item 中Button 监听事件        listItemView.btn.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent(

2017-02-24 17:12:04 450

原创 android studio 获取 md5 sh1

工作中需要用到百度/高德地图,申请AppKey的时候都需要提供Sha1,在Eclipse签名的时候Sha1就能看的到,但是AndroidStudio找了很久,还是没有找到。Android Studio获取SHA1(发布版):    第一步:打开AndroidStudio的Terminal工具    第二部:找到jdk的bin目录下,并敲一下命令:keytool -list 

2017-02-17 15:58:22 457

原创 Android 清晰架构设计

作者:何红辉 链接:https://zhuanlan.zhihu.com/p/20001838 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。过去几个月以来,通过在Tuenti网站上与@pedro_g_s和@flipper83(安卓开发两位大牛)进行友好讨论之后,我决定写这篇关于架构安卓应用的文章。我写这篇文章的目的是想把我在过去几个月体悟到的小方法以及在调查

2016-11-11 09:16:13 690

转载 Android 架构设计

开始之前,假设你已经阅读过我之前撰写的文章“ Architecting Android…The clean way?”。如果还没有阅读过,为了更好地理解这篇文章,应借此机会读一读:架构演变演变意味着一个循序渐进的过程,由某些状态改变到另一种不同的状态,且新状态通常更好或更复杂。照这么一说,软件是随着时间发展和改变的,是架构上的发展和改变。实际上,好的软件设计必须能够帮助我们发展和扩充解决方案,保持其

2016-11-11 09:10:44 280

原创 Intent的显示与隐示 权限的添加

1 Intent对象包含Component、Action、Category、Data、Type、Extra、和Flag七种属性显式(Explicit intent)和隐式(Implicit intent)

2016-07-29 17:38:50 932

原创 android 补间动画 属性动画 总结

补间动画, 属性动画

2016-03-21 15:37:45 842

原创 java截取字符串 截串 substring

关键字: java截取字符串 截串 substring需求,把"01:大汽车",分成01和大汽车有两种做法:一是substringJava代码 package test;    public class substringTest  {   public static void main(String args[])    {     String N =

2016-03-17 10:24:57 1808

转载 搭建项目

我们先假设一个场景需求:刚有孩子的爸爸妈妈对用照片、视频记录宝宝成长有强烈的意愿,但苦于目前没有一款专门的手机APP做这件事。A公司洞察到市场需求,要求开发团队尽快完成Android客户端的开发。以下模拟团队和工作开展。团队情况:产品经理1人,Android开发2人,服务端开发2人,UI设计1人。 开发周期:两个月。 工作量:大约50个界面。 隐含需求:考虑到用户群体有可能激增的情况,服务端需

2016-03-16 11:19:15 292

转载 http://www.codeceo.com/article/android-project-from-0.html

我们先假设一个场景需求:刚有孩子的爸爸妈妈对用照片、视频记录宝宝成长有强烈的意愿,但苦于目前没有一款专门的手机APP做这件事。A公司洞察到市场需求,要求开发团队尽快完成Android客户端的开发。以下模拟团队和工作开展。团队情况:产品经理1人,Android开发2人,服务端开发2人,UI设计1人。开发周期:两个月。工作量:大约50个界面。隐含需求:考虑到用户群体有可能激增的情况,服务端需要

2016-03-16 11:15:45 1247

原创 startActivityForResult与startActivity的不同之处在于:

startActivityForResult与startActivity的不同之处在于: 1、startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。 2、startActivityForResult( ) 可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activi

2016-03-04 16:16:55 316

原创 Android fragment 之间传值的方法

在Activity中加载Fragment的时候、有时候要使用多个Fragment切换、并传值到另外一个Fragment、也就是说两个Fragment之间进行参数的传递、查了很多资料、找到两种方法、一种是通过共同的Activity传递、这种方法是在Activity里面添加一个字段、来临时保存要一些值 翻了一下Fragment的API、找到了另外一个方法来传递、就像Activity一样便捷的实现参数传

2016-02-24 09:57:50 5269 1

原创 phonegap 微信登录总结

wechat.js文件 cordova.define(“com.libei.cordova.wechat.Wechat”, function(require, exports, module) { var exec = require(‘cordova/exec’);module.exports = { Scene: { SESSION: 0, // 聊天界面

2016-02-18 17:55:27 2914

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-02-18 17:43:50 232

原创 原生的http请求

GET请求String serverURL = "http://127.0.0.1/xxx/xx.jsp?username=abc;HttpGet httpRequest = new HttpGet(serverURL);// 建立http get联机HttpResponse httpResponse = new DefaultHttpClient().execute(httpRe

2016-02-18 17:29:51 855

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除