RxJava 学习

1.向前辈致敬

给Android开发者的RxJava详解,这篇文章讲解详细,如果耐心看完,相信肯定收获不小

本篇博文用作学习RxJava过程中,记录知识和心得,如有冒犯还请见谅!

2.简单介绍

RxJava是通过一种扩展的观察者模式来实现的。
RxJava有四个基本概念:Observable(可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。Observable和Observer通过subscribe()方法实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。

Read More

Share Comments

Android手机定位服务

1.LocationListener使用

优先使用网络定位服务,当GPS服务不可用则跳转到手机位置服务设置页面

Read More

Share Comments

Android Webview总结,不断更新中 :(

1.Android Webview的坑

  • 1.webview再次加载页面空白

    • 1.可以关闭掉硬件加速

    • 2.不关闭硬件加速的情况下:在关闭Acivity之前手动调用下面方法,

    Read More

Share Comments

Gson解析使用总结

1.Gson解析总结,就两种情况

Gson 是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个JSON字符串转成一个Java对象,或者将Java对象转成一个JSON字符串。
使用Gson来解析时,总结一下,就两句话:

  • 1.遇到“{”字符,表示单个对象,直接用XXXBean.class类去映射
  • 2.遇到“[”字符,表示对象数组,要用XXXBean[].class或list去映射

Read More

Share Comments

七牛android使用总结

1.在android上实现对七牛空间操作

在android上实现对七牛空间的各种操作,包括list,delete,upload,download。支持私有空间

注意:官方不建议开发者把AccessKey和SecretKey放在前端的java文件里,最好还是有一台应用服务器

如果只是想尝试一下,好吧:) 代码中都有说明,直接上代码

Read More

Share Comments

android JNI学习① 基础知识

本文只是用来记录,写的不好还请见谅。

1.JNI介绍

JNI概念 : Java本地接口,Java Native Interface, 它是一个协议, 该协议用来沟通Java代码和外部的本地C/C++代码, 通过该协议 Java代码可以调用外部的本地代码, 外部的C/C++ 代码可以调用Java代码;

C和Java的侧重 :

  • C语言 : C语言中最重要的是 函数 function;
  • Java语言 : Java中最重要的是 JVM, class类, 以及class中的方法;

C与Java如何交流 :

  • JNI规范 : C语言与Java语言交流需要一个适配器, 中间件, 即 JNI, JNI提供了一种规范;
  • C语言中调用Java方法 : 可以让我们在C代码中找到Java代码class中的方法, 并且调用该方法;
  • Java语言中调用C语言方法 : 同时也可以在Java代码中, 将一个C语言的方法映射到Java的某个方法上;
  • JNI桥梁作用 : JNI提供了一个桥梁, 打通了C语言和Java语言之间的障碍;

Read More

Share Comments

android JNI学习② JNI调用过程

1.Android JNI调用过程

1.1 由Android系统加载的JNI

Android系统在启动启动过程中,先启动Kernel创建init进程,紧接着由init进程fork第一个横穿Java和C/C++的进程,即Zygote进程。Zygote启动过程中会AndroidRuntime.cpp中的startVm创建虚拟机,VM创建完成后,紧接着调用startReg完成虚拟机中的JNI方法注册。

Read More

Share Comments

Java String与C/C++中byte[]

做JAVA经常会碰到中文乱码问题,还有各种编码的问题,特别是String类的内容需要重新编码的问题。要解决这些问题,必须了解清楚JAVA对于字符串是怎么处理的。

1,“字符”是由数字来表示的

先来重新了解一下计算机是如何处理“字符”的,这个原理是大家必须记住的,特别是在用JAVA写程序的时候,万万不可模糊。我们知道,计算机把任何东西都用数字来表示,“字符”也不例外。比如我们要显示一个阿拉伯数字“3”,在我们的PC里,其实并不是仅仅用一个数字3来代表我们要写的“3”,而是以十六进制的0x33来代表,包括放在内存或者是写到文件里,其实都是写着0x33的,不信你可以编辑一个文本文件,写一个“3”,然后用ultraEdit看他的原始码。

Read More

Share Comments