吴小龙同學

党要我帅,我不得不帅!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Android Studio和Genymotion安装常见错误

发表于 2016-03-17 | 分类于 Android

整装出发,新的环境,新的开始,加油,骚年。新公司,首先需要安装Android的开发环境,由于被墙,Android Studio首次启动就被卡,Genymotion也遇到了些问题。

Android Studio初次启动卡在download Components


阅读全文 »

我的编码嗜好

发表于 2016-03-13 | 分类于 猿生活

如果有个好的工具或习惯,会让你编码效率事半功倍。我的个人编码嗜好,内容包括Chrome插件、Android studio插件和快捷键使用、手机录屏软件等。

Chrome插件

AdBlock/广告终结者

作用:当你浏览网页时,被满屏的广告所扰,这个插件让你的网页更干净更清爽。

阅读全文 »

Android基于XMPP开发(三)【注册、登录、修改密码、修改头像】

发表于 2016-03-01 | 分类于 XMPP

Android基于XMPP开发(一)【openfire服务器配置】
Android基于XMPP开发(二)【连接服务器】

本篇将涉及常用的账号管理,包括:注册、登录、修改密码、修改头像。

阅读全文 »

Android基于XMPP开发(二)【连接服务器】

发表于 2016-02-25 | 分类于 XMPP

Android基于XMPP开发(一)【openfire服务器配置】

准备阶段

砍柴不误磨刀工,欲XMPP开发,先引入Smack,具体见https://github.com/igniterealtime/Smack,引入方式如下:
app/build.gradle

1
2
3
4
5
6
7
8
9
10
11
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots'
}
mavenCentral()
}
dependencies {
compile "org.igniterealtime.smack:smack-android-extensions:4.1.6"
compile 'org.igniterealtime.smack:smack-tcp:4.1.6'
compile 'org.igniterealtime.smack:smack-experimental:4.1.6'
}

阅读全文 »

Android基于XMPP开发(一)【openfire服务器配置】

发表于 2016-02-24 | 分类于 XMPP

OpenFire

OpenFire 是采用Java开发的基于XMPP(Jabber)协议,开源实时协作(RTC)服务器。
Smack 是用 Java编 写的XMPP客户端代码库,是 spark 的核心
开源界总是有许多有趣的东东,这三个合起来就是一个完整的XMPP IM 实现。
OpenFire ——服务器端
Spark——客户端
Smack——XMPP 传输协议的实现

阅读全文 »

Android 6.0 RuntimePermission

发表于 2016-02-04 | 分类于 RuntimePermission

Android 6.0 棉花糖,app将不会在安装的时候授予权限,取而代之的是,app不得不在运行时一个一个询问用户授予权限。

1
2
3
4
5
6
7
8
9
10
android {
compileSdkVersion 23
...
defaultConfig {
...
targetSdkVersion 23
...
}
}
阅读全文 »

RxJava

发表于 2016-01-18 | 分类于 RxJava

RxJava是什么

a library for composing asynchronous and event-based programs using observable sequences for the Java VM(一个对于构成使用的Java虚拟机观察序列异步和基于事件的程序库)。
github:https://github.com/ReactiveX/RxJava

阅读全文 »

Android Retrofit 2.0使用

发表于 2016-01-15 | 分类于 Retrofit

实例带你了解Retrofit 2.0的使用,分享目前开发Retrofit遇到的坑和心得。

添加依赖

app/build.gradle

1
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'

接口调用

1
2
3
4
5
6
Retrofit retrofit = new Retrofit.Builder()
//这里建议:- Base URL: 总是以/结尾;- @Url: 不要以/开头
.baseUrl("http://www.weather.com.cn/")
.build();
ApiStores apiStores = retrofit.create(ApiStores.class);
Call<ResponseBody> call = apiStores.getWeather("101010100");

如果@GET(“http://ip.taobao.com/service/getIpInfo.php"),则baseUrl无效。
注意这个任务是网络任务,不要忘记给程序加入网络权限

1
<uses-permission android:name="android.permission.INTERNET" />

同步调用

1
2
3
4
5
6
7
try {
Response<ResponseBody> bodyResponse = call.execute();
String body = bodyResponse.body().string();//获取返回体的字符串
Log.i("wxl", "body=" + body);
} catch (IOException e) {
e.printStackTrace();
}

同步需要处理android.os.NetworkOnMainThreadException

异步调用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Response<ResponseBody> response) {
try {
Log.i("wxl", "response=" + response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable t) {
Log.i("wxl", "onFailure=" + t.getMessage());
}
});

移除请求

1
call.cancel();

接口参数

Path

1
2
3
4
5
6
7
8
9
/**
* Call<T> get();必须是这种形式,这是2.0之后的新形式
* 如果不需要转换成Json数据,可以用了ResponseBody;
* 你也可以使用Call<GsonBean> get();这样的话,需要添加Gson转换器
*/
public interface ApiStores {
@GET("adat/sk/{cityId}.html")
Call<ResponseBody> getWeather(@Path("cityId") String cityId);
}
阅读全文 »

Android CustomView

发表于 2016-01-01 | 分类于 CustomView

View工作流程

View工作流程主要指measure、layout、draw这三个流程,即测量、布局和绘制,其中measure确定View的自身的宽高,layout确定View在父容器放置的位置,draw将View绘制到屏幕上。

阅读全文 »

2016关键字

发表于 2015-12-27 | 分类于 猿生活

回顾15年

这一年,大部分时间都在煎熬,对《2015关键字》几个关键字完成的也不是很满意。

生活方面,顺利结婚,整个过程,只能用两个字形容:虐心,这种心情恐怕只有过来人才知道。工作方面属于迷茫,不知道该干嘛。技术感觉也遇到了瓶颈,是要转IOS?于是swift尝鲜,入门做了个简单的demo就停止了;还是继续加深Android,却不知道该从何入手。直到最近明确了方向,我要向高级程序员进阶。

这一年,整体是不开心,但还是有收获的,拥有了属于自己的技术博客,第一时间学习了很多Android刚出来的新的东西:Android studio、RecyclerView、DesignSupportLibrary、MVP模式等,下面开始展望16年。

阅读全文 »

1…789…16
吴小龙同學

吴小龙同學

公众号:吴小龙同学

154 日志
43 分类
116 标签
RSS
WeChat GitHub 知乎 Weibo
© 2013 – 2024 吴小龙同學
由 Hexo 强力驱动 v3.4.2
|
主题 – NexT.Gemini v6.7.0