
Android
喝醉的毛毛虫
业精于勤,荒于嬉;行成于思,毁于随
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从J2EE转向Android的第一天
练习public void setContentView (int layoutResID) 的例子,无意中不知道gen下的R.java没了。自己新建了个R类。发现控制台还在报错。layout下命名了myLayout,原来是不能用大写,呵呵,改成小写,编译,Run。 Activity之间通过Intent跳转: @Override public void onCrea原创 2010-04-22 22:52:00 · 1339 阅读 · 0 评论 -
Android 6.0 使用 Apache HttpClient
Android 6.0版本已经已经基本将Apahce Http Client 移除出SDK。 那么问题来了,既然如果我项目中使用了volley 怎么办呢(volley引用了大堆的ApacheHttpClient类)?请看官网给出的答案Apache HTTP Client RemovalAndroid 6.0 release removes support for原创 2015-11-29 22:38:24 · 28255 阅读 · 23 评论 -
解决Android Studio gradle resolve 过慢
Android 开发伙伴么,还在吐槽Android Studio编译项目发生“gradle resolve ...",无期限的waiting么? 还在为不停关闭、打开Android studio但是还是编译不过而喷中国特色的GFW么? 今天买了个VPN翻墙也没解决,最后发现换个源就搞定了。 http://maven.oschina.net原创 2015-11-30 09:38:40 · 14514 阅读 · 0 评论 -
Android应用架构之Android MVP使用
前两篇已经将Retrofit和RxAndroid应用到了项目中,这篇本打算直接将Dagger2引进项目,但是考虑到整个项目结构,就来个结构整理吧,一起来看看网上炒得火热MVP模式。说到MVP就不得不提到MVC,做过J2EE的猿友们肯定知道MVC是个什么东西。MVC即 Model、View、Controller, 那MVP就Model、View、Presenter。Model用于提供数据模型,V原创 2015-12-22 16:33:45 · 12176 阅读 · 1 评论 -
Android 网络框架Volley JAR包生成
Google I/O 2013上,谷歌发布了Android网络通信框架Volley,以前我都是直接使用源码编译的,那么问题来了,怎么直接打包成jar包使用呢?不要着急,请看如下步骤:1、下载源码git clone https://android.googlesource.com/platform/frameworks/volley2、编译 gradle原创 2015-11-29 15:27:07 · 5455 阅读 · 0 评论 -
Android 模拟器(源码编译)测试内核驱动
假设源码编译已经完成,并且能执行emulator -image system.img -data userdata.img -ramdisk ramdisk.img 启动模拟器。1、下载android goldfish内核,我的android源码版本为4.0.3,但是模拟器跑起来显示的内核版本是2.6.29而不是3.x,先不管这个,就下载2.6.29的goldfish吧。 c原创 2013-03-14 16:00:38 · 4800 阅读 · 0 评论 -
悲催的诺基亚
完美的木马,砍Symbian、砍MeeGo、再砍Android!原创 2014-07-19 11:25:45 · 2704 阅读 · 2 评论 -
移植Android 遇到的问题
Failed to open eth0 这个错误引起的原因有很多,最终折腾一天后才发现是uboot启动参数,ethaddr必须设置为host的mac地址。错误:cannot open 'initlogo.rle'vi system/core/init/init.c if( load_565rle_image(INIT_IMAGE_FILE) ) { fd原创 2012-08-06 01:21:23 · 2085 阅读 · 0 评论 -
各种邮箱Folder---IMAP协议
QQ邮箱:设置-->账户-->开启IMAP/SMTP服务 SMTP服务器:imap.qq.com IMAP服务器:smtp.qq.comINBOX 其他文件夹 Sent Messages Drafts Deleted Messages Junk原创 2013-11-22 10:05:36 · 15224 阅读 · 1 评论 -
终极解决adb server is out of date问题
通常做法: 方法一、重启eclipse 方法二、adb kill-server adb start-server 以上海解决不了就用以下方法: 方法三: adb nodaemon原创 2013-09-23 10:16:06 · 1876 阅读 · 0 评论 -
自定义Gradle插件(二)
上一篇博客已经介绍了如何实现简单的自定义gradle插件,今天介绍如何自定义Task。一、自定义Task 1、直接沿用上一篇的代码,copy一份改名CustomPluginTask 在plugin\src\main\groovy\com\micky\gradle目录创建源文件 MyCustomTask.groovypackage com.micky.原创 2016-01-19 14:47:31 · 10332 阅读 · 3 评论 -
自定义Gradle插件(一)
Google已经建议Android开发全部转向Android Studio开发,Android Studio 是使用gradle编译、打包的,那么问题来了,gradle可是有一堆东西...,为了测底了解gradle,今天就来学习下如何写自己的gradle插件(当然插件类是使用groovy写的),先看如下代码目录:如上图所示,plugin目录是插件源码目录,sample是用来测试插件的。原创 2016-01-19 13:35:27 · 15073 阅读 · 5 评论 -
Android内存泄露自动检测神器LeakCanary
经典的面试题:a、怎样在coding中避免内存泄露?b、怎样检测内存泄露?这两个问题我想大部分android 职位面试时都会被问到吧。 怎样避免就不赘述了,网上很多答案。 工具呢,当然也有很多,比如DDMS、MAT等,但是怎样在我们编码过程中植入内存检测代码,让我们程序在开发调试阶段就能发现内存泄露呢?好了,现在该大名鼎鼎的LeakCanary出场了,原创 2016-01-04 11:30:01 · 17460 阅读 · 2 评论 -
Retrofit详解(二)(Retrofit核心流程)
上一章已经介绍了Retrofit创建过程,这章介绍Retrofit Api Service创建与访问过程。Retrofit 相比Volley等网络框架一个最大区别就是它只需要声明接口,就可以访问网络,刚刚使用的时候觉得很神奇,有木有。要彻底理解底层实现访问,需要先来看看Java的动态代理。public interface Subject { boolean login(St原创 2016-04-18 16:17:06 · 8954 阅读 · 2 评论 -
Retrofit详解(一)(Retrofit创建过程)
作为一个coder最悲哀的莫过于知其然,不知其所以然,呵呵,玩笑而已啦。闲暇之余,研究研究Retrofit源码,为了防止大篇幅的代码,看得头晕眼花,这章仅仅详细介绍Retrofit的创建过程。Retrofit使用方法这里就不介绍了,请看我前面写的博客。首先贴上需要提前展示的APIService:public interface UserService { @POST(Const原创 2016-04-18 14:43:56 · 8595 阅读 · 1 评论 -
RxJava 、RxAndroid 详解
请看大牛扔物线的教程 http://gank.io/post/560e15be2dca930e00da1083原创 2015-12-17 11:55:43 · 5313 阅读 · 0 评论 -
RxAndroid 应用(一)(简易天气App)
关于RxJava、RxAndroid 详解请看 RxJava、RxAndroid详解,今天写下关于RxAndroid在实际项目中的应用。右侧栏天气列表:左侧栏城市列表原创 2016-01-11 09:51:03 · 5453 阅读 · 1 评论 -
RxAndroid 应用(四)(简易天气App之RxBus)
如果还不知道什么是RxBus,可以google下Otto或者EventBus看看。 介绍RxBus前先介绍下什么是Subject,直接看看我前面的描述: subject 是一个神奇的对象,它可以是一个Observable同时也可以是一个Observer:它作为连接这两个世界的一座桥梁。一个主题可以订阅一个Observable,就像一个观察者,并且它可以发射新的数据,或原创 2016-01-11 16:17:59 · 4907 阅读 · 0 评论 -
RxAndroid 应用(二)(简易天气App)
上篇博文已经基本介绍了如何使用RxJava,这篇主要解决上篇遗留下的问题 ”在Activity中分别调用了获取天气数据和城市列表的方法,那么问题来了,如果取数据的时候显示了process Dialog, 我该在什么时候结束呢,写flag判断?“ 这个问题可以使用RxJava的Merge操作符实现,故名思议就是将两个接口Observable合成一个,废话不说直接上代码:原创 2016-01-11 10:32:08 · 2822 阅读 · 1 评论 -
RxAndroid 应用(三)(简易天气App之Observable内存泄露)
在我们的Handler使用不当会发生内存泄露,那么Observable会不会发生持有context而导致内存泄露呢?答案是肯定的,接下来就来看看怎样避免。public class RxUtils { public static void unsubscribeIfNotNull(Subscription subscription) { if (subscription原创 2016-01-11 14:57:38 · 4417 阅读 · 1 评论 -
Android应用架构之Retrofit、RxAndroid使用
上篇博客客http://blog.youkuaiyun.com/liuhongwei123888/article/details/50375283 已经介绍了Retrofit的简单使用方法,接下来介绍的是在Retrofit中怎么使用RxAndroid,如果还不了解请移步大神“扔物线”的教程 http://gank.io/post/560e15be2dca930e00da1083。1、将RxJa原创 2015-12-22 00:23:51 · 27326 阅读 · 17 评论 -
Android应用架构之Retrofit使用
Retrofit:Square提供的开源产品,为Android平台的应用提供一个类型安全的REST客户端 https://github.com/square/retrofitRxAndroid:响应式编程框架RxJava针对Android平台的扩展。 https://github.com/ReactiveX/RxAndroid ht原创 2015-12-21 23:42:28 · 103117 阅读 · 24 评论 -
JavaMail在Android上使用
下载http://code.google.com/p/javamail-android/ 虽然n年没更新了,但还是将就用吧,遇到问题自己解决。 说说纠结了2两天的问题:IMAPInputStream cannot be cast to javax.mail.Multipart,这种问题真是折腾人。 我建一个普通的java项目,导入javamai原创 2013-07-27 11:53:05 · 3012 阅读 · 0 评论 -
Android面试回顾
今天终于开始面试Android工作了。 上午去一家公司问的都是Android应用的东西,也就Activity,Intent,ContentProvider,Broadcast Receiver,还有UI方面的东西。答的不是很好,毕竟自己经验不足。 下午去另一家公司,先做了一套笔试题,然后问的都是很技术性的问题,现在只记得部分: invalidate与postInvalidate的用法 Handler的理解. Service是一个原创 2010-10-28 19:59:00 · 2187 阅读 · 3 评论 -
从J2EE转向Android的第十一天-----DatePickerDialog和ListActivity
很久没写了,最近忙死了。晚上敲点儿代码也不想来这儿贴出来。最郁闷的是今天搞了一天Flex界面,结果要换一种方式显示,大半天的敲得代码又得重新写。我就一装满水的杯具啊。 DatePickerDialog:本想将时间Dialog上显示的English改为中文的,没找到方法,估计得改它的源码。以后用到再说吧,哈哈。package com.lhw.android.datePickerDia原创 2010-05-19 23:17:00 · 1730 阅读 · 0 评论 -
从J2EE转向Android的第九天-----文件存储
五一在家,学了SQLite和SharedPreferences,刚刚练了下Android的文件存储 读文件: Context.openFileInput(String fileName)打开一个文件 FileInputStream is = this.openFileInput("test.txt");原创 2010-05-04 23:42:00 · 952 阅读 · 0 评论 -
从J2EE转向Android的第八天-----Toast
Toast是Android用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,显示一段时间后自动消失. makeText(Context context, int resId, int duration) ;//Make a standard toast that just contains a text view with the text fro原创 2010-04-29 23:47:00 · 989 阅读 · 0 评论 -
从J2EE转向Android的第七天-----文件管理
先说说昨天的错误: 异常信息:java.lang.RuntimeException: Your content must have a ListView whose id attribute is android.R.id.list 还是看API吧,API中这样描述: An activity that displays a lis原创 2010-04-28 22:59:00 · 1566 阅读 · 1 评论 -
从J2EE转向Android的第六天-----文件管理
今天也是上次那网友叫我帮忙做文件相关的东西,于是开始学习Android文件管理MyActivity:package com.lhw.android;import java.io.File;import java.util.List;import android.content.Context;import android.graphics.Bitmap;import android原创 2010-04-28 00:48:00 · 1778 阅读 · 0 评论 -
从J2EE转向Android的第五天-----ProgressDialog
今天经理问我工作进度怎样,随便说了下。感觉时间还是很充足的,至少不用加班,呵呵,有时间学习Android. 1、ProgressDialog: //显示Progress对话框 mDialog=ProgressDialog.show(MainActivity.this, "请稍等", "正在执行...",true);//最后一个参数表示是否是模态原创 2010-04-26 20:15:00 · 1288 阅读 · 1 评论 -
从J2EE转向Android的第二天
1、不同Activity之间的数据传递: MainActivity中: EditText et_shengao=(EditText)findViewById(R.id.et_shengao); RadioButton rb_gender_male=(RadioButton)findViewById(R.id.rb_gender_male);原创 2010-04-24 00:40:00 · 1055 阅读 · 2 评论 -
从J2EE转向Android的第四天-----Android Map
昨晚受网友之托研究Android Map。 第一步:申请com.google.android.maps.MapView apiKey 获取debug keystore的位置:Eclipse——>Windows——>Perferences——>Android——>Build查看Default debug keystor,比如我的C:/Users/Admi原创 2010-04-25 11:53:00 · 2685 阅读 · 1 评论 -
Android AIR 学习(一)
从Android 2.2开始flash能运行于android平台上了,且Flash Builder 4.5已经完全提供了Flex开发Android应用的环境和sdk类库。一直由于性能问题,一直没往这方面研究。今天抽空看了下,按照网上的一个例子熟悉了下。首先看看项目结构: 应用截图:---------------------------------原创 2011-06-06 18:57:00 · 5774 阅读 · 0 评论 -
Lancher研究(将Launcher源码加入到Eclipse运行调试)
由于项目需要先在要研究下Launcher, Launcher是应用程序的启动器,Launcher的功能包含:桌面切换,快捷方式,背景图功能等。Android2.2 之前采用Launcher,2.2开始采用Launcher2,最大的区别是:Launcher2有3D效果,界面比以前炫了。首先还是将系统默认的Launcher改改,看看胜利的果实吧。 我下的Android2.3.3的源码,在Ubuntu上编译之后,在out/target/common/obj/JAVA_LIBRARIES/framewo原创 2011-04-19 01:53:00 · 2083 阅读 · 0 评论 -
Android平台下基于XMPP的IM研究(一)
由于项目需要做一个基于XMPP协议的Android通讯软件。故开始研究XMPPXMPP协议采用的是客户端-服务器架构,所有从一个客户端发到另一个客户端的消息和数据都必须经过XMPP服务器转发,而且支持服务器间DNS的路由,也就是说可以构建服务器集群,使不同的服务器下的客户端也可以通信,XMPP的前身是一个开源组织制定的网络通信协议——Jabber,XMPP的核心是在网络上分片段发送XML流的协议,这个协议是XMPP的即时通讯指令的传递手段。 为了防止服务器间发送的数据被篡改或偷听,XM原创 2011-04-22 10:41:00 · 11682 阅读 · 19 评论 -
Android NDK 开发之cygwin,ndk-build问题
周末空闲之时,玩下NDK,装了个Cygwin,比预期料想的好只用了3个小时,但是遇到几个问题。 到http://www.cygwin.com/下载setup.exe,装Cygwin时指定安装目录非默认C:cygwin,安装完之后home目录是空的,找不到.bash_profile,google许久后找到解决方法:删掉Win7环境变量HOME,在E:\cygwin\home\新建Adm原创 2011-10-29 21:13:33 · 16947 阅读 · 3 评论 -
Android内核&源码下载
===========================内核下载=====================================$ git clone https://android.googlesource.com/kernel/common.git下载完成后进入common目录执行$ git branch -a //列出所有内核分支$ git checkout -b原创 2013-03-12 13:02:29 · 3050 阅读 · 2 评论 -
ubuntu下配置NFS, tftp服务
1、NFS安装配置(1) apt-get install nfs-kernel-server apt-get install portmap nfs-common(2) 编辑/etc/exports /home/administrator/nfsroot *(rw,sync,no_root_squash)(3) 修改挂载点的属性原创 2013-01-27 10:56:35 · 932 阅读 · 0 评论 -
从内核LED驱动到APK应用实例(旧HAL架构 )
一、内核驱动 myled/├── Kconfig├── Makefile└── led.c/*led.c*/#include #include #include #include #include #include #include #include #include #define GPMBASE 0x7f008000#define GPMCON原创 2012-08-07 22:00:47 · 1946 阅读 · 0 评论 -
利用源码编译Android系统JNI动态库
1、代码和Android.mk编写├── jni│ ├── Android.mk│ └── led.c//led.c#include #include jboolean Java_com_lhw_led_Led_turnOn(JNIEnv *env, jclass thiz){ return JNI_TRUE;}jboolean Java_co原创 2012-08-06 02:46:27 · 2903 阅读 · 0 评论