`
zhiying201039
  • 浏览: 41162 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
很多不明白Activity类中包含的onSaveInstanceState和onRestoreInstanceState有什么用,首先声明下使用这两方法时一定要注意情况和了解Activity的生命周期,否则有的时候  onSaveInstanceState和onRestoreInstanceState 可能不会被触发,虽然他们都是Activity的重写方法。 他们比较常用到的地方是 Sensor、Land和Port布局的自动切换,过去Android开发网曾经说过解决横屏和竖屏切换带来的数据被置空或者说onCreate被重复调用问题,其实Android提供的onSaveInstanceStat ...
在开发应用程序的过程中我们有很大的机会需要用到参数设置功能,那么在Android应用中,我们如何实现参数设置界面及参数存储呢,下面我们来介绍一下Android中的一个特殊Activity–PreferencesActivity。PreferencesActivity是Android中专门用来实现程序设置界面及参数存储的一个Activity,我们用一个实例来简介如何使用PreferencesActivity。 PerferenceActivity是什么,看下面的截图:             
操作过Android手机的朋友应该对在待机界面拖动图标的交互效果都有比较深刻的印象,比如说,当把图标拖动起来,图标会悬浮并随着拖动变换位置,当拖动释放后,图标会自动的寻找附近合适的空白网格位置。Android在实现这个效果的过程中采用了很多编程技巧,本文着重论述的VacantCell缓存就很具有代表性。VacantCell缓存主要是对同一种类型对象的缓存机制,这种机制的目的是复用已经分配过但已过期的对象,从而避免频繁的new新的对象。我们知道对象分配是一件比较耗费系统资源的事情,在需要频繁、大量的分配对象的时候Android平台很可能出现堆内存不足进而导致系统变慢、应用报错重启等严重问题。用户在 ...
  鉴于网上对Java的堆栈区分,众说纷纭,有的把C++的堆栈也混进来,有的没有分清Stack,Heap的中文翻译,搞得我把Stack当作堆,Heap当作栈,混乱了!昨天参加一外企的笔试,选择英文答案时,选错了,知道答案是堆,却选择了Stack!今天,决定把两者区分清楚!            首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆。         在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语:        堆存储: heapstorage    堆存储分配: heapstorage allocation  ...
onFinishInflate() 当View中所有的子控件 均被映射成xml后触发onMeasure(int, int) 确定所有子元素的大小onLayout(boolean, int, int, int, int) 当View分配所有的子元素的大小和位置时触发onSizeChanged(int, int, int, int) 当view的大小发生变化时触发onDraw(Canvas) view渲染内容的细节
首先启动android模拟器。 打开cmd命令行窗口。输入 adb -s emulator-5554 shell 此时可以管理系统文件夹了,再输入 ls 可以看到列出了文件夹和文件,输入 cd system/app 再输入 ls 可以看到系统自带的应用程序apk文件,删除你想要删除的,例如Phone.apk,输入 rm Phone.apk 此时会看到提示说 rm failed for Phone.apk, Read-only file system 那是因为这些是只读文件,我们没有权限删除它。 所以接下来要做的是获取权限,首先查看权限,输入 m ...
有时候您需要建立一堆Thread来执行一些小任务,然而频繁的建立Thread有时会是个开销,因为Thread的建立必须与作业系统互动,如果能建立一个Thread pool来管理这些小的Thread并加以重复使用,对于系统效能会是个改善的方式。您可以使用Executors来建立Thread pool,Executors有几个static方法,列出如下:  方法 说明 newCachedThreadPool 建立可以快取的Thread,每个Thread预设可idle 60秒 newFixedThreadPool 包括固定数量的Thread newSingleT ...
在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。    但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品,食之无味,弃之可惜。这种物品现在已经无用了,保留它会占空间,但是立刻扔掉它也不划算,因 为也许将来还会派用场。对于这样的可有可无的物品,一种折衷的处理办法是:如果家里空间足够,就先把它保留在家里,如果家里空间不够,即使 ...
Hidden API之所以被隐藏,是想阻止开发者使用SDK中那些未完成或不稳定的部分(接口或架构)。举个例子,Bluetooth API在API 5上才开放;在API 3 和4上都是用@hide属性隐藏了。当这些API被验证和清理后,Google的开发者会移除@hide属性,并让其在API 5官方化。很多地方在API 4 和5之间发生了变化。如果你的程序依赖某些隐藏的API,当其部署到新的平台上时,就有可能陷入困境。 当你使用Android SDK进行开发的时候,你引用了一个非常重要的jar文件——android.jar。它位于Android SDK平台的文件夹中(SDK_DIR/platfo ...
一: 转自: http://blog.sina.com.cn/s/blog_78e3ae430100pxba.html   android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以 外,只有实现了Parcelable接口的类才能被放入Parcel中。   Parcelable实现要点:需要实现三个东西 1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下: writeToParcel (Parcel dest, int flags) 具体参数含义见jav ...
  顾名思义LinkedHashMap是比HashMap多了一个链表的结构。与HashMap相比LinkedHashMap维护的是一个具有双重链表的HashMap,LinkedHashMap支持2中排序一种是插入排序,一种是使用排序,最近使用的会移至尾部例如 M1 M2 M3 M4,使用M3后为 M1 M2 M4 ...
Android Thumbnail Images 在上次关于使用GridView显示Sdcard中的图片Thumbnail图片,然后点击再显示原始图片。在上次的代码中我是通过直接对原始图片进行了Scale制作为100*80的图片,然后显示出来,这样操作的话,当处理大图片的时候会浪费大量的VM内存,所以在上次提出了使用DCIM中thumbnail的缩略图文件的方法,这里图片的尺寸一般都在10-50k的大小。 接着上次关于显示Thumbnails的问题,这里针对如何获取Android thumbnails的图片以及如何和原始图片关联,说先看一下手机内部SDcard中的Thumbnail ...
移动Web开发语言被称为“第五次工业革命的原动力”,移动web开发有哪些优点呢? ◆易于开发,新用户易上手,开发周期相对短。 ◆自动更新,只要服务器端更新后,所有移动设备也一起更新。 ◆可充分利用现有web内容。 ...
转自: http://www.cppblog.com/fwxjj/archive/2010/05/24/116208.html 首先,我们需要一个keystore,当然已经有了的话就不用这一步了: cmd下: 进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件 C:\Program Files\Java\jdk1.6.0_10\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore ...
“苹果(Apple)公司的应用程序商店(app store)和谷歌(google) Android都为大家提供了更加容易赚钱的机会,但是我认为,为苹果应用程序商店开发软件的公司和个人赚的都只是小钱,利用Android的特性进行软硬件整合设计、再加上适当的艺术和工业设计才能赚到大钱。比较起来,苹果为大家提供的机会就像是芝麻,Android却能为大家带来一个汉堡。”在日前由创意时代主办的Android工作坊上,亚太地区Android促进会主任、台湾著名架构设计师高焕堂与参与工作坊的上百名嘉宾分享了他利用 Android、整合软硬件设计以及工业设计赚大钱的思路。高焕堂介绍,由于Android
Global site tag (gtag.js) - Google Analytics