- 博客(118)
- 资源 (15)
- 收藏
- 关注

原创 博客地址搬家啦~
以后的文章或者笔记,应该都会搬到这里新地址了。谢谢~ https://qiujunblog.wordpress.com/ 同时,为了方便,QQ交流群也开了,欢迎加入。
2016-09-13 21:08:25
783
原创 CentOS + Flask +Python +MySql 部署网站运行在阿里云笔记
叨唠几句很久没更新笔记了,很惭愧,说多都是泪 ┭┮﹏┭┮,直接主题吧此笔记仅作为在学习部署阿里云后台项目的时候,踩的坑,和填的坑,也许很多不对和不妥的地方,还请指出....等一下,还有句话 这个笔记的前提是,已经在本地或者哪里都可以,已经学习完,编写好了 python + flask + mysql 的工程,本地运行是OK的哦没有写好的项目?教程? 网上有大把...
2019-01-04 14:55:10
751
原创 Git 王者超神之路
安装Git配置文件 查看config设置用户信息Git别名.gitignore文件仓库的基础操作 初始化仓库添加文件到暂存区status仓库diff仓库提交更新移除文件移动文件查看历史提交撤销操作标签分支操作 分支的创建分支的切换分支合并删除分支分支管理变基远程分支跟踪分支远程仓库操作 克隆仓库查看远程仓库添加远程仓库远程仓库的拉取推送远
2016-11-21 14:58:37
1343
原创 RxJava 常用操作符大全(二)
ThrottleFirst巧妙使用防止View被连续点击,仅发送指定时间段内的第一个信号RxView.clicks(btThrottleFirst).throttleFirst(3, TimeUnit.SECONDS).subscribe(new Action1<Void>() {@Overridepublic void call(Void aVoid) {Toast.makeText(m
2016-11-16 11:45:04
1501
1
原创 RxJava 常用操作符大全(一)
createcreate操作符是所有创建型操作符的“根”,也就是说其他创建型操作符最后都是通过create操作符来创建Observable的调用例子如下:Observable.create(new Observable.OnSubscribe<Integer>() {@Overridepublic void call(Subscriber<? super Integer> observer) {
2016-11-16 11:27:36
1606
1
原创 RxJava 进击的Rx
Action先看看之前使用的代码如果使用Action来代替Subscriber得到的代码是这样的Observable.just("Hi", "Man") .subscribe(new Action1<String>() { @Override public void call(String
2016-11-16 11:06:23
1819
原创 读 给 Android 开发者的 RxJava 详解 笔记
目录目录RxJava 到底是什么RxJava 的好处进入主题分水岭Scheduler理解记忆过程变换mapflatMapflatMapflatMap 的原理说点什么吧RxJava 到底是什么?异步。RxJava 的好处?简洁。随着程序逻辑越来越复杂,它依然保持简洁。进入主题基本实现1) 创建Observer Observer<String> observer =
2016-11-16 10:40:24
1623
原创 RxJava 初探
目录目录入门教程推荐RxJava的观察者模式关系RxJava 与常规用法简明对比初步使用说点什么吧入门教程推荐RxJava、Retrofit http://www.jianshu.com/p/19cac3c5b106 http://gank.io/post/560e15be2dca930e00da1083 https://gank.io/post/56e80c2c677659311
2016-11-16 09:56:37
1579
原创 Parcel: unable to marshal value
额,今天,发现群里有为大胸弟,一直在问这个问题。 在两个activity直接传递List时,出现Parcel: unable to marshal value异常。讲道理,当时我也不知道是什么原因,不过想了一下,找了资料,应该发现是酱紫的。在MainActivity页面(MainActivity页面向NextActivity页面传递一个List):Intent intent = new Inte
2016-09-23 19:54:43
1390
原创 Android Studio Unsupported major.minor version 52.0
呀儿咯,AS是和我作对还是怎样啊,每次用AS,要不是这个问题,就是那个问题的。。好吧,讲道理,是我还不熟悉的原因。嗨呀,好气啊。这不,又遇到一个恶心的问题,Android Studio Unsupported major.minor version 52.0clearn就出错,一顿百度,谷歌,这里说是jdk版本不一致,修改就好了,然而不能。那里说是buildToolsVersion 和 compil
2016-09-20 10:11:19
864
原创 对于Java回调的最深刻解析
先说点什么这些天,没啥事的时候,就想到什么,就去找点资料看,补充学习一下,以前老是忘记的东西,或者新听到的东西。这次,就记录一下之前一直很容易弄混的概念,回调。其实随便谷歌百度一下,都能找到各种例子解析什么的,不过,我相信你也会和我一样,看的时候觉得很简单,也很容易理解,不过,过一阵子之后,突然需要用的时候,又不清不楚了,又去找资料啊,看代码啊,找例子啊。说多都是泪,我就是这样过来的。!第一站,来
2016-09-18 14:30:17
3009
8
原创 EventBus 3.0的用法 Demo
啥是 EventBus ,大家也都知道了,否则也不会跑来用。现在都更新到3.0了,我也是最近才去使用它,以前知道,但是毕竟没去实际运用,最近比较闲,也就来跳跳坑了。首先,引用相关jar包依赖(额,这里还是用的Eclipse…用AS的自行跳过,直接添加一句依赖代码就好。) 考虑周到的我,直接贴出jar包下载地址。 http://download.csdn.net/detail/pm
2016-09-13 16:03:08
639
原创 使用Butterknife注解经过的坑
这两天趁着空闲时间,就去玩一下Butterknife,还用一下EvectsBus来结合试试水的,结果,刚开始导入包,就几个按钮和文本,居然一直编译不过,报空指针,根本注解不了,各种找例子,还以为是我的代码写错了啥的,我就想,就那么一个butterknife.bind(this),这里检查那里检查,还是没发现错误,哎,心灰意冷。 不过,转折点来了,终于被发现了问题,也解决了。哎呀,好气啊,原来
2016-09-09 10:26:56
1868
原创 添加第三方APK(在整套Android源码编译,刷机的方案中)
一、添加到Removeable中(可卸载)1. 在 alps/device/Amobile/A_101/device.mk 文件中添加改APK: OPera_MINI 名字# add third parth removable apkPRODUCT_PACKAGES += \ FaceBook \ MXPlayer \ Hungamaplay \
2016-08-11 10:39:14
4428
1
原创 Launcher 3 源码分析笔记
首先,是xmind的思维导图的一个目录结构。 由于思维导图太大,截图观看不方便,因此存放地址在: http://note.youdao.com/yws/public/redirect/share?id=2301b14f008b277a12bc5aed84e76f9f&type=false刚刚接触几天,结合网上一些解析和5.1源代码,暂时先画出以下笔记:
2016-07-09 09:39:53
1152
原创 NDK 配置到实现(Eclipse)
连接为云笔记: http://note.youdao.com/yws/public/redirect/share?id=a1b1c1e6ca3ae14225f91c784d1e1eda&type=false
2016-07-05 15:40:31
688
原创 Wifi 断开和连接上 的广播监听
// 监听wifi状态广播 private BroadcastReceiver mwifiBroadcastReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) { String action = intent.getAction();
2016-06-30 16:30:42
4043
原创 Wifi 搜索列表
项目完整源码下载地址1、首先,进行搜索wifi列表private WifiManager localWifiManager;// 提供Wifi管理的各种主要API,主要包含wifi的扫描、建立连接、配置信息等localWifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE);// 扫
2016-06-29 11:35:46
1724
原创 Wifi 输入密码连接
项目源码完整下载地址1、从搜索出来的列表中点击某项,进行输入密码连接 String wifiItemSSID = null; @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Log.i("ListOnItemC
2016-06-29 11:34:57
1044
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似
2016-01-15 17:32:25
514
原创 NDK JNI 笔记
1.首先是先安装好 android-ndk-r10e ,这是必须的第一步。2.新建一个Android 工程,并在目录中新建一个jni目录,里面用来放置mk,.h,和.c 文件(当然,这里还没生成) 3.编写本地方法的声明,public static native String getStringFromC(); 4.(这一步应该在最后,提前说明)为了方便编译so库,可以直接在eclipse中配
2016-01-14 17:17:19
561
原创 Android 序列化 Parcelable和Serializable 浅谈
Android自定义对象可序列化有两个选择一个是Serializable和Parcelable一、对象为什么需要序列化 1.永久性保存对象,保存对象的字节序列到本地文件。 2.通过序列化对象在网络中传递对象。 3.通过序列化对象在进程间传递对象。二、当对象需要被序列化时如何选择所使用的接口1.在使用内存的时候Parcelable比Serializable的性能高。2将对象序列
2015-11-29 21:00:46
461
原创 一个很好用的Gif 图截取工具
GifCam轻便,简单,高效率。http://3.xp510.com:801/xp2011/GifCam_CHS.rar谁用谁知道好
2015-11-28 19:20:20
2811
原创 Android 动画杂谈 (三)
灵动菜单 先看效果图 分析一下,首先,每个小菜单,都是得具有用户交互性,所以肯定不能使用视图动画,必须使用属性动画,其次,只需要针对每个不同的按钮设置不同的动画,并设置相应的插值器就可以实现张开,合拢效果了。理清思路后,实现就比较简单了,下面上代码是实战:package com.example.administrator.myapplication;import android.animatio
2015-11-28 17:47:04
525
原创 安卓Genymotion模拟器安装与配置在Eclipse
Genymotion安装注册登录进入Genymotion官网,点击下载按钮,这里必须要输入邮箱。如果是已经注册过直接输入邮箱即可。如果未注册,输入邮箱和两次密码后,系统会发送一封邮件到你邮箱,请一定要去验证后在进行下一步下载。注意:一定要进行验证。 下载因为Genymotion运行需要VirtualBox,如果电脑中没安装过,选这个版本。这个版本包含Oracle VirtualBox 4.2.12
2015-11-27 22:00:12
781
原创 祝贺自己找到第一份实习工作
您好! 我是广东xx股份有限公司,感谢您应聘我司软件开发部软件工程师一职。 很高兴您即将成为我们的一员。 附件是我司聘用书,请查阅。就业协议签约安排: 时间:2015年11月5日下午16时30分不知不觉得就大四了,时间真快。 前一段时间,大家都在忙着找工作,找实习了,陆陆续续地都走了一大批了。叹气~~(>_<)~~走向社会了,学生时代也即将结束,有不舍,也有对于社会新工作的挑战的憧憬,不怕
2015-11-27 21:20:16
850
原创 Android 动画浅谈(二)
自定义动画创建自定义动画非常简单,只需要实现它的applyTransformation的逻辑就可以了,不过通常情况下,还需要覆盖父类的Initialize方法来实现一些初始化工作,下面,通过实现一个电视机关机的动画来看一下用法。效果非常简单,让一个图片纵向比例不断缩小即可,对应的矩阵处理方法如下:Matrix matrix = t.getMatrix(); matrix.pre
2015-11-26 20:50:18
692
原创 Android 动画杂谈(一)
视图动画:视图动画产生的动画,并不能改变事件响应的位置,它只是单纯地修改了显示,如果使用视图动画,那么按钮的实际点击有效区域还是在原来的地方,点击移动后的地方时不会有点击时间发生的。TranslateAnimation ta = new TranslateAnimation(0,200,0,300);ta.setDuration(1000);ta.setFillAfter(true);view
2015-11-26 17:40:30
652
原创 Shader 之 BitmapShader
Shader 又被称之为着色器,渲染器,它用来实现一系列的渐变,渲染效果。Android中的Shader包括以下几种: 1.BitmapShader 位图Shader 2.LinearGradient 线性Shader 3.RadialGradient 光束Shader 4.SweepGradient
2015-11-25 16:22:09
4071
原创 PorterDuffXfermode ——实现刮刮卡效果
利用PorterDuffXfermode实现,图例如下,需要注意的是,PorterDuffXfermode设置的是两个图层交集区域的显示方式,dst是先画的图形,src是后画的图形。其中最常用的就是通过DST_IN,SRC_IN模式来实现将一个矩形图片编程圆角图片或者圆形图片的效果。先利用一个普通画笔画一个Mask遮罩层,再用带PorterDuffXfermode的画笔讲图像画在遮罩层上,这样就可以
2015-11-25 16:01:19
3125
原创 Android 实现滑动的几种方法(三)scrollTo 与 scrollBy
scrollTo(x,y): 表示移动到一个坐标点(x,y) scrollBy(dx,dy) : 表示移动的增量为dx,dy如果在ViewGroup中使用scrollTo和scrollBy,那么移动的是所有子View,但如果在View中使用,那么移动的将是View的内容,例如TextView。 所以,该例子不能在View中使用这两个方法来拖动这个View,该在View所在的ViewGroup中来
2015-11-22 17:30:14
2990
原创 Android 实现滑动的几种方法(二)LayoutParams
通过改变layoutParams 来改变一个View的位置时,通常改变的是这个View的Margin属性package com.example.administrator.myapplication;import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;im
2015-11-22 16:52:42
2408
原创 Android 实现滑动的几种方法(一)onLayout方法 和 offsetLeftAndRight()与offsetTopAndBottom();
onLayout方法:package com.example.administrator.myapplication;import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;/** * Created by
2015-11-22 16:45:27
9461
原创 机顶盒开发 笔记
一、 运行和调试1、adb connect [ip] 连接指定ip的设备2、abd disconnect[ip] 断开连接3、adb uninstall [package] 卸载应用4、abd shell input text ** 调试程序是,用于输入文字。二、焦点控制而在电视机(机顶盒)上做开发时,每个控件只有获得了焦点,才能对其进行操作,因此,确保需要
2015-11-03 15:53:49
1274
原创 Android design library(二)----------FloatingActionButton + Snackbar
首先,还是先导入依赖包:compile 'com.android.support:design:22.2.0'然后,先来看下FloatingActionButton的效果图: 其实,很简单,就是导入一个控件,先在xml中声明;xmlns:app="http://schemas.android.com/apk/res-auto"然后: <FrameLayout android:
2015-10-31 15:49:29
4433
原创 Android Layout_weight 解密
首先看一个布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"
2015-10-27 19:51:11
2406
原创 Android 拍照,从图库选择照片,并裁剪,上传到服务器
整个例子的功能包括:通过照相机拍照,并把照片保存到SD卡中,或者通过图库选择图片。选择后,经过裁剪,再保存,显示,最后上传到服务器。内容知识点: 1、URI 分为两种: content 类型的 和 file 类型的。(如,拍照后的data中取得的图片是content型的,图库中选取的也是) 2、Content 类型和 File 类型的 Uri 之间的转换 3、调用剪裁的Uri ,必须是
2015-10-27 15:50:19
3288
原创 Android 理解生命周期最好例子—按home暂停音乐播放,跳转暂停
可以设置个全局变量static boolean isBehind = false;然后在每个Activity中做如下的处理: 在onResume方法中 将这个变量设置成false; 在onPause方法中 将这个变量设置成true; 在onStop方法中进行判断, if(isBehind != false) stopService; 当你跳转到另一个activity的时候,
2015-10-26 20:57:37
2650
原创 Android SlidingDrawer(滑动式抽屉)
先上效果图: 该控件用法简单,如果自己加以美化,定能做出很炫的想要的效果一、SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一是可以拖动的handle,其二是隐藏内容的View.它里面的控件必须设置布局,在布局文件中必须指定handle和content.二、重要属性 android:allowSingleTap:指
2015-10-23 19:57:44
2697
原创 Android Listview 分页加载数据(滑到底部加载)
由于例子大部分内容都过于基础,只是多了一个滑动的判断,所以,直接上代码首先,主布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >
2015-10-23 19:33:30
3504
TableActivity 实现TableActivity之间的不同Tab标签的切换
2015-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人