- 博客(321)
- 资源 (24)
- 收藏
- 关注
转载 Android应用开发提高系列(4)——Android动态加载(上)——加载未安装APK中的类
前言 近期做换肤功能,由于换肤程度较高,受限于平台本身,实现起来较复杂,暂时搁置了该功能,但也积累了一些经验,将分两篇文章来写这部分的内容,欢迎交流! 关键字:Android动态加载 声明 欢迎转载,但请保留文章原始出处:) 农民伯伯: http://over140.blog.51cto.com Android中文Wiki:ht
2013-09-12 11:01:13 1797
转载 Android动态加载jar/dex
Android动态加载jar/dex前言 在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势。本文对网上Android动态加载jar的资料进行梳理和实践在这里与大家一起分享,试图改善频繁升级这一弊病。 声明
2013-09-12 10:35:30 2180
转载 高效使用位图
如何有效的使用位图,避免OOM,Android Training说了很明白了,主要有四点:1、有效的利用大图片根据实际应用情况,加载位图,不要浪费。比如,在一个100*100的ImageView,完全加载一个1000*1000的位图,这就真的很浪费了。应该根据实际大小需求,计算出inSampleSize再去Decode位图,这样很省内存。2、在非UI线程处理位图
2013-09-11 14:03:13 1638
原创 android.view.WindowManager$BadTokenException: ... is your activity running? 异常问题
这是由于activity的view还没有渲染完成, 就调用了与该View相关的方法, 会如下异常 : After publishing one of our apps on Google Play market I started receiving strange exception on Play Console:android.view.WindowManager$BadTokenE
2013-09-11 11:15:27 6029
原创 Java AES加密实现
import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;/** * Usage: * * * Strin
2013-09-10 16:53:41 3936
转载 Caching Bitmaps
Caching BitmapsPREVIOUSNEXTTHIS LESSON TEACHES YOU TOUse a Memory CacheUse a Disk CacheHandle Configuration ChangesYOU SHOULD ALSO READHandling Runtime ChangesT
2013-09-09 12:44:38 1494
原创 Android判断应用程序是否安装和版本号
/** * @Title: isPackageExists * @Description: * 判断应用是否安装,传递的是应用的包名 * * @param targetPackage * @return * @throws */ public boolean isPackageExis
2013-09-04 10:08:50 2812
原创 Introduction to Android Theme Customization
http://janrain.com/blog/introduction-to-android-theme-customization/
2013-09-03 13:44:38 1413
转载 [Android] Android开发优化之——使用软引用和弱引用
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的
2013-08-29 10:21:17 1502 3
转载 谷歌是如何做代码审查的
本文由外刊IT评论编译,原文链接。我已经不在Google工作了。我还没有想清楚应该去哪里—有两三个非常好的工作机会摆在我面前。因为在这段做决定时间里,我不再受雇于任何人,我想可以写一些专业性的东西,一些很有趣,但也会在同事和管理工作中导致关系紧张的东西。Google是一个非常优秀的公司。他们做出了很多令人称赞的东西—既是公司外部,人们可以看到的东西,也是公司内部。有一些在公
2013-08-29 10:17:19 1701
转载 Android学习系列(30)--App列表之下拉刷新
http://www.cnblogs.com/qianxudetianxia/archive/2012/06/16/2549891.html
2013-08-22 13:06:06 1397
转载 How to Write Doc Comments for the Javadoc Tool
How to Write Doc Comments for the Javadoc ToolJavadoc Home PageThis document describes the style guide, tag and image conventions we use in documentation comments for Java programs written at Java
2013-08-16 13:02:34 2735
转载 ActionBar
1. ActionBar(活动栏)替代了显示在屏幕顶端的标题栏。主要负责显示菜单,widget,导航等功能,主要包括:@ 显示选项菜单中的菜单项到活动栏;@ 添加可交互的视图到活动栏作为活动视图;@ 使用应用的图标作为活动项,代表返回home或者向上等重要操作;@ 提供标签导航,方便不同的Fragment之间切换;@ 提供下拉导航功能。 2. Andr
2013-08-10 10:49:11 1534
原创 Custom a SimpleAsyncTask
package com.example.main;import android.os.Handler;import android.os.HandlerThread;import android.os.Looper;/** * @功能描述 : * 自定义异步任务类, 封装HandlerThread实现异步线程 * @param * * @原 作 者 : Jhen
2013-08-04 15:17:53 1497 2
转载 App列表之分组ListView
转自: http://www.cnblogs.com/qianxudetianxia/archive/2011/06/07/2074326.html 吸引用户的眼球,是我们至死不渝的追求; 第一时间呈现最有价值的信息,简明大方,告诉客户,你的选择是多么的明智,这正是你寻觅已久的东西。 分组的应用场合还是很多的,有数据集合的地方往往要分组显示;
2013-08-01 17:57:35 1604
原创 Ubuntu系统的备份与恢复
备份第一步:打开终端,并运行 sudo su第二步:继续在终端中输入 cd /(注意中间有一个空格)第三步:(开始备份系统)在终端中输入:(注意最后一个/前有一个空格)回车就就等吧,直到命令运行成功。tar -cvpzf /ubuntu-12.04-os-backup.tgz –exclude=/proc –exclude=/lost
2013-07-31 12:46:08 1685
原创 统计一个整数的二进制中1的个数的三种解法
#include /* * 统计一个整数的二进制中1的个数 */ const int MAX_SIZE = 16; // 解法1 int countOne(int num){ int count = 0; while ( num ) { // 当最后一位为1时,则加1 if( num & 1 ){ ++count; } num >>= 1; }
2013-07-03 16:58:28 2013
转载 Python中yield的理解
一个使用了yiled关键字的函数就不再是一个普通的函数了,而是一个生成器函数(generator function),当函数被调用的时候将返回一个迭代器(iterator)。 所以下面将分别讲解迭代器和生成器这两个概念。 一. 迭代器(Iterator) 写道迭代器是一个对象,它实现了迭代器协议,一般需要实现如下两个方法1)next方法返
2013-07-02 15:00:22 1444
原创 Python实现的二分查找
#binary search#factorialdef binarySearch(arr, value, low, high): if low == high : assert value == arr[high] return arr[high] else : mid = low + ( (high - low) >> 1 ) if value > arr[mid] :
2013-06-29 19:18:25 1734
转载 分查找实现(Jon Bentley:90%程序员无法正确实现)
第二十五章:二分查找实现(Jon Bentley:90%程序员无法正确实现)作者:July出处:结构之法算法之道引言 Jon Bentley:90%以上的程序员无法正确无误的写出二分查找代码。也许很多人都早已听说过这句话,但我还是想引用《编程珠玑》上的如下几段文字: “二分查找可以解决(预排序数组的查找)问题:只要数组中包含T(即要查找的值),那么
2013-06-29 18:39:11 2142
原创 Python中的值转字符串
What is actually going on here is that values are converted to strings through two different mechanisms. You can use both mechanisms yourself, through the functions str and repr. str simply converts a
2013-06-28 14:58:52 1719
原创 计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径
2013-06-24 21:52:49 1605
转载 HTTP详解
HTTP协议详解当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获H
2013-06-09 23:24:02 1622
转载 详解C++的static_cast、dynamic_cast、reinterpret_cast、和const_cast
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。st
2013-06-08 16:31:16 5555
原创 Windows 8 下配置Cocos2d-x + Android + Eclipse 的开发环境
我的基础环境不做详述,不清楚查阅[Android开发环境搭建]的文档即可- Windows8- Eclipse Helios 3.6.2- JDK1.6- Android SDK/ADT 一、安装 Cocos2d-x- cocos2d-2.1rc0-x-2.1.2.zip- 其他版本- 下载完成后,解压缩
2013-05-30 16:46:29 2783 2
原创 Cocos2d-x中的场景切换特效以及新版接口特性
Cocos2d-x提供了很多场景间切换的效果,可以方便大家使用(很多是在Kjava时代都需要程序员自己来实现的效果)。1.使用方法 正常的无过渡场景的如果尚未建立场景(即游戏中的第一个场景),就是用pDirector->runWithScene(pScene);即可以使用相应场景,如果是替换场景,则使用CCDirector::sharedDirector()->repla
2013-05-29 17:25:01 1994
原创 关于使用javah生成头文件时无法访问class文件的问题
当生成java类,并且使用javac编译以后,生存JniDemo.class文件。比如此时所在的路径是XXX/src/com/example/hellojni。你的class文件就在这个hellojni文件夹里面,此时如果你直接在这个目录下使用javah命令,则会出现如下错误: 错误: 无法访问 com.example.hellojni.JniDemo 找不到文件com.
2013-05-29 15:53:39 5807
原创 Java中wait与sleep的区别、示例
区别: 1、这两个方法来自不同的类, wait来自Object类,而sleep来自Thread类; 2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围。) synchronize
2013-05-25 15:26:35 3504
原创 Android中AsyncTask的使用与源码分析
参考文章 : http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较
2013-05-25 12:10:58 10967
转载 C语言指针概念全面解析
C语言指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:(1)int*ptr;(2)char*ptr;(3)int**ptr;(4)in
2013-05-25 00:16:07 1752
转载 C++ DELETE 操作
在C++中delete指针前不用进行指针是否为空的判断,因为delete的实现已经做了这件事情! 使用delete来delete已释放的指针是一个严重的错误,所以要在delete完一个指针后手动把它置空!因为delete空指针是安全的。 以下是Bjarne Stroustrup's C++ Style and Technique FAQ中的 Why does
2013-05-24 23:36:48 2188
转载 C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。
2013-05-24 23:35:51 1351
原创 C++类成员和数据成员初始化总结
C++为类中提供类成员的初始化列表。类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员变量在定义时是不能初始化的。 2.一般的数据成员可以在构造函数中初始化。 3.const数据成员必须在构造函数的初始化列表中初始化。 4.static要在类的定义外面初始化。
2013-05-24 22:15:38 14389 1
转载 C语言中的宏定义
1. 简单宏定义简单的宏定义有如下格式:[#define指令(简单的宏)] #define 标识符替换列表替换列表是一系列的C语言记号,包括标识符、关键字、数、字符常量、字符串字面量、运算符和标点符号。当预处理器遇到一个宏定义时,会做一个 “标识符”代表“替换列表”的记录。在文件后面的内容中,不管标识符在任何位置出现,预处理器都会用替换列表代替它。
2013-05-24 11:10:39 2835
原创 Windows 8上搭建Cocos2d-x for Android的开发环境
一 、android平台工程创建1、android SDK+NDK安装 (已经有Android与NDK环境的可以跳过该步骤 )1)、安装java jdk(如果已经安装了,可以不用此步骤)进入:http://www.oracle.com/technetwork/java/javase/downloads/index.html 或者直接点击下载。如下图
2013-05-23 22:57:36 3647 2
转载 最大的子序列之和问题
最大的子序列之和问题最大子序列和问题问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20。序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。算法一://穷举法,复杂度O(n^3) long
2013-05-22 23:18:16 1608
原创 给定一个集合,输出它的所有子集(JAVA实现)
例如给定一个子集{1,2,3},则它的所有子集为 : {}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3},, {1,2,3}。代码如下: /** * @Title: SetUtil.java * @Package * @Description: 给定一个集合,输出所有的子集 * @author Mr.Simple
2013-05-15 18:40:13 7586 1
转载 Java synchronized详解
第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,
2013-05-15 17:54:06 1598
转载 设计模式--开闭原则
开闭原则:指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modification)。这个原则是说在设计一个模块的时候,应对使这个模块可以在不被修改的前提下被扩展,换言之,应对可以不必修改源代码的情况下改变这个模块的行为。根据开闭原则,在设计一个软
2013-05-14 22:53:36 1929
AndroidEventBus Jar
2015-02-09
AndroidEventBus事件总线框架
2015-02-05
基于Qt4实现的视频播放器源码
2013-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人