android
文章平均质量分 62
beihai1212
在上海呆了7年,做过5年的技术管理。擅长移动化产品+项目解决方案。技术领域懂得:asp.net,javaEE,android,ios,php,web前端等技术。目前一直在积累和学习。坚持做有积累的事情,当重复和积累达到一定程度时候就会发生质变。
展开
-
Android2.2实现后台静默安装apk(转)
最近做了一个项目,需要实现终端无人操守自动升级,但发现android2.2中对之前的安装类都隐藏了。无奈之下去网上找资料,经过不懈的努力终于搞定了。首先要解决的问题是如何调用已经隐藏的API、解决办法是:编译源码后会在out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\下生成一个classes.jar的文件。把它加到项目转载 2013-04-10 14:16:22 · 383 阅读 · 0 评论 -
Linux下安装JDK1.5
Linux下安装程序一直以来都是比较麻烦的。下面就简单介绍一下Linux下安装JDK1.5的步骤。1.从sun公司的官网上下载需要安装的jdk (jdk-1_5_0-linux-i586-rpm.bin)2.记住使用root用户进行安装。3.进入安装程序的目录,给所有用户添加可执行的权限#chmod +x jdk-1_5_0-linux-i586-rpm.bin#./jdk-原创 2013-04-09 16:11:26 · 418 阅读 · 0 评论 -
Android 2.2 源码结构分析
Android 2.2 源码结构分析Android 2.2 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts原创 2013-04-08 17:22:15 · 284 阅读 · 0 评论 -
android中读取短信
package asset.www;import android.app.Activity;import android.content.ContentValues;import android.database.ContentObserver;import android.database.Cursor;import android.database.sqlite.SQLit转载 2013-03-25 10:35:21 · 312 阅读 · 0 评论 -
unbutu下安装repo并下载源码
1.安装gitsudo apt-get install git-core2.安装curlsudo apt-get install git-core curl3.安装repo, 通过curl下载repo Make sure you have a bin/ directory in your home directory, and that it i转载 2013-04-08 14:20:36 · 305 阅读 · 0 评论 -
android2.2源码下载遇到的问题
同步Android代码时遇到错误:fatal: empty ident not allowed是你没有正确设置电子邮箱和用户名wyp@ubuntu:~/android_source$ repo init -u https://android.googlesource.com/platform/manifestTraceback (most recent call las原创 2013-04-07 16:58:40 · 429 阅读 · 0 评论 -
Oracle VM VirtualBox做好虚拟硬盘后,如何进一步更改虚拟硬盘的大小 .
以管理员身份打开, 命令提示符窗口,然后利用命令cd进入Oracle VM VirtualBox安装目录,如下图:我进入了Oracle VM VirtualBox安装目录:D:\Program Files\Oracle\VirtualBox,然后输入VBoxManage list hdds,回车,查看需要扩容的虚拟硬盘的UUID,然后输入输入命令:VBoxManage modifyhd b转载 2013-04-07 16:55:03 · 440 阅读 · 0 评论 -
Android下的来电管理——调用隐藏的API .
感觉下面这种方法不科学,目前我不是使用这种方式接听和拒绝的。Android 的API里没有直接提供方法可以接听电话,其实接听电话、拨打电话这些通信方面的功能在最底层是通过发送AT 指令实现,发送AT指令要打开linux系统/dev/目录下的某个AT口设备文件,不同的手机和不同的固件,这个文件名都不相同,所以用这种底层的方法实现比较麻烦(涉及到linux系统编程和通信转载 2013-03-22 14:39:10 · 442 阅读 · 1 评论 -
ProGuard的作用
1.创建紧凑的代码文档是为了更快的网络传输,快速装载和更小的内存占用. 2.创建的程序和程序库很难使用反向工程. 3.所以它能删除来自源文件中的没有调用的代码 4.充分利用java6的快速加载的优点来提前检测和返回java6中存在的类文件. 参数: -include {filename} 从给定的文件中读取配置参数 -basedirectory {dire原创 2013-04-03 18:47:39 · 371 阅读 · 0 评论 -
解决android导入多个第三方jar包后项目代码混淆的问题 .
1、android2.3版本以下的,保证项目中有proguard.cfg和project.properties两个文件,如果没有可以自行创建一个2.3或以上版本的项目,从中copy出来一份2、在文件project.properties文件中添加 proguard.config=proguard.cfg3、在proguard.cfg文件中下面几行的后面添加 -dontwarn,为了不混淆转载 2013-04-03 18:43:09 · 679 阅读 · 0 评论 -
android使用gson的奇怪问题--missing type parameter .
程序中用到了gson的new typeToken,结果打包成apk发布时,发现抛出异常,但不通过打包apk时发现一切正常,百思不得其解,最初怀疑没有将gson-1.7.1.JAR打包进去,后来经过测试发现gson的其他方法经过打包也能正常运行,最后上网找了2天,终于在google gson论坛中找到了解决方法。第一种:在 proguard.cfg中添加-dontobfuscate -d转载 2013-04-03 18:43:41 · 805 阅读 · 2 评论 -
JAVA和Android的JNI的使用
JNI是Java Native Interface的缩写. 设计目的是:标准JAVA库不支持一些平台特性,你可以用别的语言,编写代码使得你的软件支持这些平台特性,也可能你的程序需要用低级语言编写一些算法以提高程序的效率.这些情况都可能是你使用JNI的原因. JNI的编写步骤: 1.编写带有native 声明的java类. 2.编译java文件成class类 3.使用j转载 2013-04-03 09:30:16 · 314 阅读 · 0 评论 -
java编译成so库文件(转)
一: 编译语句 gcj -fpic -shared -o libSoDemo.so SoDemo.java二: 在环境变量设置:修改/etc下的profile文件加入这两句: LD_LIBRARY_PATH=libname.so的位置 export LD_LIBRARY_PATH 或者直接放在%JAVA_HOME%/jre/lib/i386/下面。 或者直接输入ex转载 2013-04-02 17:21:28 · 795 阅读 · 0 评论 -
Android程序进行混淆,在导出签名apk包时出错! .
今天终于完成了近一个月的App开发工作,对程序进行混淆导出签名apk包时,却出现了如下的错误:Proguard returned with error code 1. See consoleNote: there were 4 duplicate class definitions.Warning: library class android.content.res.XmlResour转载 2013-04-03 15:42:16 · 398 阅读 · 0 评论 -
Windows下NDK开发环境的搭建(Cygwin+Android-SDK+NDK)
一:什么是NDK?NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK 集成了交叉编译器,并提供了相应的mk 文件隔离CPU、平台、ABI 等差异,开发人员只需要简单修改mk 文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK 可以自动地将so 和Java转载 2013-04-03 10:08:55 · 333 阅读 · 0 评论 -
jocky配置使用
1、下载jocky,解压后把整个文件夹复制到Eclipse的plugin目录。2、重启Eclipse,在项目上点右键,如果出现jocky菜单,则安装成功。3、在项目上点右键,选菜单jocky->jocky setting,弹出菜单后设置如图4、点ok后,将在项目的根目录下生成一个jocky_build.xml文件,事实上是一个ant build文件。打开这个文件,作适当修改转载 2013-03-20 10:38:32 · 362 阅读 · 0 评论 -
Android中使用隐藏API(大量图解) ,Library创建和jar导入
Android SDK的很多API是隐藏的,我无法直接使用。但是我们通过编译Android系统源码可以得到完整的API。编译Android系统源码后可以在out\target\common\obj\JAVA_LIBRARIES目录可以看到它的所有API。当然对于一般情况,out\target\common\obj\JAVA_LIBRARIES\framework_intermediates转载 2013-04-10 14:19:58 · 892 阅读 · 0 评论 -
在导入classes.jar过程中,有可能会出现两个问题
在导入classes.jar过程中,有可能会出现两个问题(我是使用eclipse开发环境的,所以仅对此环境会遇到的问题进行说明)。 问题一是按导入其他jar的方式导入此jar库,发现编译很慢,有时甚至无法编译成功,eclipse崩溃或者提示“java.lang.OutOfMemoryError: Java Heap Space”错误。这个问题,可能是由于jar太大的原因吧,网上说原创 2013-04-10 14:24:09 · 484 阅读 · 0 评论 -
android编译系统makefile(Android.mk)写法
android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Andro转载 2013-04-10 16:54:00 · 320 阅读 · 0 评论 -
一个好的App架构应该包括什么?
一个好的App架构应该包括什么?之前,我对代码架构、规范非常重视,所以我的App中,包括Android、WP7、iOS,都有基类,都有统一的ProgressBar、导航机制,封装了网络底层,后来按照老板的意见,又添加了API的数据缓存和图片缓存机制。但是这远远不够。 1)安全性。需要RSA和DES一起发力,在MobileAPI和APP这两个层面需要配合。2)API速转载 2014-05-28 09:30:27 · 567 阅读 · 0 评论 -
Android中dp和px之间进行转换
在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。以下是一个应用类,方便进行px和dp之间的转换。转载 2013-11-01 14:04:58 · 324 阅读 · 0 评论 -
Android 完美的隐藏软键盘方法
最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘。这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易。刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: public class HomeActivity extends Activity {转载 2013-10-23 17:33:39 · 529 阅读 · 2 评论 -
取得当前日期一周之前/之后的日期,或者是一月之前/之后的日期
1. 需求取得当前时间前一周的时间。比如说:今天是2009-4-23,运行结果则为:2009-4-16。代码:一般人肯定会这样写:String lastModified = new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date((new java.util.Date().getTime(转载 2013-10-25 10:59:34 · 568 阅读 · 0 评论 -
TextView加载带图片的Html解决方案
查看了下网上关于TextView加载带图片标签的Html解决方案若干,发现很多都是讲下面这种:1:重写ImageGetter,直接获取网络图片(这是比较通用的做法,但是遇到大图片或者网络不好的情况下,会阻塞主进程)[java] view plaincopyprint?ImageGetter imgGetter = new Html.Image转载 2013-08-11 10:33:37 · 766 阅读 · 0 评论 -
SVN服务器搭建和使用(三)
svn目录创建仓库的一级目录只有两个,分别为code/project和doc。其中,doc主要用来放置先期的文档,code主要用来放置工程的代码,也可以包含后期的文档。仓库的二级目录只可以是branch与trunk两个目录,分别存放主干与分支。trunk目录下直接存放工程文件。branch目录下包括一些子目录分别对应各个分支。原创 2013-05-23 13:13:44 · 318 阅读 · 0 评论 -
SVN服务器搭建和使用(二)
上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用.首先打开VisualSVN Server Manager,如图:可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Reposito原创 2013-05-23 13:11:47 · 278 阅读 · 0 评论 -
SVN服务器搭建和使用(一)
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.首先来下载和搭建SVN服务器.现在Subversion已经迁移到apache网站上了,下载地址:http://subversion.apache.org/packages.html这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,文档的下载地址.windows操作系统原创 2013-05-23 13:10:38 · 282 阅读 · 0 评论 -
Android-----SharePreference
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences转载 2013-04-26 09:44:19 · 354 阅读 · 0 评论 -
android将网络连接强制修改为cmwap
import java.lang.reflect.Method;import android.content.ContentResolver;import android.content.ContentValues;import android.content.Context;import android.content.Intent;import android.databa原创 2013-04-16 17:55:21 · 946 阅读 · 4 评论 -
[无线] 让Android支持cmwap上网 .
在有中国特色的 GPRS 接入方式背景下,时至今日,我们仍然不得不考虑 cmwap 用户上网的问题;虽然我们暂时找不到关于统计cmwap用户的确切使用比例,但是可以确定的是一些做的比较好的 Android 手机应用绝对不会出现换了 cmwap 就无法网络通信的问题,要解决这个问题其实很简单,考虑两个步骤:1、检测用户手机的设置是否打开了 cmwap。2、使用 Android HttpClient转载 2013-04-16 17:52:18 · 396 阅读 · 0 评论 -
Ubuntu 中安装低版本的gcc/g++
程序经常因为本机的Gcc版本过高,需要这样那样的修改,烦的很! 索性直接降级gcc和g++, 而且可以很容易切换。ubuntu 12.04 中带的Gcc/G++都是4.6了,我们把系统默认的降级到4.4$sudo apt-get install gcc-4.4$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bi原创 2013-04-16 09:47:58 · 1109 阅读 · 0 评论 -
ubuntu 8.10 下修改g++版本
先看看ubuntu里到底安装了哪些gcc或g++版本。命令:-desktop:$ ls /usr/bin/g* -l在usr的bin目录下,这里查看了以g开头的文件,显示输出:lrwxrwxrwx 1 root root 16 2009-03-23 21:31 /usr/bin/g++ -> /usr/bin/g++-3.4-rwxr-xr-x 1 root r转载 2013-04-15 17:53:20 · 529 阅读 · 0 评论 -
uinux下配置jdk环境变量
1.在主文件夹下面找到.profile文件,用编辑器打开2.打开后在最後面加上这段代码,注意jdk路径要改成自己存放jdkJAVA_HOME=/home/bb/jdk1.5/linux_jdk1.5/jdk1.5.0_22PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.j原创 2013-04-09 17:28:06 · 345 阅读 · 0 评论 -
Android常用URI收藏
以下是常用到的Intent的URI及其示例,包含了大部分应用中用到的共用Intent一、打开一个网页,类别是Intent.ACTION_VIEW?12Uri uri = Uri.parse("http://www.android-study.com/");Intent intent = new Intent(Intent.ACTI转载 2013-03-20 11:49:57 · 312 阅读 · 0 评论 -
android中两种方式打开网页
一.你要打开一个网页你可以自己写一个webview,在自己的程序中就可以打开.wv = (WebView) findViewById(R.id.webView1);wv.getSettings().setJavaScriptEnabled(true);wv.setScrollBarStyle(0);WebSettings webSettings = wv.getSettings转载 2013-03-20 11:52:59 · 372 阅读 · 0 评论 -
activity的外部实时刷新问题
很多人看到这个问题就会想到不就是用ContentObserver吗但ContentObserver并没想象的那么好,因为还没做到精确到某一列 某一行的数据所以会出现界面的频繁刷新,或者是频繁的判断改变数据的内容。用application域和类似反向控制的做法就可以很好的解决这个问题application类view plainpublic class App转载 2012-11-16 18:26:02 · 342 阅读 · 0 评论 -
android listView 子控件事件错行处理
package com.tailan.moms.adapter;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util原创 2012-11-16 14:42:18 · 1161 阅读 · 0 评论 -
android 对文件进行添加、删除、更改文件名 .
/* * 文件资源管理器再进化 * 对文件进行添加、更改文件名、删除 * 程序中以自定义的MyAdapter来设置显示数据传入存储文件名与 * 文件路径的两个List对象,使用setListAdapter()将数据设置给 * ListView。当用户单机item时,时会触犯onListItemClick(), * 此时程序会判断item是文件夹还是文件,是文件夹的话,就展开转载 2012-11-15 16:03:45 · 7393 阅读 · 1 评论 -
android 录像,摄影自定义保存的文件名称
public class TestActivity extends Activity { public static final int NONE = 0; public static final int REQUEST_CODE_TAKE_VIDEO = 4;// 摄像的照相的 /** Called when the activity is first原创 2012-11-15 16:10:33 · 1198 阅读 · 0 评论 -
Android图片二进制与Bitmap、Drawable之间的转换
public byte[] getBitmapByte(Bitmap bitmap){ ByteArrayOutputStream out = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out); try { ou原创 2012-11-26 17:46:51 · 927 阅读 · 0 评论