自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 ubuntu下的android环境配置

本来是想在ubuntu下编译vlcandroid 的,结果弄了好几天,也还是没有编译成功,但是android环境倒是配了很多次,干脆就记下来,正好看到几个月之前申请的公众号快要过期了,那就顺便发篇文章吧.1.下载jdksudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo wget --no-cookies -...

2019-06-02 17:59:20 2011

原创 Activity从StartActivity到onResume的过程

此篇文章主要是想讲明白Activity从启动到页面正真显示的调用过程(即调用startActivity---->onResume)先列出一些我在看源码和博客时存在的疑惑,先在最前面列出来我认为比较难懂概念.App与AMS通过Binder进行IPC通信,AMS(SystemServer进程)与zygote通过Socket进行IPC通信。ActivityManagerNative.getD...

2018-12-25 18:54:00 1197

原创 起点

鸡汤好久没有写博客了吧,是的,我一般是想一段是一段,所以写博客也就纯粹是为了祭奠一点我逝去的光阴。但凡事预则立,不预则废,大学毕业,刚踏入社会,就如一张白纸,什么都可以写,什么都可以画,是一副清明上河图亦或是驱鬼的桃符,都是我们自己做的事情。所以基于这个大背景,我觉得我应该稍稍对于未来或者某一个时间段做一个规划,然后就是执行了。上周五有我的工作算是有了一个着落了,星期六,去公司上了半天班,呵呵,算是

2017-06-11 21:27:14 279

原创 ScrollView嵌套ListView显示不全时原理浅析

ScrollView中嵌套ListView一般很少用,但也是个经典的话题,至于怎么解决,网上可用的代码有很多,就不贴了。这里我我想聊聊为什么显示不全呢?我们是不是找找病根呢?哈哈,等等让我穿好白大褂。1. 预防针1.1 三种测量模式MeasureSpec.AT_MOST :父控件有多大我就显示多大--->warp_contentMeasureSpec.EXACTLY :你指定多大就显示多大--->

2017-05-14 10:41:59 421

原创 Retrofit使用时的注意点

我之前使用网络请求也都是用的Retrofit,但是基本上都只是简单的get和post请求,这是我前几天看网上有位哥们写的Retrofit上传多张图片的文章,我也跟着写了一下下,并顺便扩展了那么一丢丢。类容简要多文件上传添加头信息结合Rxjava使用 这里只提了一下 在之前的博客已经有叙述了。Retrofit使用的注意点:1.上传多张图片: 有一个Multipart的注解 (1)

2017-05-05 17:52:01 548

原创 Android中的事件分发之自我见

Android中事件分发dispatchTouchEvent

2017-04-17 18:27:59 267

原创 设计模式之观察者设计模式

最近在看RxJava的源码,大家都知道Rxjava是基于响应式编程来设计的,那么怎么才能做到响应式编程? 这里有暗藏着一种设计模式—–观察者设计模式,那么我们今天就来给大家把观察者设计模式给大家好好聊一聊今天只说观察者设计模式 哈哈那么简单点说下 什么观察者设计模式 ?举个例子吧! 前一段时间 朝阳群众不是炒得火热吗? 我们今天举一个朝阳群众抓小偷的例子吧 哈哈 事情是这样的: 一个小偷了一笔钱

2017-01-12 21:38:20 333

原创 Mvp+Rxandroid+Retrofit的简单实现

上半年的时候我就开始接触Rxandroid了,网上的文章也很多,我看的是抛物线的那篇文章 说得很详细 不但讲了操作符更把原理讲得很透彻,后面我又学习了mvp,感觉mvp真是屌爆了 不用不知道 一用就爱上了 ,再后来我有接触了Retrofit,Retrofit很蹩脚,可能是我的java基础很菜吧(反射和动态代理),好了 说了很多扯淡的话 ,咱上正题了1.mvp框架的构建请参考我之前的博客,Androi

2016-09-25 17:33:27 680

原创 Windows 下搭建 React Native for Android 之 基础篇

今天来点干货 在Windows下搭建React Native 的环境 废话不多说 有问题 我们一起探讨1 Android的环境ANDROID_HOME: D:\android-sdk-windowsPATH: %ANDROID_HOME%\tools.%ANDROID_HOME%\platformtools2 sdk 必须包含下列内容Android SDK Buildtools versio

2016-09-04 18:53:00 334

原创 ViewHolder的二次封装

我们使用listview的时候总不可避免的会使用ViewHolder,今天我来说两种ViewHolder的使用方式1 这是最普遍的使用方式//holder类static class ViewHolder{ TextView title; RatingBar ratingBar; TextView time; TextView kouw

2016-09-04 18:12:41 257

原创 Android中使用MVP的简单封装

这个周末我又重新把mvp的封装再捋了一遍,我简单点说吧,就是在之前的前面,把m,v,p,三个抽出了各自的基类,绑定方法和之前一样,同样是p中有m和v的引用,p通过m获取到数据后,传递给v,从而隔断了v和m之间的联系,实现了解耦1. 我这里所说的传递数据 都是指以接口回调的方式回传数据的,不是简单的return.2. Basepresenter中的我用软引用的方式来获取view对象的,并且也把获取mo

2016-08-28 18:04:19 1171 1

原创 android中的MVP模式初探

前面的在扯淡好久没写博客了,说句老实话,最近一直忙着学习,就很少关注博客了,身边也有同学将每天的学习的内容发表成博客,我也很想去写,但是吧,一是我懒,二来呢,我想博客还是得有点,至少在我看来认为是干货的东西,我们之前学了mvp模式,我用最基本的方法去写了几个demo,发现真的很好用,尤其是当你需要大量的网络请求操作的时候,mvp真的是一个值得使用的模式,当然mvp不单单只应用于网络请求数据展示这一块

2016-08-21 11:15:30 363

原创 Handler的基本原理浅谈

Handler主要实现主线程与子线程之间的相互通信 Handler主要由四部分组成 <1>Looper.prepare(); <2>Handler handler=new Handler(); <3>handler.sendMsg()在子线程中执行 <4>Loop

2016-06-27 17:32:10 356

原创 注解+反射实现ViewInject的功能

1.反射: 获取实例: <1>Class clazz=类名.Class <2>实例.getClass() <3>Class.forName(“类的全路径”)//这是获取任意权限修饰的变量(pri

2016-06-26 14:46:52 640

原创 多线程下载

好久没有更新博客了 ,今天写了一篇多线程下载并可以实现暂停之后继续下载,文章还有很多改进的地方, 望大神们不吝赐教package mutildownload1;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;/** * HttpURLConnection 使用步骤 * A:URl url=new U

2016-05-15 10:24:42 399

原创 安全卫士第九天笔记

首先,,,抱歉,今天的电话和短信拦截没有看懂,所以例子就没敢照抄了。。。。。。listview复用缓存完整版 //完整版的复用缓存的精髓在于把findbyid的操作也进行了缓存的处理 @Override public View getView(int position, View convertView, ViewGroup parent) {

2016-03-09 20:20:25 303

原创 安全卫士第八天笔记

将设置好的自定义toast位置应用到外拨电话的中 case MotionEvent.ACTION_UP: int endX=ll_dragView_toast.getLeft(); int endy=ll_dragView_toast.getTop();

2016-03-07 13:50:43 225

原创 手机卫士第七天笔记

监听文本变化 //文本监听器方法 number.addTextChangedListener(new TextWatcher() { @Override //当文本变化完成之后的时候调用 public void beforeTextChanged(CharSequence s, int start, int

2016-03-06 08:12:23 253

原创 安全卫士第六天笔记

创建一个服务,定位当前用户的所在地的信息,当前手机用户收到指定信息后会发送本地坐标给发信息的手机package ligang.huse.cn;import android.Manifest;import android.app.Service;import android.content.Intent;import android.content.SharedPreferences;im

2016-03-04 12:09:59 394

原创 安全卫士第五天

异步加载框架package ligang.huse.cn.tools;import android.os.Handler;import android.os.Message;/** * Created by javac on 2016/3/2. */public abstract class MyAsycnTask { Handler handler = new Handler

2016-03-02 16:13:24 293

原创 安全卫士第四天笔记

1、为 引导设置的四个界面添加translate(平移动画) Android Studio中在res目录下新建一个ainm的文件夹,选择translate,文件名自己随意设置添加动画内容<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/and

2016-03-01 18:12:42 269

原创 安全卫士第三天

自定义属性[1]在values文件夹下新建一个attrs的xml文件格式如下:<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="ligang.huse.cn.ui.SettingView"> <attr name="title2" format="string" />

2016-02-28 20:51:35 239

原创 安全卫士第二天笔记

1、实现文本居中的效果gravity:表示控件内内容的对其方式layout_gravity:表示该控件在父布局中的对齐方式android:paddingTop:表示内容距离该控件顶部的距离android:layout_marginTop:表示该控件距离父布局顶部的距离2、GirdView的实现方式:android:numColumns="3":表示分三列显示an

2016-02-27 18:36:27 265

原创 安全卫士第一天笔记

好久没有更新博客了,而我并没有放弃学习,放寒假之前急着考试,,,,放假后我回到家,却没网络,所以就暂停了写博客。但我利用寒假的期间将Android基础学完了,跟着老师的视频,把老师的代码重新敲了一遍,虽然学得不是很精,但是基础的知识点还是有了一个了解,四大组件,网络,数据库,UI,自定义组件我还没学,, 今天我开始学习“安全卫士”因为开学了就有网,连夜把视频下载下来,今天趁着有空,学了第一天的课程

2016-02-24 23:12:01 347

原创 git中多人协同开发

git是一门及其强大的版本控制工具,作为多人协作开发的利器,我今天所说的是以gitHub为服务器的方式来介绍的 1.首先你得将的rsa公钥上传到gitHub服务器,建立起当前电脑与gitHub服务器的联系 2.将要开发的项目接口以及配置文档先拉下来 git clone +项目地址 然后在当前电脑上就可以做开发了。。。。。。。 建议新建一个分支,在新建的分支上进行开发,最后上传的之前,将当前

2016-01-01 19:20:39 480

原创 git初探

git是一门强大的版本控制软件,至于简介我就不介绍了,在windows上安装也很简单, 从官网http://git-scm.com/download/ 你电脑对应的版本,直接接下一步就行1.理解工作区与暂存区的概念,这将是我们学习git的关键一步 首先看图 解释一下工作区(就是电脑中的某个文件夹) git init (初始化git仓库)在当前文件夹下会生成了一个.git的目录,里面装了很多

2016-01-01 18:10:03 224

原创 Tomact+mysql+navicat...以及一些遇到的小bug和优化的问题集

删除libreoffice sudo apt-get remove libreoffice-common 删除Amazon的链接 sudo apt-get remove unity-webapps-common 删掉基本不用的自带软件(用的时候再装也来得及) sudo apt-get remove thunderbird totem rhythmbox empathy brasero si

2015-12-11 13:47:15 579

原创 win7+ubuntu Kylin 15.10融合之路很简单...so easy

如何安装win7+ubuntu Kylin 15.10win7已经装好,在硬盘上也划分了30G作为unbuntu的安装空间了 ××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

2015-12-05 11:33:21 1082

原创 多线程

首先理解一下程序、进程、线程的具体解释 程序(program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process):是程序的一次执行过程,或是正在运行的一个程序。动态过程:有它自身的产生、存在和消亡的过程。 如:运行中的QQ,运行中的MP3播放器 程序是静态的,进程是动态的 线程(thread):进程可进一步细化为线程,是一个程序内部的

2015-10-18 19:23:04 326

原创 网络(Socket)编程

网络编程:就是在网络上按照通信协议(TCP/UDP)传输数据,也就是说网络编程是建立在IO流与通信协议之上的,之前我已经学了IO流 我这里只记根据通信协议下的网络编程,即TCP和UDP,还有一个URL的通信,至于通信需要IP地址+端口号这类网络基础知识,我就不啰嗦了,遇到具体问题具体分析,先掌握大致的方法(通过自己写的例子来理解TCP/UDP的意义) TCP举例:package com.liga

2015-10-17 17:01:23 210

原创 IO流

首先开篇立论 什么是IO流:设备之间的数据传输。java中对于数据的输入(input)/输出(output)操作以”流(stream)” 的方式进行,所以就叫IO流 但是在记输入/输出流之前,先记一个类:File类 File类能创建,删除,重命名文件和目录,但是不能修改(访问)文件本身的内容,要修改问价的内容还得需要输入/输出流 File对象可以作为参数传递给流的构造函数 常用的构造方法

2015-10-06 16:36:02 389

原创 集合篇(Collection)

集合是什么?简单的说就是一种容器,用来装载各种封装后的数据,数组也能装载数据,他和集合有什么区别呢?简单的说,数组是固定的,而集合却是可以随时根据需要增加,删除,改变数据。 集合框架 看图 这是集合里面包含的接口和实现类,我可能知道不是那么多,只能将我学了的记下来 -List接口:存储有序的,可以重复的元素.—相当于“动态”数组 常用方法 :删除remove(int index) 修改s

2015-10-05 17:23:50 278

原创 常用类(String、StringBuffer、Random、Enum,日期类、数字类)

我想了好久。。。这么多类我该怎么做笔记,,,,哈哈 其实很简单 听我细细道来 String与StringBuffer的区别在于String类是不变的,而StringBuffer是可以改变的String s1="a";//这个只存在一个,在常量池中String s2=new ("a");//s2却存在两个a一个常量池中,一个在堆中 也就是说用new的方式就创建了两个对象System.out.

2015-10-04 20:59:30 300

原创 异常处理(Exception)

什么叫异常(Exception):在程序运行过程中出现的错误 再看一张图 异常的分类 异常主要分为:错误、一般性异常(受控异常)、运行期异常(非受控异常) 1)错误:如果应用程序出现了Error,那么将无法恢复,只能重新启动应用程序,最典型的Error的异常是:OutOfMemoryError(内存溢出) 2)受控异常:出现了这种异常必须显示的处理,不显示处理java程序将无法编译通过

2015-10-04 18:12:18 478

原创 抽象类(abstract)与接口(interface)

用abstract修饰的类就是抽象类 抽象类存在的几个必要条件 1)必须用abstract 修饰类 2 )类中要有抽象方法 3)要有构造函数(可写可不写,系统会默认生成一个不带参数的构造函数) 4)抽象类和抽象方法不能用final修饰,因为抽象类是子类来继承的,抽象方法是子类继承后来根据实际需要来重写的 注释:有抽象方法的类一定就是抽象类。如果子类中没有实现父类中的抽象方法,在子类中还应

2015-10-04 15:31:14 341

原创 类和对象浅谈(3)

我们之前写了封装和继承(类和对象的三大特性中的两种),今天我来说说三大特性中的第三种:多态(polymorphism) ,什么叫多态?专业术语有点绕口,先用自己的话描述一下就是一个老祖宗下面有好多子女,然后这个这些子女又好多子女 依次往下 无休无止,虽然繁衍出了很多新人,但是却有着相同血脉,这就是生活中典型的多态应用(有点点偏颇,不正之处望大神赐教),而java中的老祖宗就是Object类,所有的类

2015-10-02 23:44:07 257

原创 类和对象浅谈(2)

上一篇简单的聊了一下如何初始化对象,这一篇我们简单的聊一下面向对象的三大特性(其实不止,但就这三种体现的最明显),封装、继承、多态,封装之前我们已经讲了 就是get与set方法(但是这是对于一个类里面来讲的,如果在一个项目中的封装是指工具类一类被经常用而且独立的的代码将其组合成一个类,也叫封装),那我们就来说说 继承与多态 继承:用一句谈恋爱时撒娇的话说就是 你的是我的,我的还是我的。 专业术语

2015-10-02 20:10:50 285

原创 类和对象浅谈(1)

学java就是最主要还是和类和对象打交道,此所谓万物皆对象。。。 类是对象的妈妈,而对象就像妈妈把她的希望要儿子实现一样,典型的望子成龙,不,是一定要成龙。。。专业术语就是对象是类的具体实例化,类是对象的抽象 如何定义一个类: publci class Dog{ private String name; private int money;//类型前面加private是为了保护数据只能在本

2015-10-02 18:20:29 308

原创 Java中的堆和栈

java中分堆(Stack)和栈(Heap) 栈(Stack)主要存储方法和变量指向值得地址,采取先进后出的原则,没有垃圾回收机制(GC进程),堆(Heap)负责存储对象实例,当new一个对象后,栈负责存储指向这个实例的地址值,而堆负责存储这个实例,堆中有垃圾回收机制(GC进程),这也是java区别于C++的一个优点 静态属性(保存在Stack中的指令区域)和动态属性(保存在Heap中的数据区域

2015-10-02 17:42:30 343

原创 NotePad++中的GBK乱码问题

今天用NotePad++写了一个小程序练练手 结果出现了GBK乱码的问题 好一阵烦躁 这是我的源码“` public class Test01 { /* 求1~100的奇数之和 */ public static void main(String [] args){ int i=1; double s=0; while(i<=1

2015-10-02 13:26:26 5900

oracle文档

DataInputStream(System.in);

2015-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除