- 博客(93)
- 资源 (8)
- 收藏
- 关注
原创 Android su开放root权限
一.源码1)su.c/***** Copyright 2008, The Android Open Source Project**** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance wit
2015-01-07 12:57:06 13697 4
原创 Android View刷新机制
一:总体说明在Android的布局体系中,父View负责刷新、布局显示子View;而当子View需要刷新时,则是通知父View来完成。二:代码分析1).ViewGroup的addView方法,理解参数的意义和传递invalidate调用父类View的方法addViewInner方法主要做的事情是view的dispatchAttachedToWindow(Atta
2015-01-06 15:45:28 16007 1
原创 Android4.4添加busybox 支持——基于Android Bionic库
Android 的toolbox没有自动补齐,命令少,对于开发人员还是需要busybox,直接移植官方的busybox会有很多问题,这里简单阐述cyanogenmod提供的针对android bionic 库的android源码的移植及添加方法,方便大家开发使用。Android并没有采用glibc作为C库,而是采用了Google自己开发的Bionic Libc,它的官方Toolchain也
2015-01-04 11:11:57 4736 1
转载 Android模拟器下添加busybox(图文)
1 什么是busybox? BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、 cat 和 echo等等,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 L
2015-01-04 09:12:41 987
转载 Android系统的开机画面显示过程分析
第一个开机画面是在内核启动的过程中出现的,它是一个静态的画面。第二个开机画面是在init进程启动的过程中出现的,它也是一个静态的画面。第三个开机画面是在系统服务启动的过程中出现的,它是一个动态的画面。无论是哪一个画面,它们都是在一个称为帧缓冲区(frame buffer,简称fb)的硬件设备上进行渲染的。接下来,我们就分别分析这三个画面是如何在fb上显示的。 1. 第一个开机画面
2015-01-01 23:13:03 1926
转载 Android 4.0 framework源码修改编译,模拟器运行不起来
我是用的android 4.0.3 ICS的源码,编译好后,利用编译好的镜像启动的模拟器,以前修改过里面的Launcher,将生成的Launcher.apk和Launcher.odex push后是成功的。现在我在frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.javaframeworks/ba
2014-05-19 10:14:28 2327 2
原创 android应用如何启动另外一个apk应用
在开发的过程中,经常会遇到在一个应用中启动另外一个apk应用的情况 问题的核心点在于我们要拿到第三方apk的package名称跟class名称, 如:package名称是com.funcity.taxi.passenger,class名称是com.funcity.taxi.passenger.activity.LoadActivity。 从一个apk启动到另外一个apk,当
2013-09-23 23:44:31 8144
原创 Android v22.0.1+ 关联 libs/*.jar 源码包的方法
在libs下新建一个与jar同名的properties文件:eg test.jar,然后建立一个test.jar.properties 文件我的做法是在android的项目下面建立一个source的文件夹,将libs下jar依赖的source放到source文件夹下面在test.jar.properties文件里面输入src:../source/test-sources.
2013-09-17 15:26:00 1420
原创 android--ndk交叉编译工具安装
./make-standalone-toolchain.sh --ndk-dir=../../ --install-dir=/home/zhanglong/tools --platform=android-9 --toolchain=arm-linux-androideabi-4.4.3 --ndk-dir指的是ndk的安装目录--install-dir 工具安装
2013-08-26 16:35:53 908
原创 ANDROID框架揭秘
1、架构图直观 2、架构详解2.1、Linux Kernel 2.2、Android Runtime和Libraries 2.3、Application Framework 2.4、Applications 3、总结 1、架构图直观下面这张图展示了Android系统的主要组成部分:图1、Android系统架构(来源于:android sdk)可以很明显看出,Andr
2013-08-04 13:53:07 995
原创 android 动作栏(Action Bar)
摘要 Action Bar是活动中的一种控件,用以代替传统的屏幕顶端的标题栏。默认,Action Bar包括了左侧的应用程序图标(logo),其右是活动的标题,以及Option Menu中的可选项目。Action Bar提供了多种便利特性,包括: 直接在Action Bar中显示Option Menu中的项目,Action Bar是活动中的一种控件,用以代替传统的屏幕顶端的标题栏。默认,A
2013-08-03 13:38:34 7480
转载 生成release版本的Android系统
网上Android数字签名大多是与Android APK相关,而介绍Android系统签名的方法却不多。正巧前段时间帮别人做CTS 认证,需要用到给Android系统签名。为什么需要给Android系统签个名才能进行CTS认证呢?原来我们通过make -j4编译出来的system.img使用的是test key,这种类型的key只适用于开发阶段,而且这种秘钥是公开的,谁都可以使用。当发布一款a
2013-08-01 15:51:03 669
原创 Android4.0硬件加速及绘制技巧
从Android 3.0开始,Android 2D的绘制流程就设计为能够更好地支持硬件加速。使用GPU的View在Canvas上进行画的操作时都会使用硬件加速。在最新的Android版本里,图形硬件加速及绘制技巧得到了更好的提升. Android 4.0 1.Android 4.0硬件加速的使用 1.1 硬件加速的控制级别 启用硬件加速的最简单方法就是为整个系统打
2013-07-31 11:33:10 785
原创 ADB使用方法及常用命令
ADB是android sdk里的一个工具, 它的主要功能有: 运行设备的shell(命令行) 管理模拟器或设备的端口映射 计算机和设备之间上传/下载文件 将本地apk软件安装至模拟器或android设备ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.先说安装方法, 电脑上需要安装客户端.
2013-07-30 19:35:11 824
原创 android--TextView实现跑马灯
package sweet.venst.act;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.In
2013-07-23 15:46:00 764
原创 Android SystemProperties和Settings.System
Android SystemProperties和Settings.System介绍,不同应用间传递信息1 使用 SystemProperties.get这中方法在framework里面 经常见到。特别属性如果属性名称以“ro.”开头,那么这个属性被视为只读属性。一旦设置,属性值不能改变。如果属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/prop
2013-07-19 14:56:02 1145
原创 Android学习之控件不同状态文字显示不同颜色
方式一:第一要选择的控件 android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/close_time_display" android:layout_marginRight="20dp" andr
2013-07-18 13:57:16 5710
原创 Android 系统重启与关机
最近在做个东西,巧合碰到了sharedUserId 的问题,所以收集了一些资料,存存档备份。安装在设备中的每一个apk文件,Android 给每个 APK 进程分配一个单独的用户空间,其 manifest 中的 userid 就是对应一个 Linux 用户都会被分配到一个属于自己的统一的 Linux 用户 ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户
2013-07-18 00:05:29 3063
原创 Android亮屏和熄屏控制
我们的Android应用程序很多需要和亮屏和熄屏打交道,比如闹钟的时候,需要保持亮屏,之后又需要熄屏。那么今天,我们来分析下这方面的功能。二. 系统服务 --- PowerManager.java顾名思义,PowerManager.java就是管理我们电源方面的功能的,当然也包括我们屏幕的亮和熄灭。没错,我们的应用程序就是通过这个系统服务来实现亮屏和熄屏的功能的。1. 应用程序
2013-07-17 22:44:10 13592 1
原创 Android AsyncTask与handler
本文主要讲解下AsyncTask的使用以及Handler的应用首先,我们得明确下一个概念,什么是UI线程。顾名思义,ui线程就是管理着用户界面的那个线程!android的ui线程操作并不是安全的,并且和用户直接进行界面交互的操作都必须在ui线程中进行才可以。这种模式叫做单线程模式。我们在单线程模式下编程一定要注意:不要阻塞ui线程、确保只在ui线程中访问ui组件当我
2013-07-16 00:15:55 709
转载 android LinearLayout和RelativeLayout实现精确布局
先明确几个概念的区别: padding margin:都是边距的含义,关键问题得明白是什么相对什么的边距padding:是控件的内容相对控件的边缘的边距. margin :是控件边缘相对父空间的边距android:gravity是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干
2013-07-16 00:14:20 791
转载 Android APK反编译详解(附图)
本文Android反编译教程,测试环境:Win7 Ultimate x64Ubuntu 12.04 x86_x64反编译工具包 下载 (2012-10-10更新)一、Apk反编译得到Java源代码下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。apk反编译工具dex2jar
2013-07-15 23:38:15 526
原创 vmware tools ,/mnt/hgfs 下没有共享
vmware tools ,/mnt/hgfs 下没有共享文件夹,解决办法环境为win7+vmware7.1.3+ubuntu11.10正常安装vmware tools设置win下共享文件夹,在ubuntu的mnt/hgfs下看不到设定的共享文件夹解决办法:1.sudo apt-get install intall open-vm-dkms2.s
2013-07-14 01:30:57 1703
原创 Ubuntu13.04图形界面设置samba的方法
系统平台:Win8中文版 + VMwareworkstation-v9.0.1 + ubuntu13.04开始配置:安装Ubuntu samba图形管理界面#sudo apt-get install system-config-samba启动samba图形管理界面#sudo system-config-samba然后即可添加目录;选择相应可以访问都用户。注:
2013-07-14 00:45:06 9492
原创 android---多Activity一次性退出
因为android的API中没有提供一次性退出的接口所以想要在多activity的程序里面一次性退出的话就要费点功夫了。我是在一个单例对象里面记录activity栈中activity的引用然后在需要退出时遍历一遍finish()掉就可以了。实现步骤如下:1、创建一个单例对象?代码片段,双击复制01020304050607080
2013-07-12 00:06:32 693
原创 ubuntu13.04下载android4.0.1源码过程
最初我参考的是老罗的博客http://blog.csdn.net/luoshengyang/article/details/6559955进行下载安装的,但弄着弄着就发现不太对劲了。这里记录下详细过程:1,我的前提是已经搭建好了Android开发环境,也即jdk已经安装好了,输入java -version来检查是否成功。搭建android开发环境可以看链接1和 链接2.2,
2013-07-07 13:30:46 3593
转载 Android---GestureDetector手势识别类
为了加强鼠标响应事件,Android提供了GestureDetector手势识别类。通过GestureDetector.OnGestureListener来获取当前被触发的操作手势(Single Tap Up、Show Press、Long Press、Scroll、Down、Fling),具体包括以下几种:boolean onDoubleTap(MotionEvent e) 解释:双击
2013-06-23 18:06:01 662
原创 Android应用程序的默认最大内存值
Android应用程序的默认最大内存值为16M,不同的手机版本和型号有所不同(我的三星galaxy s3的是256M)有些应用程序可能会出现内存溢出,譬如:ERROR/AndroidRuntime(264): java.lang.OutOfMemoryError: bitmap size exceeds VM budget除了要检查修正代码之外,还可以考虑修改And
2013-06-15 11:28:02 764
转载 Android--ScrollView只能添加一个子控件问题
有下面一段代码[html] view plaincopyxml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fil
2013-06-04 01:05:23 1521
原创 Android--AlertDialog的用法
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。使用AlertDialog.Builder创建对话框需要了解以下几个方法:setTitle :为对话框设置标题setIcon
2013-06-04 01:02:12 1032
转载 Android_WebView用法
如果想WebView能够访问网络,必须在AndroidManifest.xml里面添加权限[html] view plaincopyuses-permission android:name="android.permission.INTERNET" /> main.xml很简单,就是一个WebView
2013-06-04 00:53:59 1097
原创 android layout属性介绍
android:id为控件指定相应的IDandroid:text指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:gravity指定View组件的对齐方式,比如说居中,居右等位置 这里指的是控件中的文本位置并不是控件本身 android:layout_gravity (区别于:android:gravity )指定
2013-05-29 13:17:59 1027
原创 Android--ListView异步加载图片
写这篇文章并不是教大家怎么样用listview异步加载图片http://dl.vmall.com/c0qtttyovd之前写了一个小的demo,上面是网盘下载的地址先说说这篇文章的优点把,开启线程异步加载图片,然后刷新UI显示图片,而且通过弱引用缓存网络加载的图片,节省了再次连接网络的开销。这样做无疑是非常可取的方法,但是加载图片时仍然会感觉到轻微的卡屏现象,特别是list
2013-05-24 23:14:53 1105
原创 Android--listView几个细节的设置
去除ListView滑到顶部和底部时边缘的黑色阴影:android:fadingEdge="none" ----------------------------------------------------去除拖动时默认的黑色背景:android:cacheColorHint="#00000000" 或[java] listView.setCacheColorHi
2013-05-24 22:03:18 2698 1
原创 android-SQLite数据库存储数据
使用嵌入式关系型SQLite数据库存储数据 除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据。在Android平台上,集成了一个嵌入式关系型数据库—SQLite,1、SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型虽然只有五种,但实际上s
2013-05-17 16:03:51 4257
转载 Android之Android的数据存储--File
在上一节我们介绍了Android的数据存储之SharedPreferences,我们知道利用SharedPreferences一般存储的内容是一些key-value键值对,而有时候我们却要存储的是一些数据内容,这时候我们可以采用文件存储,在Android系统中,我们可以很方便的利用文件存储我们想要的内容Context为我们提供了以下的几个方法方法名称描述
2013-05-14 21:23:03 575
转载 Android之Android的数据存储--SD卡
上一节我们学习了Android的数据存储采用File,但是这样的数据是存储在应用程序内的,那么也就是说这样的存储的文件大小还是有一定要限制的,有时候我们需要存储更大的文件,比如电影等,这就用到了我们的SDSard存储卡。Android也为我们提供了SDCard的一些相关操作。Environment这个类就可以实现这个功能。Environmet类常用常量String
2013-05-14 21:22:26 793
转载 Android之Android的数据存储--SharedPreferences
SharedPreferences简介在Android开发过程中,有时候我们需要保存一些简单的软件配置等简单数据的信息,而如果我们直接用数据库存储的话又不太方便,在这里我们就可以用到SharedPreferences,SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此保存的数据主要是简单类型的键值对(key-value),它保存的是一个XML文件。Shared
2013-05-14 21:21:05 708
转载 Android之BroadcastReceiver
BroadcastReceiver简介BroadcastReceiver理解为广播接收者,它用于接收程序所发出的Broadcast的Intent。它在一端监听接收广播消息,然后再做出处理。它的本质上就是属于一个监听器。启动BroadcastRecevicer的方式有两种:sendBroadcast()和sendOrderedBroadcast(),两者的区别就是前者是发送一个普通的广播,后者是
2013-05-14 21:19:28 113
android busybox
2015-01-07
ffmpeg移植到android项目
2013-05-25
android ListView异步加载图片和优化
2013-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人