自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 java 四种引用类型

java和c++最典型的区别就是内存的管理方式不同,java的内存管理是通过虚拟机来实现的,通过垃圾回收器释放内存。c++通常情况下是通过程序员手动释放。为什么说是通常呢?在c++有智能指针,通过引用计数方式释放内存。在c++11中,智能指针分为强引用指针、强指针引用和弱引用指针。强引用指针每个指针独享一块内存区域、强指针引用引用是大家共享一块堆内存,弱引用指针很多时候在配合强指针引用使用,动态的...

2018-05-31 15:03:29 243

原创 OkHttp的使用

android开发中比较经常使用的一个http框架是Volley,这个框架是基于httpclient开发的,在android6.0中,google将httpclient这个API废弃掉了。发送http请求时使用httpurlconnection这个API。OkHttp是基于httpurlconnection的一个框架。十分简陋的UI<LinearLayout xmlns:a

2016-09-29 16:57:14 342

原创 在android上实现IOC

通常情况下使用xml中的定义的控件是使用findViewById方法找到控件,当控件非常多的时候,使用这种方法找控件就不太好用了,这里我们使用注解的方式来实现。也就是所谓的控制反转。Java的spring容器使用了这种方式,不需要手动的new,由spring容器帮我们实例化。这种方法的好处不言而喻。控制反转的本质是api的控制权,手动创建对象控制权在程序员手里,而控制反转将控制权交到了spring

2016-05-29 21:58:14 419

转载 创新工厂分鱼问题

abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼。Java代码实现如下:package com.zlb;public class Test { static int count=0;//分配的次数,若为5次,则return;

2016-05-20 09:12:44 438

转载 smali语法

Smali背景:Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。Smali,Baksmali分别是冰岛语中编译器,反编译器的叫法。也许你会问为什么是冰岛语呢,因为Dalvik是一个

2016-05-08 08:35:51 281

原创 view事件分发

view类是android系统中用于显示的一个类,用于界面的显示,在实际的开发中我们需要自定义view,各种view在一起经常会有各种冲突,所以了解一下view的事件分发是十分必要的。onClick的事件就不会执行。public class MainActivity extends Activity { private Button btn; @Override protect

2016-05-07 18:12:40 271

原创 子线程更新UI不报错

在android系统中主线程又叫UI线程,显而易见,更新UI只能交给主线程。看到这个叙述,我表示怀疑,先写个简单的程序试验一下。public class MainActivity extends Activity { private TextView tv=null; @Override protected void onCreate(Bundle savedInst

2016-05-02 18:44:37 578

原创 探寻Log的源头

android为我们提供一个非常好用的日志类Log,这个类从Java层使用jni进行调用,使用C++实现,并调用c库,最后在内核中简化成对文件IO的操作。也就是说在内核中实际上是一个驱动程序,这个驱动程序就是Logger。在Java层也有一个类叫Logger,这个jdk中的一个API。 比如,要打印一个日志可用这样写: //获得一个Logger对象,传入一个字符串相当于一个TAG

2016-05-02 12:17:52 362

原创 轻量级日志类Log

Log在android应用开发中是使用频率非常高的一个类,在没有了解这个类之前都是使用System.out.println(),这个 是Java中的一个方法。Log类定义了六个静态变量:public static final int VERBOSE = 2; /** * Priority constant for the println method; use Log.

2016-05-02 09:40:31 450

原创 android多进程实验

在默认情况下,一个android应用程序只会有一个进程,也就是说所有的activity,service...都是运行在同一个进程中的,如果不想让它们运行在同一个进程中可用在manifest文件中为它们增加一个process属性。 以activity为例:1.实现多进程创建两个activityMainActivity和SecondActivity在manifest文件中注册 <activit

2016-05-01 11:13:38 568

原创 DevicePolicyManager类的使用

DevicePolicyManager是android2.2(API8)之后开始提供的一个API,通过使用该API,可用实现对系统级设备的管理。通过使用DevicePolicyManager可以实现锁屏,恢复出厂,清除数据等功能。step 1:获取一个系统服务 dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);

2016-04-30 14:47:33 1106

原创 用python实现socket通信

之前写socket一直使用Java,在一次意外接触了python语言之后便迷上了python,语言短小精悍,除了强制缩进有点头疼。写android服务端Java启动太慢,每次修改了代码之后都要重启服务器,python可用自动刷新。django,flask都是比较好的web框架。服务端:import sockets=socket.socket(socket.AF_INET, socket.SOCK

2016-04-30 14:10:02 580

原创 android源代码编译

学习一段时间的应用开发,应用层有时也是需要在android源代码下编译的,比如HAL。我选择android4.4源代码,相比于之前的一些版本,android4.4加入了ART,在4.4中ART是提供给用户选择的,在5.0中,系统默认使用的ART,不是以前的dalvik。第一步,搭建开发编译环境毕竟不是专门在Linux下开发,于是在vbox虚拟机中搭建了ubuntu的开发环境,官方推荐14.04,u

2016-04-24 20:50:41 359

原创 很容易错的一道基础题

有六个浮点数,代码如下:“`include using namespace std;int main() { float f_v1 = 20; float f_v2 = 20.3; float f_v3 = 20.5;double d_v1 = 20;double d_v2 = 20.3;double d_v3 = 20.5;cout << ((f_v1 == d

2016-04-22 20:47:06 296

原创 改变textview的部分字体和颜色

textview是android系统体提供显示文本的一类组件,在实际的使用中,一段文字可能需要不同的颜色和文字。常用的实现方法有两类,分别是textview的textview.setText(Html.fromHtml("显示的内容和样式"))方法和SpannableString。SpannableString方法比较灵活。实现如下:1.布局文件定义4个textview2.找到四个textview

2016-04-22 09:49:20 402

转载 Eclipse快捷键大全(转)

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2016-04-03 10:53:00 192

原创 Android Context学习

context翻译成中文是上下文,是android.content包下的一个类,有两个子类,分别是ContextWrapper和ContextImpl.ContextWrapper负责上下文功能的封装,ContextImpl负责上下文功能的实现。ContextWrapper的子类有Application,Service和ContextThemeWrapper。ContextThemeWrapp

2016-03-31 16:55:48 255

原创 Activity生命周期

activity是Android四大组件之一,主要和用户进行交互,使用activity时会回调activity的一些方法。创建一个activity首先要重写oncreate方法,创建完一个activity会执行onstart方法,这时的activity变得可见。当activity被暂停之后通过onresume方法唤醒activity。onstop方法在activity停止时调用,在销毁时会执行on

2016-03-22 23:06:31 344

原创 android 双击事件的实现

//firstClickTime为第一次点击时的系统记录时间if (firstClickTime > 0) {long secondClickTime = SystemClock.uptimeMillis();  //secondClickTime 为第二次点击时的系统记录时间long dTime = secondClickTime - firstClickTime;//两次点击的时间

2016-03-22 22:46:36 348

原创 NDK——hello world

相对于c语言和c++Java的效率要低一些,对于一些对性能要求比较高的操作,可以使用ndk开发,使用Java调用1.新建Android项目2.在工程下建立jni目录,在jni目录下建立Android.mk和Application.mk文件Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LO

2015-11-17 21:45:23 247

原创 NDK开发环境搭建

搭建开发环境(针对Windows)1.安装JDK2.安装eclipse+adt或Android Stdio3.安装SDK4.下载NDK,建议下载比较新的版本,抛弃cygwin,直接在Windows使用,下载地址:http://developer.android.com/tools/sdk/ndk/index.html5.将NDK下载后的文件放在非中文目录下,NDk安装包是个自解

2015-11-17 21:25:08 200

翻译 Android进程学习

Android进程默认情况下,同一应用的所有组件属于一个进程。 如果内存不足,而其他为用户提供更紧急服务的进程又需要内存时,Android 可能会决定在某一时刻关闭某一进程。在被终止进程中运行的应用组件也会随之销毁。 当这些组件需要再次运行时,系统将为它们重启进程。决定终止哪个进程时,Android 系统将权衡它们对用户的相对重要程度。进程生命周期Android 系统将尽量

2015-11-17 20:47:33 268

linux make3.81

编译android系统用

2016-04-24

volley jar包

Google提供的一个工具,多用于请求json,数据量小,频繁的请求

2015-11-17

空空如也

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

TA关注的人

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