- 博客(190)
- 资源 (19)
- 收藏
- 关注
原创 Android横竖屏切换
1、默认横竖屏切换时重新调用Activity的onCreate2、在Activity中添加android:configChanges="locale|keyboardHidden|orientation" 属性在横竖屏切换、出现输入法窗口、语言变换时调用Activity的onConfigurationChanged而不再调用onCreate。3、在Activity中添加android:s
2013-12-13 19:01:23
487
转载 在onCreate方法中获取某个View的宽度和高度
有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息,而直接调用View组件的getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight()、getTop()、getLeft()等方法是无法获取到真实值的,只会得到0。这是因为View组件布局要在onResume回调后完成。下面提供实现方法,onGlobalLayout
2013-12-04 16:14:07
606
转载 内置应用程序(apk或源码)
工作需要,内置了一个UC浏览器,没有源码(注意),只有一个APK文件,参考了许多资料,感谢jin的指点,我把加载的过程分享给大家。1 在package/apps/目录下面建立文件夹UCBrowse2 把需要内置的UCBrowse.apk文件放到这个文件夹3 编辑UCBrowse对应问Android.mk 可以参考我的内容LOCAL_PATH:= $
2013-12-04 10:22:45
697
转载 Android源码自带工具签名方法
签名所用文件在源码中的位置: 1,build/target/product/security/platform.pk8 2,build/target/product/security/platform.x509.pem 3,out/host/linux-x86/framework/signapk.jar (系统编译产生目录)签名命令:
2013-11-29 16:29:57
435
转载 Android应用开发中如何使用隐藏API
一开始需要说明的是,Google之所以要将一些API隐藏(指加上@hide标记的public类、方法或常量)是有原因的。其中很大的原因就是Android系统本身还在不断的进化发展中。从1.0、1.1到现在即将问世的Android 2.3.4。 这些隐藏的API本身可能是不稳定的,所以,使用隐藏API,意味着程序更差的兼容性。 如果要我给出建议的话,最好还是不要使用隐藏的API
2013-11-29 16:29:00
373
转载 警惕TimerTask#run可能抛出的异常
如果你正在使用Timer来执行定时任务,那么一定要捕获run方法的异常,并不再往外抛。在Timer机制中,只有一个线程来执行定时任务,如果TimerTask#run抛出了异常而没有catch住,那么就可能导致Timer终止掉!如果你的TimerTask是用来周期执行一些重要的工作,那么这带来的后果是灾难性呢,可能导致程序无法提供服务。如以下代码:public static void
2013-11-22 10:31:13
498
转载 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。
2013-11-14 10:26:53
506
转载 Android布局之weight属性解析
在网上看了一些对Layout_weight的讲解,有些说的比较片面,只列举了一种情况,然后自己通过实验和一些比较好的文章总结了一下,特此记录下来,以备以后所用。Layout_weight是线性布局,也就是LinearLayout里面用到的,下面通过实验来看这个Layout_weight的特性。1.当控件的属性android:layout_width="fill_parent"时,布局文件如下:
2013-11-14 09:49:05
558
转载 android 关于自定义Application的使用
Application就一挺熟悉又陌生的类,今天看了一下API,大概了解了一下。写了一个demo,贴上来,备查。Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in yourAndr
2013-11-13 16:23:11
1569
转载 Android 的系统属性(SystemProperties)设置分析
作者:徐建祥(netpirate@gmail.com)日期:2009/11/11网址:http://www.anymobile.orgAndroid 的系统属性包括两部分:文件保存的持久属性和每次开机导入的cache属性。前者主要保存在下面几个文件中:bionic/libc/include/sys/_system_properties.h
2013-11-05 11:10:00
484
原创 windows端口常用命令
netstat -aon|findstr "端口号" tasklist|findstr "进程ID" taskkil /f /t /im "进程名"
2013-11-01 10:26:37
362
转载 linux下which、whereis、locate、find 命令的区别
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索。这些是从网上找到的资料,因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用。which 查看可执行文件的位置 whereis 查看文件的位置 locate 配 合数据库查看文件位置 find 实际搜寻硬盘查询文件名称
2013-05-29 12:08:04
358
转载 Android编译加入第三方动态链接库文件的方法
如果你的代码不想随Android开源发布,或者你的代码用到了闭源的第三方库文件,你可以把需要的库动态链接到自己的程序中,修改Android.mk文件,让Android在打包二进制文件时把指定的.so文件放入系统目录下,以供dlopen使用。下面是一个通用的示例文件,说明了修改Android.mk的方法。增加MY_LOCAL_PATH := $(LOCAL_PATH)的原因是LOCA
2013-05-24 17:33:17
741
原创 Android 镜像文件制作 【ramdisk.img system.img userdata.img】
Android项目生成的镜像文件包括ramdisk.img, system.img, userdata.imgramdisk.img 是out/target/product/项目名/root 目录经过打包压缩而成; system.img是out/target/product/项目名/system目录打包压缩而成; userdata.img是out/target/product/项目名/data
2013-05-24 11:07:05
3818
转载 Android.mk的用法和基础
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。选项参考以下文件:build/core/config.mk,默认的值在以下文件中定义:build/core/base_rules.mk。编译系统为
2013-05-23 19:09:37
391
转载 apk文件编译到系统文件中的方法
把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法: 1 (1)源码编译后,把apk拷贝到out\target\product\generic\system\app中。 (2) 执行命令make snod , 把添加的spk编到system.img 中 缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。 2 "方
2013-05-09 10:34:31
408
原创 Android 研究 Linux内核启动过程,Android框架启动过程
最近在博客园发现某博主收集的关于Android底层的文章,觉得很不错,所以记录下来。http://www.cnblogs.com/linucos/category/376967.html其中《Android研究-linux内核启动到android系统[zz]》和《Android研究-Android系统初始化程序init和初始化配置文件init.rc分析[zz]》最近研究一项在init进
2013-05-08 11:06:50
363
转载 linux文件权限查看及修改-chmod ------入门的一些常识
查看linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)修改文件及文件夹权限:sudo chmod -(代表类型)×××(所有者)×××(组用户)×××(其他用户)常用修改权限的命令:sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有
2013-05-07 11:36:28
357
转载 VC 控制台颜色设置
通常控制台都是白字黑底的,千篇一律不免单调。适当的在控制台中加入一些彩色可以让人耳目一新,本文介绍如何使用系统API接口去修改控制台的文字和背景颜色。 主要用到如下二个函数:得到standard input, standard output, or standard error的设备句柄:HANDLE GetStdHandle(DWORD nStdHandle);参数有:STD
2013-04-25 17:39:13
358
转载 SharedPreferences实现应用程序间数据共享
本来打算把这一篇文章写在【使用SharedPreferences实现简单数据存储】之后的,但由于文章出现的问题是在不同的情况下发生和使用的,所以还是分下来下好了。 SharedPreferences可以让不同程序之间的数据进行共享,当两个应用程序之间数据需要传递或者共享时,可以使用这个方法。本文会使用两个例子SharePreferenceWrite和SharePreference
2013-04-07 18:20:46
901
转载 Android获取其他包的Context实例,然后调用它的方法
Android中有Context的概念,想必大家都知道。Context可以做很多事情,打开activity、发送广播、打开本包下文件夹和数据库、获取classLoader、获取资源等等。如果我们得到了一个包的Context对象,那我们基本上可以做这个包自己能做的大部分事情。 那我们能得到吗?很高兴的告诉你,能! Context有个createPackageCont
2013-04-07 18:16:35
508
转载 C++虚继承的作用
C++虚继承可以防止多重继承产生的二义性问题。虚继承,就是在被继承的类前面加上virtual关键字,这时被继承的类称为虚基类,如下面代码中的base类。虚继承在多重继承的时可以防止二义性。 class base class derived1 : virutal public base class derived2 : virtual public base
2013-04-01 17:17:56
291
原创 ubuntu 常用快捷键
Alt + F2 类似Windows下的Win + R组合键,在GNOME中运行应用程序Alt + F4 关闭窗口Alt + F5 取消最大化窗口 (恢复窗口原来的大小)Alt + F10 最大化窗口Alt + ESC 在不同程序窗口间切换Tab 终端中弹出窗确认Ctrl+H 显示/隐藏 隐藏文件Ctrl+T 新建标签 文件浏览器中新建标
2013-03-25 17:53:34
424
转载 Ubuntu 11.10中文输入法安装
1.開啟並登入Ubuntu11.10,點選「Dash主目錄」的捷徑圖示,開啟Dash主目錄。2.點選「更多程式」。3.點選「查看89項其他結果」。4.點選「Keyboard Input Methods」。5.在「輸入法」的索引標籤,點選「選取輸入法」。6.選擇「漢語\倉頡第五代」。7.點選「加入」。8.如下圖所
2013-03-25 16:51:11
544
转载 Android 中Message,MessageQueue,Looper,Handler详解+实例<转>
一、几个关键概念 1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。 创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行管理。主线程创建时,会创建一 个默认的Looper对象,而Looper对象的创建,将自动
2013-03-05 15:34:29
379
转载 android.intent.action.MAIN与android.intent.category.LAUNCHER
android.intent.action.MAIN决定应用程序最先启动的Activityandroid.intent.category.LAUNCHER决定应用程序是否显示在程序列表里在网上看到文章 android.intent.action.MAIN 与 android.intent.category.LAUNCHER 一直知道加上这2个东西就表示程序启动时
2013-01-29 11:25:19
1697
转载 Activity的跳转与传值
Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。 Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个意图。Intent类在Android系统中的作用很大,在此不详细说了,后面有文章介绍! Activity跳转,无返回结果
2013-01-23 11:20:15
320
转载 Android软件开发之应用程序之间的通信介绍
Android 开发中在程序之间通讯的接口做的还是非常丰富的 本例主要向大家介绍程序之间是如何进行沟通,有哪几种沟通方式 如何来实现沟通。1.使用handler传递消息handler 大家可以把它想象成主线程(UI线程)的一个子线程,它可以给主线程(UI线程)发送数据从而更新主线程(UI线程)的UI与逻辑,handler 是一个子线程所以它的耗时操作不会阻塞主线程,大家都知道在androi
2013-01-22 16:08:21
325
转载 android 广播接收者--BroadcastReceiver
BroadcastReceiver初识:广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收,这个特性跟JMS中的Topic消息接收者类似。要实现一
2013-01-22 16:06:14
347
原创 Android 关于远程调用和桩类(stub)的一点小结
1、AIDL定义桩类stub,stub是抽象类2、桩类可以在远程(远程service所在的进程),也可以在近程(app)具化。3、远程具化的桩类,桩类对象在service的onBind里返回给近程,近程获取到桩类对象后调用桩类接口。接口的执行在远程进程的工作线程中。注意近程每次对桩类接口的调用,最终可能由远程线程池中不同的工作线程来执行。4、近程具化的桩类,桩类对象在onService
2013-01-17 16:56:25
560
转载 详解Looper,及android消息机制
今天调用别人的代码时出现了Can't create handler inside thread that has not called Looper.prepare()的错误,经过一番调查,发现只需要在我新开的Thread里面先调用一次Looper.prepare()就可以解决,原因是对方的代码里面有用handler来发送message,而android的消息机制是基于Thread为一个单位的,我
2013-01-16 15:34:09
305
转载 Android应用程序的数据存放目录解说 .
Android的每个应用程序,都有自己的可控的目录。在Setting/Application info里面,可以看到每个应用程序,都有Clear data和Clear cache选项。具体这些目录在哪里呢?用adb连接上设备。如果是连接真实设备,需要有设备的root权限。cd data/data在这个目录下,可以看到每个应用程序都有自己的目录,目录名就是应用程序在Andro
2013-01-14 10:18:02
893
转载 用Bundle和直接用Intent.putExtra("xx",yy)传递有什么不同
Intent intent = new Intent();intent.putExtra("test_value", "TEST_V");Bundle bundle = new Bundle();bundle.putString("test_value", "TEST_V");intent.putExtras(bundle); Bundle bundle = this.getI
2013-01-09 19:33:00
4164
转载 java成员变量和方法的访问限定符
在学习java的过程中,我写类经常会用到public,private 和protected 的,我的基本经验就是一般类的成员变量都是用private, 方法用public,类内部用的方法用protected,如果是存在子类的,那我就会把父类中的成员变量变为protected。(其余的看具体实际情况而定)不过在一些公司的笔试题中,他们会要求你具体的写出像public这些访问限定符的作用域。其实,
2013-01-09 10:38:04
1704
转载 Android 进程和线程
进程和线程如果某个应用程序组件是第一次被启动,且这时应用程序也没有其他组件在运行,则Android系统会为应用程序创建一个包含单个线程的linux进程。默认情况下,同一个应用程序的所有组件都运行在同一个进程和线程里(叫做“main”主线程)。如果组件启动时,已经存在应用程序的进程了(因为应用程序的其它组件已经在运行了),则此组件会在已有的进程和线程中启动运行。不过,可以指定组件运行在其他进程里
2013-01-08 19:15:15
395
转载 Android 隐式Intent
intent的投递,有两种方式:显式的设定目标组件的component名称。不过有时开发者不知道其他应用的component名称。显式方式常用于自己应用内部的消息传递,比如应用中一个activity启动一个相关的service或者启动一个姊妹activity;隐式intent,component名称为空的情况。这种方式往往用于激活其他应用中的组件。 android投递一个显式的inte
2013-01-08 15:39:04
320
转载 Android Service全面总结
http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html 在 AndroidManifest.xml 里 Service 元素的常见选项android:name ------------- 服务类名android:label -------------- 服务的名字,如果此项不设置,那么默认显示的服务名则为类名
2013-01-08 15:37:14
342
转载 eclipse 设置和使用 User Library
(1)自定义库的设置:通过Preference中如下选项设置:通过右侧的New为用户自定义的库命名;选中新建的自定义库,通过右侧的Add JARs…为用户自定义的库添加JAR文件;点击OK即可; (2)自定义库的导入: 右击工程,选择Properties打开属性窗口:如图选择Add Library即可添加所需的自定义库。
2012-12-28 14:33:27
1626
转载 Android Intent机制实例详解
Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数/方法调用,或者上节中提到的通过库调用接口的方式不
2012-12-25 18:12:18
331
转载 Android的Intent Filter详解
应用程序的组件为了告诉Android自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个Intent Filter。每个Intent Filter描述该组件所能响应Intent请求的能力——组件希望接收什么类型的请求行为,什么类型的请求数据。比如之前请求网页浏览器这个例子中,网页浏览器程序的Intent Filter就应该声明它所希望接收的Intent Action是WEB_SEARCH
2012-12-25 17:25:16
317
Http RFC1945中文版.pdf
2011-02-21
WIN32API.chm
2009-09-08
C++常见问题问与答.chm
2009-09-08
Head+First+设计模式(中文版).part2
2009-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人