Retrofit是一个不错的网络请求库,用官方自己的介绍就是: A type-safe REST client for Android and Java 看官网的介绍用起来很省事,不过如果不了解它是怎么实现的也不太敢用,不然出问题了就不知道怎么办了.这几天比较闲就下下来看了一下,了解一下大概实现方法,细节就不追究了.先来看一个官网的例子,详细说明去网官看 简单示例 首先定义请求接口,即程序中都需要什么请求操作 public interface GitHubService { @GET("/use…
Volley是Google推出的一个网络请求库,已经被放到了Android源码中,地址在这里,先看使用方法 RequestQueue mRequestQueue = Volley.newRequestQueue(context); JsonObjectRequest req = new JsonObjectRequest(URL, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONO…
先来看一下最基本的用法 AsyncHttpClient client = new AsyncHttpClient(); client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public void onSuccess(String response) { System.out.println(response); } }); 通过AsyncHttpClient类的实例就可以执行网络请…
先吐槽一下博客园的MarkDown编辑器,推出的时候还很高兴博客园支持MarkDown了,试用了下发现支持不完善就没用了,这次这篇是在其他编辑器下写的,复制过来后发现..太烂了.怎么着作为一个技术博客社区,对代码的支持应该完善一下吧,`行内代码块`不支持就算了,代码段内还不能有空行,一有空行就识别不了了.而且试着用MarkDown发了篇草稿,右边的侧边栏竟然被挤到屏幕下方了,还影响到了博客布局..不说了..简单修改下标题.代码直接发表. 概述及基本概念 **EventBus**是一个Androi…
概述及基本概念 **EventBus**是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.比方请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间须要通过Listener通信,这些需求都能够通过**EventBus**实现. 作为一个消息总线.有三个基本的元素: Event:事件 Subscriber:事件订阅者.接收特定的事件 Publisher:事件公布者,用于通知Subscri…
前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客Android Metro风格的Launcher开发系列第一篇写了如何配置Android开发环境,只是用文字和图片展示了开发Metro风格Launcher的初步设计和产品要求,这一篇文章将会从代码上讲解如何实现对应的UI效果,好了,评书开讲!   Launcher主体框架实现:         Launcher主体框架我选用的是大家所熟悉的ViewPager控件,因…
什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是Android小人名字的由来.Android的Logo是由伊琳娜-布洛克设计的,设计灵感来源于男女厕所门上的图形符号,外加头上两根天线. Android 发展史 1.AndroidBeta(阿童木)2008年8月18日发布(内测版) 添加一些新的开发工具,例如Eclipse layout布局支持预览,支持编辑9-p…
android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; import android.text.TextUtils; public class NetworkUtils…
前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客http://www.cnblogs.com/2010wuhao/p/4363041.html写了如何配置Android开发环境,只是用文字和图片展示了开发Metro风格Launcher的初步设计和产品要求,这一篇文章将会从代码上讲解如何实现对应的UI效果,好了,评书开讲! Launcher主体框架实现: Launcher主体框架我选用的是大家所熟悉的ViewPag…
微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统.新的生态,未来大部分应用场景都将给予微信小程序进行研发.基于对它的敬畏以及便于大家快速上手,特整理微信小程序商城开发系列,未来将持续增加微信小程序技术文章,让大家可全面了解如何快速开发微信小程序商城. 本篇文章主要介绍微信小程序官方提供的开发工具,俗话说:欲工善其身,必先利其器. 小程序开发文档地址https://mp.weixi…
随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测试.发布更加快捷.频繁.高效和可靠. 本系列教程目录 本系列将详细讲解Devops落地细节.将构建整个持续集成与交付的一整套体系与流程.对于未来要开篇的系列博文列表如下: [DevOps]团队敏捷开发系列(一)--开山篇 [DevOps]团队敏捷开发系列(二)--版本控制之道Git [DevOps]…
通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明确一下接下来的学习目标以及学习路线. 一.对Android开发的基本认识 1.Android原生开发是基于Java语言的,由于我比较擅长C#,所以对Java语言本身不太熟练,需要加强Java语言基础的练习,这一块我会穿插到具体的知识点练习当中,并且在必要的地方给出与C#语言的对比(其实基本上在语法层…
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 Web请求和响应 使用代理方法 做…
很多初学Android开发的人员对网络这一点感觉很高大上,现在我就和大家分享一下我的学习心得. 就目前的Android手机来说,可能存在5种网络状态: ----无网络(这种状态可能是因为手机停机,网络没有开启,信号不好等原因) ----使用WIFI上网 ----CMWAP(中国移动代理) ----CMNET上网 ----2G/3G/4G上网 很多时候我们需要判断用户是否开启网络设置,通常通过ConnectivityManager类来判断网络连接是否存在. 获取网络状态: 那到底如何使用这个类呢?…
经过前两篇blog的铺垫,我们今天热身一下,做个简单的例子. 目录结构还是引用上篇blog的截图. 具体实现代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 方法1.…
上篇博客提到过SQLite,它是嵌入式数据库,由于其轻巧但功能强大,被广泛的用于嵌入式设备当中.后来在智能手机.平板流行之后,它作为文件型数据库,几乎成为了智能设备单机数据库的必选,可以随着安卓app打包到apk文件当中. SQLite的官方网站是http://www.sqlite.org/,可以任意下载,上面也有详尽的文档可以参考,这篇博客重点关注SQLite在Android开发中如何使用. 在Android开发中,推荐建立一个类继承自SQLiteOpenHelper来创建数据库操作类,比如:…
接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工具.adt以及android sdk,体验了一把android开发,记得当时搭建开发环境相当麻烦.由于android开发是基于Java的,所以除了上述的工具之外,首先需要安装jdk,记得当时流行的是jdk1.5(后来是1.6,现在是1.7,未来是1.8),安装好之后需要设置环境变量. 时隔4年之后,…
归结一下,需要进行Android开发所需要的工具或软件: Eclipse - Android是基于JAVA的开发,所以选用目前来说使用较高的Eclipse作为IDE. ADT (Android Developer Tools) Android SDK 1.下载Eclipse3.7,登录http://www.eclipse.org/downloads/,下载Eclipse Classic 3.7: 如果你的机器没有安装JDK或者JRE的话,在Eclipse的安装过程中会提示你指定JDK或者JRE的…
经过前两篇blog的铺垫,我们今天热身一下,做个简单的样例. 文件夹结构还是引用上篇blog的截图. 详细实现代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 方法1.…
原文链接:http://android.eoe.cn/topic/android_sdk 一.android开发环境搭建图文教程整理篇: 1.Android开发环境搭建全程演示(jdk+eclip+android sdk)最新最详尽的图文教程,适合新手和入门级的网友学习!http://www.eoeandroid.com/thread-163886-1-1.html 2.Windows平台Android开发环境搭建(这个是针对1.5操作系统的,大家可以借鉴下) :http://www.eoean…
在android开发的过程中,有的时候面对多个Activity里面一些相同的布局,我们需要写多次相同的代码,同时这种方法给我们的项目维护也带来了很大不便.那么有没有一种可行的办法能够将Activity里面相同的布局拆分的很清楚呢?当然是有的,这个时候就轮到自定义控件闪亮登场了. 其实在android里面有多种方法去实现自定义控件,但是今天这篇博客里面只介绍使用xml的方式进行自定义控件的创建.请看下面的这种场景,不管在哪个页面里面都有个标题,包括一条居中的文本信息和在左边的返回按钮.这个时候我们…
1.关于坑 好吧,在此之前先来说一下,之前开的坑,恩,确实是坑,前面开的两个android开发教程的坑,对不起,实在是没什么动力了,不过源码都有的,大家可以参照github这个应用 https://github.com/joveth/laughter 里面的 代码,相关介绍见http://joveth.github.io/funny/ 2.新说明 好吧,既然无事为何不填坑,反而开了新坑呢,恩,主要是这个较简单啊,两天搞定的简单东西……我XXX,你大爷的……- -!   3.成果 话不多说,跟以前…
今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目录:存放Java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity).由于java要求比较严格,因此要求类名与文件名一致. 2.gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改.里面主要有…
概述 VS自2015把Xamarin集成进去后搞Android开发就爽了,不过这安装VS2015完成的时候却是长了不知道多少.废话少说进正题,VS2015安装时注意把Android相关的组件勾选安装,别组件都没安装就来用VS搞Android开发. VS2015的Android组件安装完成后并不是什么都不用做了,要注意三个问题: 需要自己下载Android SDK JDK的版本 HAXM的安装 下载Android SDK 推荐下载地址:http://sdk.android-studio.org/…
今天开始准备Android开发环境,FQ下载Android Studio,官网下载地址 https://developer.android.com/studio/install.html (突然发现我用的vpn下载还挺快~~ 1G 不到10分钟搞定了~~)安装后发现和视频中不一致啊 对比过后发现好像 Android Studio 是Google新推出的Android开发平台,貌似更加强大,learning... 安装后,添加app项目,hello world 页面, 启动App Run 报错,无…
因为对移动端开发开始感兴趣,开始学习App开发,没有苹果环境的我,只好先选择Android来玩一玩了~~ 找了一套视频,买了几本java.android开发的书,开始搞起~~…
在Android开发的过程中,我们常常须要对控件的样式做一下改变,能够通过用添加背景图片的方式进行改变,可是背景图片放多了肯定会使得APK文件变的非常大. 我们能够用自己定义属性shape来实现. shape: gradient   -- 相应颜色渐变. startcolor.endcolor就不多说了. android:angle 是指从哪个角度開始变. solid      --  填充. stroke   --  描边. corners  --  圆角. padding   -- 定义内容…
对于Android开发者来说,如果没有adb的帮助,那肯定就跟少了一只手那样别扭.其实笔者在刚刚学习Android开发的时候,也没有意识到adb的重要性.想想只要用IDE画出界面,然后实现后台的逻辑代码,貌似App也可以很好的运行起来了,但是我们应该去持续的跟踪App的使用.运行情况,想想如果用户报了个crash bug,但是你自己又复现不了.这个时候我们应该怎么办呢?如果你了解adb的强大之处,就可以抓取log进行分析了. adb位于sdk的platform-tools目录下面,所以当我们下载…
aidl在android开发中的主要作用就是跨进程通讯来着,说到进程相比很多人都是非常熟悉了,但是为什么会有跨进程通讯这个概念呢?原来在android系统中,有这么一套安全机制,为了各个Apk数据的独立性.安全性,它们彼此之间是不能直接进行数据的访问的.所以为了实现多个APK之间的数据.方法.代码复用,我们通常采用的做法就是定义好AIDL接口,这样就能够既保护现有代码的逻辑性.同时又能够兼顾好封装性,各个团队之间只需要沟通好AIDL接口定义就可以了. 下面让我们直接进入主题吧,在进行AIDL定义…
前言:从毕业到现在已经三年多了,回忆一下这三年基本上没有写过博客,总是觉得忙,没时间写,也觉得写博客没什么大用.但是看到很多大牛们都在写博客,分享自己的东西,所以嘛本着向大牛看齐,分享第一,记录第二的目的开始写一个系列的文章,我会把我做一个项目的详细过程分享给大家,供大家参考和交流.好了,评书开讲! 可能大家做Android机顶盒或者Android电视开发的比较少,这类开发基本上都是基于源码的开发,大家有一个git版本库,大家开发完了编译出来一个版本烧到板子上跑,要编译肯定就要编译环境什么的,g…