
AndroidFAQ
annkie
混迹于移动互联网和手机行业。
展开
-
使用数组资源定义定制化参数
为了格式化一个来自数据库的表格的各种特殊属性,现采用数组资源进行配置,使用方法如下:1.在/res/values定义一个xml资源文件,命名可以随意2.内容如下: 编号 姓名 年龄 家庭地址 80 120 60 240 center原创 2012-05-29 16:56:08 · 707 阅读 · 0 评论 -
Android:计算剩余内存
public static long getInternalAvailableSpace() { long availableSpace = -1L; try { StatFs stat = new StatFs(Environment.getDataDirectory().getPath()); stat.restat(Environment.getDataDirect原创 2012-10-17 16:26:29 · 1795 阅读 · 0 评论 -
Android:Native C code打印android log
1.在.h文件增加://add android logcat#include 2.在android.mk文件增加:LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog 3.打印android logvoid androidLog(char* tag,char* msg){ __android_log_writ原创 2012-10-19 15:26:42 · 1479 阅读 · 0 评论 -
Android:Eclipse签名发布keytool 错误 java.io.IOException: incorrect AVA format
原因是:签名时名字中不能包含非法的","(逗号).原创 2012-10-22 11:08:02 · 3872 阅读 · 0 评论 -
Android:Failed to create BuildConfig class
解决方法:1. Project | Clean| Build Automatically2. 在目录中找到gen目录,手动删除(一般是没有写权限导致Failed),再执行第一步方案。原创 2012-10-22 11:59:03 · 11177 阅读 · 4 评论 -
Android:安装apk时提示:There is a problem parsing the package
提示该错误,除了检查代码是否正确外,还有一点需要关注,apk的路径是否正确,如果错误,会出现上述错误。原创 2012-11-03 16:55:07 · 15549 阅读 · 1 评论 -
Android:从assets资源目录下安装apk
为了实现将第三方apk内置在assets资源目录下,再进行安装的目的。首先将需要安装的apk复制到assets目录下,后缀名改为.mp3或其他免压缩的格式。测试代码如下:public class MainActivity extends Activity{ private static final String TAG = "ExtractIconFromApk";原创 2012-11-05 22:38:00 · 8048 阅读 · 0 评论 -
Android:如何启动外部应用程序?
Intent i = new Intent(Intent.ACTION_MAIN);PackageManager pm = getPackageManager();i = pm.getLaunchIntentForPackage("app package name");i.addCategory(Intent.CATEGORY_LAUNCHER);startActivity(i);原创 2012-11-06 21:53:05 · 3775 阅读 · 0 评论 -
Android:如何设计一个完全不可见的Activity?
通过添加theme实现:android:theme="@android:style/Theme.NoDisplay"<activity android:name=".MainActivity" android:theme="@android:style/Theme.NoDisplay" android:label=原创 2012-11-06 22:19:35 · 4285 阅读 · 0 评论 -
Android:No implementation found for native
解决方法:1.检查native c code的定义:JNIEXPORT void Java_com_example_something_MyClass_getMyString(JNIEnv * env, jobject obj) {其中:com_example_something为 package名的分解,MyClass为调用该.so的class2.检查是否.so是否被加载到系原创 2012-11-29 15:43:17 · 15715 阅读 · 0 评论 -
Android:Call requires API level 16 (current min is 8): android.app.xxx
一个正常的代码出现这个错误提示:解决方法:在工程上右键 Android Tools | Clear Lint Markers原创 2012-12-20 10:35:12 · 6734 阅读 · 1 评论 -
Android:创建打开数据库失败
使用以下代码创建和打开数据库失败:mDatabase = SQLiteDatabase.openDatabase(mDatabaseFilePath, null, DBFLAG);SQLiteDatabase.openOrCreateDatabase(path, factory);提示错误:10-15 09:47:58.905: I/Database(507): s原创 2012-10-16 09:20:49 · 8626 阅读 · 1 评论 -
Android:getWritableDatabase/getReadableDatabase无法调用onCreate
主要原因是:当调用getWritableDatabase/getReadableDatabase时,onCreate只有在数据库第一次创建时调用,如果数据库存在,则直接返回相应的引用。参考官方说明:http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#onCreate(a原创 2012-09-24 13:39:54 · 3496 阅读 · 0 评论 -
Android:删除预装应用
1.开启手机设置菜单下的USB调试功能(设定->应用程序->开发->USB调试 勾选)2.连接手机和PC(windows下需要先安装手机驱动)3.PC中进入adb所在目录(在sdk的platform-tools下)4.adb devices 查看手机和PC是否正常链接,如果正常可以看到设备序号 第一次命令可能失败,会重新初始化一个adb server,再次输入adb命令正常。原创 2012-08-22 11:53:42 · 1903 阅读 · 0 评论 -
Android:安装APK包以后系统文件目录的变化
安装apk软件相关源代码:\frameworks\base\core\java\android\app\ActivityManager.java(RunningAppProcessInfo) 通过DDMS也可以查看文件系统内容。1.通过adb install xxx.apk后,默认安装在/data下 (预置的apk在/system下,默认获得System权限)2.adb remou原创 2012-08-24 15:50:44 · 3884 阅读 · 0 评论 -
Android: 模拟器system分区没有可用空间的问题
情景:想推送一个程序到 /system/bin下面1. ./Android启动模拟器以后2. ./adb remount ./adb push salemanagerd /system/bin/返回错误消息:failed to copy 'salemanagerd' to '/system/bin//salemanagerd': Out of memory赶原创 2012-09-05 14:45:12 · 2858 阅读 · 0 评论 -
Android FAQ
Q:R.java 资源无法自动刷新A:将Project菜单下的Build Automatically选上。删除 main.out.xml,AndroidManifest.out.xml等中间文件.Q: main.xml无法编译通过(语法无问题)A:1) 可能在编辑器中打开了main.out.xml,导致编译无法重新生成main.out.xml出错.2) 直接Run了main.x原创 2012-05-21 10:55:52 · 1471 阅读 · 0 评论 -
Android:CREATE TABLE android_metadata failed错误解决方法
出现以上提示或 : No such table android_metadata提示 myDB = SQLiteDatabase.openDatabase(stPathToDB, null, SQLiteDatabase.NO_LOCALIZED_COLLATORS|SQLiteDatabase.OPEN_READONLY);加上 SQLiteDatabase.原创 2012-09-27 15:39:08 · 6681 阅读 · 0 评论 -
Android:Calling startActivity() from outside of an Activity context错误
出现提示:Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?可能在一个Service中启动一个Acitivity:加上 FLAG_ACTIVITY_NEW_TASKStr原创 2012-09-27 15:45:20 · 5808 阅读 · 0 评论 -
Android:监听WIFI网络状态
//注册一个广播接收器,监听网络状态 private void registerConnectionReceiver() { IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); mConnectionReceiver = new ConnectionChangeReceiver原创 2012-09-17 15:39:13 · 3550 阅读 · 0 评论 -
Android:应用程序转移到USB存储器(SD卡)
通过设定-->应用程序查看,有些应用程序会出现“应用程序转移到USB存储器”的按钮,这是怎么做到的呢?只要配置一下androidmanifest.xml即可:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andy.androidtest" android原创 2012-09-18 10:15:39 · 5297 阅读 · 0 评论 -
Android:SQLite无法update/insert/delete数据(数据库被locked)
//在频繁范围数据库进行读写操作后,会发生增删改数据都无效的问题,查询一般正常。 mDatabase.beginTransaction(); try { Log.v(TAG,"locked:"+mDatabase.isDbLockedByCurrentThread());//true //Log.v(TAG,"locked2:"+mDa原创 2012-10-12 11:54:43 · 7292 阅读 · 0 评论 -
android.os.NetworkOnMainThreadException异常
new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub httptest(); } }).run();原创 2014-05-31 18:50:01 · 1097 阅读 · 0 评论