android权限的实现
android 权限的实现
#移动开发 #Android
1. 权限
每个程序在安装时都有建立一个系统 ID,如
app_15,用以保护数据不被其它应用获取。Android
根据不同的用户和组,分配不同权限,比如访问 SD
卡,访问网络等等。底层映射为 Linux 权限。
2. 应用申请权限
应用开发者通过 AndroidManifest.xml 中
指定对应权限,再映射到底层的用户和组,默认情况下不设定特殊的权限。AndroidManifest
加入权限后系统安装程序时会在图形界面中提示权限
如果是缺少某个权限(程序中使用的某种权限而在 AndroidManifest.xml
中并未声名),程序运行时会在 logcat
中打印出错误信息 requires
与某个进程使用相同的用户 ID
应用程序可与系统中已存在的用户使用同一权限,需要在 AndroidManifest.xml
中设置 sharedUserId,如
android:sharedUserId="android.uid.shared",作用是获得系统权限,但是这样的程序属性只能在
build
整个系统时放进 ...
android适配硬件平台
android 适配硬件平台
1. 相关硬件
电池,RTC,键值(普通键值,DOCKING 键值),LED
灯,背光,传感器(亮度,距离,速度,指南针等),振动,蓝牙,相机,音视频引擎,网络,显示,电话
2. 硬件相关的主要目录
kernel,vendor,device,hardware,bootable
3. 以 HTC G1 为例分析其主要的平台配置目录 device/htc/dream/* (froyo
源码)
注意:froyo 以前版本在 vendor/htc 中,需要单独下载,现在都已经在
git 里包含了 g1,g2 的支持。
说明 (参见 g1,g2)
AndroidProducts.mk
说明产品都需要编什么东西,定义产品使用哪个 mk 文件
vendorsetup.sh
加上某硬件的支持,以便编译前用 lunch 选择
full_dream.mk
定义产品所要编译的项目,指定需要编译哪些应用,产品名称,设备,型号(重要)
BoardConfig.mk
含 mtd 设备的分区,硬件相关的模块,及编译工具
AndroidBoard.mk
编译 kernel, boo ...
数据分析软件SPSS及数据挖掘软件WEKA使用
数据分析软件 SPSS
及数据挖掘软件 WEKA 使用
#数据分析
1. 说明
从数据表中读入数据,用 SPSS 进行数据处理,然后用 WEKA 进行数据分析。
2. EXCEL
目的
用 java 将其它数据写入 EXCEL
读写 excel 的 jar 包 jexcelapi 从此处下载
[http://www.andykhan.com/jexcelapi/download.html
](http://www.andykhan.com/jexcelapi/download.html)
java 读写 excel 例程示例
http://www.javaeye.com/topic/55844
[http://mengqingyu.javaeye.com/blog/440358
](http://mengqingyu.javaeye.com/blog/440358)
3. 数据分析软件 SPSS(占据 90% 市场分额)
目的
整理数据,分析数据,结果展示
读入数据
方法一:从 excel 中复制单元格,粘贴在 SPSS 中
直接打开 excel 文件 (*.xls),注 ...
Android使用XML-RPC实现blog客户端
Android 使用 XML-RPC 实现
blog 客户端
#移动开发 #Android
1. 原理介绍
XML-RPC 介绍
XML-RPC 的全称是 XML Remote Procedure Call,即 XML 远程方法调用。原理是
XML-RCP
工具把传入的参数组合成 XML, 然后用通过 http
协议发给服务器,服务器回复 XML 格式数据,再由工具解析给调用者。
Meta Weblog API
一些 Blog 提供 Meta Weblog API,用以支持通过 XML-RPC
的方法在软件中编辑及浏览 Blog。常用的 API
如下: 发布新文章 (metaWeblog.newPost)、获取分类
(metaWeblog.getCategories) 和最新文章
(metaWeblog.getRecentPosts)、新建文章分类
(wp.newCategory)、上传图片音频或视频
(metaWeblog. newMediaObject) 等。
2. Android 的 XML-RPC 支持
Android 本身并不支持 XML-RPC 协议, 需要下载相关 ...
android的intent使用方法
android 的 intent 使用方法
#移动开发 #Android
android 的 intent 使用方法
1. 说明
Android 中提供了 Intent 机制来协助应用间或者应用程序内部的交互与通讯。
Intent 的两种基本用法:一种是显式的 Intent,即在构造 Intent
对象时就指定接收者,这种方式与普通的函数调用类似;另一种是隐式的
Intent,即 Intent 的发送者在构造 Intent
对象时,并不知道接收者是谁,只是指出接收者的一些特性(比如说启动音乐播放软件)
2. 使用方法
启动服务
关键函数
context.startService() 或 context.bindService()
示例
** Intent i = new Intent(this, MyTestService.class);
this.startService(i); // ** ** 启动 ** ** service **
发送广播
关键函数
context.sendBroadcast()
发送方
** String msg = “test”;
Inten ...
AndroidPrelink实现的源码分析
Android Prelink
实现的源码分析
1. 原理简介
Prelink
Prelink
即预链接技术是利用事先链接以代替运行时链接的技术,以加快共享库的加载速度,它不仅能加快程序启动时间,还可以减少部分内存开销(它能使
KDE 的启动时间减少
50%)。每次程序执行时,进行的链接动作都是一样的,链接相对来说开销很大,尤其是嵌入式系统。
普通 Linux 系统的 Prelink
Redhat 系统中 prelink 工具 (/etc/cron.dialy/prelink)
会修改可执行程序,把它与所需库的链接信息加入可执行程序。在程序运行时,使用
glibc(glibc > 2.3.1-r2) 中的 ld-
linux.so
来进行链接。用此方式,每次更新动态库后,使用它的程序都需要重新
prelink,因为新库中的符号信息,地址等很可能与原来不同了。
Android 的 Prelink
Android 源码中有一组 map 文件,其中定义了需要预连接的动态库,其 Prelink
信息以及对应的逻辑地址(4G
地址空间中位置),在动态库编译时,预处理程序 apr ...
MSN博客搬家工具
MSN 博客搬家工具
#工具 #编程语言/Java
1. 说明
最近 MSN 的博客即将关闭,而使用 MSN 上推荐的迁移到
workpress,又总是不成功。在网上下了几个工具,都是各个 blog
开发的,只能搬到特定的 blog 中去。让人十分郁闷。
后来试写了一段代码,先把从 MSN 博客备份到本地,挑了些技术文档搬到了
CSDN
,下面是程序的实现和说明,大家举一反三吧。用此方法也可以搬到其它的
blog。
编译好的程序可以下载,源码可以下载,大家可以直接使用或者修改加以完善。
2. 原理
使用 XML-RPC 协议,一个 XML-RPC 消息就是一个请求体为 xml 的
http-post
请求,被调用的方法在服务器端执行并将执行结果以 xml
格式编码后返回,可以通过此协议,读写 blog 上的文章,如 CSDN,
WORDPRESS,新浪等都支持,利用它可以方便地开发 blog 的客户端。
3. 程序说明
MSN 网页解析
1234567891011121314151617181920212223242526272829303132333435363738394041 ...
android典型应用之访问网络
android 典型应用之访问网络
1. android 网络
android 访问网络需要设置权限,java 提供了很好的封装
2. 例程
功能
从网上下载文本文件,并使用 textview 控件显示其内容
可从此处下载可独立运行的代码
[http://download.csdn.net/source/2650779
](http://download.csdn.net/source/2650779)
权限
在 AndroidManifest.xml 中需要加入访问网络的权限
_ < _ _ uses-permission _ _ android:name ="
android.permission.INTERNET" / >
_
核心代码及说明
_ package com.android.mynet;
import android.app.Activity;
import android.os.Bundle;
import java.io.;
import java.net.;
import org.apache.http.util.ByteArrayBuf ...
android开机动画
android 开机动画
#移动开发 #Android
1. 介绍
android 开机画面由三部分组成,第一部分在 bootloader
启动时显示,第二部分在启动 kernel 时显示,第三部分在系统启动时(
bootanimation)显示(动画)
2. bootloader 开机图片
一般使用 rle 格式图片,不同的 android
系统不同此图片可能放在不同位置,以下实例均以 G1 为例,G1 放在
splash 分区中
制作 rle 格式开机图片
将图片转成 320x480,256 色,保存成不带 Alpha 通道的 png
格式
使用 convert 工具将 splash.png 转换成8位色的 splash.raw
convert splash.png -depth 8 rgb:splash.raw
确认 splash.raw 大小为 460800 字节
使用 android 工具 rgb2565 改变图像格式
out/host/linux-x86/bin/rgb2565 < splash.raw > splash.raw565
确认 splas ...
android的包管理
android 的包管理
#移动开发 #Android
1. 说明
包管理(Package
manager)非常重要,它关系着软件包的安装,卸载,查看和使用,它是运行在后台的一个服务,名叫
PackageManagerService,包括对软件包的解包,验证,安装等
2. 系统软件包管理信息存储在哪
/data/system/packages.xml
通过它可以看到系统安装的所有软件包,以及软件包的信息
3. 包管理相关源码在哪
frameworks/base/services/java/com/android/server/PackageManagerService.java
4. 系统自带的软件能升级吗(即安装在系统分区 system
中的包,如电话,短信) 可以升级,如果升级 /system/app
目录中的包,PackageManagerServer.java
对此情况进行处理,被升级的包出现
package.xml 的 updated-package 字段中,新的包信息会写在 package
字段中,卸载新包后,原包会恢复到
package 字段中。启动时新的包会优先地被启动 ...