自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android图片的三级缓存管理

Android的很多应用程序都有多图片的浏览功能,而图片多了很容易造成OOM,而且处理不好用户体验会很差,本文应用了一个硬缓存-软缓存-硬盘缓存的图片加载机制,来加快图片加载的速度和避免出现OOM。 一、设计分析: 1、硬缓存,在内存中级别最高,不会被GC回收的部分,使用LruCache;软存使用SoftReference,在内存中级别低于硬缓存,在内存紧张的时候会被GC回收;硬盘缓存使用Dis

2015-09-10 14:54:34 513

原创 android 自己动手画一个圆形菜单

本文使用画笔Paint来自定义一个半圆形的菜单 如下图:demo下载地址:http://download.csdn.net/detail/suyiyang888/8528707一、定义类CircleMenu继承View,重写三个构造函数二、在onLayout(boolean changed, int left, int top, int right,int

2015-03-24 15:31:59 1168

原创 通过proguardgui.bat混淆jar包

现在项目中引用的第三方的包越来越多,也有越来越多的公司给其他用户提供jar包,但是一般导出的jar包容易被反编译,安全性很低,而混淆在一定程度上提高了jar包的安全性。一、通过project.properties与proguard-project.txt只能给生成安装包的代码混淆,对jar包不适用。二、可通过sdk\tools\proguard\bin\proguardgui.bat来混淆

2014-12-23 15:15:05 1468

原创 android Socket长连接及多客户端管理

一、简介最近在做一个项目,需要用到socket 。具体功能为:在同一wifi下,一个手机作为服务器端,另一个(或多个)手机作为客户端,客户端自动获取服务器的ip,通过socket建立常连接,用客户端手机发送指令控制服务器端的手机。二、分析:1、服务器端:(1)首先服务器端需要告诉同wifi下的客户端自己的ip,所以使用UDP广播,可见我的上一篇文章:http://blog.csdn

2014-03-31 15:26:15 3335 1

转载 android 断点续传

import java.io.File;import java.net.URL;import java.net.URLConnection;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.os.Handl

2014-03-25 09:40:13 538

原创 同wifi环境下android设备自动获取socket服务端的ip地址和端口号的方法-UDP广播

一、最近做项目,需要使用socket做一个常连接,实现实时通信,但是需求是在同一个wifi环境下,ip地址是动态获取的,这样就造成了服务端地址的不确定性。解决这个问题的关键就是如何拿到服务端的Ip。我们可以这样想,服务端可以在获得ip以后通过一种方式把这个地址告诉客户端。这样我们就注意到UDP多点广播是一个好的解决方法。要使用多点广播,需要让一个数据报标有一组目标主机地址,其思想是设置一组特殊

2014-03-18 10:44:53 7941 3

原创 android 禁止横竖屏切换时activity重新启动

我们在开的时候,有时候需要屏幕不发生旋转,有时候需要屏幕旋转但是又不想让activity重新启动,所以在写代码的时候需要设置一些参数。一、只横屏或只竖屏,在清单文件中注册activity的时候给activity加上screenOrientation这个参数1、只竖屏显示(android:screenOrientation="portrait")2、只横屏显示(android:scree

2014-03-14 23:21:26 823

原创 android JNI开发环境搭建及简单demo测试

一、在开始搭建环境之前,你应具备以下几个条件1、  JDK及环境变量配置正确2、  安装了Eclipse 3、  安装了Android SDK and ADT如果没有安装,可以去我的网盘下载集成了sdk和adt的eclipse地址:http://pan.baidu.com/s/1sjpprlj 二、环境搭建步骤1、  Android NDK 安装 地址:http

2014-03-13 09:03:58 862 1

原创 java JNI入门

一、本例子实在dos命令下运行java代码的,学习前需要安装Java jdk 和安装visual c++并正确配置Java jdk的环境变量二、具体步骤:1、创建一个工作空间(javas是新建的一个文件夹)例如我的C:\javasjavas是我存放代码的位置2、编写HelloJni.javapublic class HelloJni{public native stat

2014-03-11 15:47:35 535

转载 AndroidManifest详解

转自:http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种

2014-03-03 13:31:24 532

原创 android系统键盘开关

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  if (imm.isActive()) { imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NO

2014-02-12 16:47:27 548

原创 service下载安装包并在notification中更新进度,最后启动安装包

最近做一个项目需要在notification中更新进度,总结了一下需要注意的地方1、更新进度不能过于频繁,不然会造成卡机2、在service中使用intent意图启动另一个activity的时候一定要加上这句intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);以下是代码package com.example.service;impo

2014-01-24 16:02:59 602

转载 android系统日历

转自  http://www.cnblogs.com/tianjian/p/3435992.html日历provider日历provider是用来存放用户日历事件的一个仓库。日历provider的API会允许你执行对日历、事件、Attendees(与会者)和提醒的查询、更新和删除操作。日历provider的API可以被应用程序和同步adapter(适配器)使用。规则会因执行调用

2014-01-10 11:15:25 5381

原创 android 获取屏幕尺寸

DisplayMetrics dm = new DisplayMetrics();                   this.getWindowManager().getDefaultDisplay().getMetrics(dm);                   Info.X = dm.widthPixels;                   Info.Y = dm.h

2014-01-05 20:14:21 532

原创 android WIFI/2G/3G管理

android WIFI/2G/3G管理public class ConnectivityTools {         privateConnectivityManager connManager;          publicConnectivityTools(Context context) {                   super();       

2014-01-05 20:12:16 541

原创 解决两个activity之间传递对象的问题

两个activity之间传递对象的解决方法有很多种,这里介绍其中一种使用意图传递Bundle的方式: 1、 需要传递的对象类( Statuses)实现Serializable2、  传递方Bundle mbundle = new Bundle();         mbundle.putSerializable("Statuses",list.get(position));

2014-01-03 15:15:32 475

转载 ProcessBuilder.start() 和 Runtime.exec()

ProcessBuilder.start() 和Runtime.exec() 方法都被用来创建一个操作系统进程(执行命令行操作),并返回 Process 子类的一个实例,该实例可用来控制进程状态并获得相关信息。 Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比

2014-01-03 15:08:27 5048

Android图片加载的三级缓存Demo

简单实现Android开发中图片的三级缓存,避免OOM

2015-09-10

自定义圆形菜单

圆形布局的菜单,继承自View 使用画笔绘出

2015-03-24

socket自动连接和多客户端管理

socket socket多客户端管理 socket自动连接

2014-03-18

visual c++简化中文版

这是一个简化版的visual用来来发jni很简单

2014-03-11

空空如也

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

TA关注的人

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